Unity で作成するシーンのカメラは 1 つに設定されています。ほとんどの状況ではカメラは 1 つで十分です。ただし、シーンには任意の数のカメラを設定することができ、以下のようにさまざまな方法でビューを組み合わせることができます。
デフォルトでは、カメラビューは画面全体を覆うようにレンダリングされるため、一度に 1 つのカメラビューしか表示できません (表示されるカメラは、depth プロパティの値が最も高いカメラです)。スクリプトで、あるカメラを無効にして別のカメラを有効にすると、別のカメラに “カット” が切り替わり、シーンのさまざまなビューを表示できます。例えば、上から見たマップビューと一人称視点を切り替える場合などにこれを使用します。
using UnityEngine;
public class ExampleScript : MonoBehaviour {
public Camera firstPersonCamera;
public Camera overheadCamera;
// Call this function to disable FPS camera,
// and enable overhead camera.
public void ShowOverheadView() {
firstPersonCamera.enabled = false;
overheadCamera.enabled = true;
}
// Call this function to enable FPS camera,
// and disable overhead camera.
public void ShowFirstPersonView() {
firstPersonCamera.enabled = true;
overheadCamera.enabled = false;
}
}
通常 (デフォルト設定では)、少なくとも 1 つのカメラビューが画面全体を覆いますが、画面内の一部の小さな領域に別のビューを表示すると役に立つことがあります。例えば、ドライビングゲーム内でバックミラーを表示したり、メインのビューに一人称視点の画面を表示しながら上から見たミニマップを画面端に表示したりできます。画面上でのカメラビューの大きさは、Viewport Rect プロパティを使用して設定できます。
ビューポートの矩形は画面に対して “正規化” されます。左下のエッジの座標が 0.0、右上のエッジが 1.0 になります。値 0.5 がその中間です。ビューポートの大きさを設定するだけでなく、小画面用カメラの depth プロパティ値を背景のカメラよりも高く設定する必要があります。正確な値は重要ではありませんが、深度の値が低いカメラの上に深度の値が高いカメラのビューがレンダリングされます