カメラスタックには、1 つのベースカメラと、その上にスタックされた 1 つ以上のオーバーレイカメラが含まれています。エディターで、これらのカメラを好きなだけ追加、削除、並べ替えして、思い通りの効果を実現できます。
このページは以下のセクションに分かれています。
カメラスタックにカメラを追加するには、以下のステップに従います。
オーバーレイカメラがベースカメラのカメラスタックに加わりました。Unity は、オーバーレイカメラの出力をベースカメラの出力の上にレンダリングします。
ノート:カメラスタックに複数のカメラを作成する場合は、それらのカメラがすべて必要かどうかを検討してください。カメラを追加するたびにレンダリングが遅くなります。アクティブなカメラは、何もレンダリングしなくてもレンダリングループ全体を実行するからです。
C# スクリプトを使用してカメラスタックにカメラを追加することもできます。以下のように、ベースカメラの Universal Additional Camera Data コンポーネントの cameraStack プロパティを使用します。
var cameraData = camera.GetUniversalAdditionalCameraData();
cameraData.cameraStack.Add(myOverlayCamera);
カメラスタックからカメラを削除するには、以下のステップに従います。
オーバーレイカメラはシーンに残りますが、カメラスタックには含まれなくなります。
C# スクリプトを使用してカメラスタックからカメラを削除することもできます。以下のように、ベースカメラの Universal Additional Camera Data コンポーネントの cameraStack プロパティを使用します。
var cameraData = camera.GetUniversalAdditionalCameraData();
cameraData.cameraStack.Remove(myOverlayCamera);
カメラスタック内のカメラを並べ替えるには、以下のステップに従います。
ベースカメラはカメラスタックのベースレイヤーをレンダリングします。スタック内のオーバーレイカメラは、リストされている順に (上から順に)、ベースレイヤーの上にレンダリングします。
C# スクリプトを使用してカメラスタックを並べ替えることもできます。ベースカメラの Universal Additional Camera Data コンポーネントの cameraStack プロパティを使用します。cameraStack は List であり、他の List と同じ方法で並べ替えることができます。