(Unity)バックミラーの作り方

バックミラーを作成する方法

まずはバックミラー用のオブジェクトを「Quad」で作成する。

・名前を「BackMirror」に変更

メインカメラで見ながら、バックミラーの「大きさ」「位置」を決める(自由)

・大きさと位置が決まったら「Playerの子供に設定」する。

*次に、カメラの画像をレンダリングするテクスチャを作成します。

「Assets」エリアで右クリック→「Create」→「Render Texture」を作成

・名前を「BackMirror」に変更

「BackMirror」テクスチャを「BackMirror」オブジェクトにドラッグ&ドロップ

(*自動的に「Materials」フォルダの中に「BackMirror」マテリアルが作成されたのを確認しましょう。)

*次に、バックミラー用のカメラを作成します。

・「Hierarchy」で新規に「Camera」を1つ作成

・名前を「BackMirrorCam」に変更

「BackMirrorCam」の「Position」は「BackMirror」オブジェクトと「同じ」にする。

「BackMirrorCam」の「RotationのY」は「180」とする。(これでプレーヤーの後ろを映すようになります。)

「BackMirrorCam」を選択

・「Target Texture」の空欄に「BackMirror」テクスチャをドラッグ&ドロップする。

*これで、BackMirrorCamの画像が、バックミラーに映るようになります。

「BackMirrorCam」もPlayerの子供に設定しましょう。

*「バックミラーの影」は不要なので、これを無くします。

・「BackMirror」オブジェクトを選択→「Cast Shadows」を「Off」にする。

*これで影が消えます。

*現状では、バックミラー内の画像は「左右が逆」に映っています。

*また、プレーヤーが移動すると、光源の当たり方によって、ミラー内の画像が暗くなる場合があります。

*これを解消します。

・「BackMirror」オブジェクトを選択→「ScaleのXを−1」にする。

*これで左右が反転します。

・「Materials」フォルダの中にある「BackMirror」マテリアルを選択→「Shader」をクリック

→「Unit」を選択→「Texture」を選択してクリック

*これで暗くなるのを防ぐことができます。

*最後に、ミラー内に「自分(プレーヤー)」の画像が写り込まないようにします。

・「Player」オブジェクトを選択→「Layer」の「Default」をクリック

・「Add Layer」をクリック

・「Layers」を展開して、新規に「Player」を登録

・再び「Player」オブジェクトを選択→「Layer」をクリック→「Player」をクリック

・親子関係全部のLayerを変更してよいか聞かれるので、Yes…を押す。

・「BackMirrorCam」を選択→「Camera」コンポーネントの中にある「Culling Mask」をクリック

→「Player」の選択を外す

*これで、バックミラーカメラにはプレーヤーが描写されなくなります。

*プレーヤーが映っていないのを確認しましょう。

これでバックミラーの完成です。