はじめに
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カメラを設定する
参考記事


