はじめに
UnityのChinemachineモジュールを使って3Dのゲームを作成しています。
UIを手前に表示することを手間取ったので、メモを残しておきます。
条件
- UIを描画するCanvasのRenderModeは
Screen Space - Camera
にしたい - UIを描画するカメラもプレイヤーを追随するようにしたい
方針
プレイヤーを描画するカメラとUIを描画するカメラを分けて、どちらも同じ動きをするようにする。
手順
BaseとなるカメラとVirtualCameraを作成する
Main CameraにCinemachineBrain
コンポーネントをアタッチします。
次に適当なオブジェクトにCinemachineVirtualCamera
をアタッチし、Follow->Look Atにカメラに映したいオブジェクトを設定します。
以下の記事に詳しい手順が書いてあります。
UIを描画するためのカメラを作成する
シーン上に新しくCameraを作成し、CinemachineBrain
をアタッチします。
Render Type を Overlay
にします。
InspectorのLayerをクリックし、Add Layer...
からUI
を作成します。
Rendering -> Culling Mask を UI
に設定します。
また、Rendering -> Post Processing はオフにしておきます。
UIを描画するカメラのVirtualCameraを作成する
Baseカメラを作成した際に作成した、VirtualCameraをコピー&ペーストして、LayerをUI
に変更します。
(今回VirtualCameraはプレイヤーのプレハブの子として作成しました。)
BaseカメラのStackにUIカメラを設定する
参考記事