Unity でシーンを作成すると、最初にカメラが 1 つ含まれています。ほとんどの場合、それだけで十分です。ですが、シーン内に好きなだけカメラを持つこともできます。それらカメラの視野は以下で説明するように、さまざまな方法で組み合わせることができます。
デフォルトでは、1 つのカメラがそのビューを描画すると、画面全体が覆われます。つまり、1 度に映せるカメラのビューは 1 つだけです ( Depth プロパティーで最も高い値を持つカメラのビューが描画されます)。スクリプトであるカメラをオフにして他のカメラをオンにすることで、カメラから別のカメラへシーンビューの「切り替え」ができます。例えば、上方からのマップのビューと一人称視点のビューを切り替えることができます。
using UnityEngine;
using System.Collections;
public class ExampleScript : MonoBehaviour {
public Camera firstPersonCamera;
public Camera overheadCamera;
public void ShowOverheadView() {
firstPersonCamera.enabled = false;
overheadCamera.enabled = true;
}
public void ShowFirstPersonView() {
firstPersonCamera.enabled = true;
overheadCamera.enabled = false;
}
}
C# の例
var firstPersonCamera: Camera;
var overheadCamera: Camera;
function ShowOverheadView() {
firstPersonCamera.enabled = false;
overheadCamera.enabled = true;
}
function ShowFirstPersonView() {
firstPersonCamera.enabled = true;
overheadCamera.enabled = false;
}
Javascript の例
通常 (デフォルト設定では)、少なくとも 1 つのカメラビューが画面全体を覆いますが、画面内の一部の小さな領域で別のビューを表示することが役に立つことがあります。例えば、主要なビューは一人称視点の画面を表示する一方、ドライビングゲーム内でバックミラーを表示したり、上方からのミニマップを画面端に表示することができます。Viewport Rect プロパティーを使用して、画面上でのカメラビューの大きさを設定することができます。
ビューポートの座標は画面に対して「正規化」されます。左下の角が 0.0 座標、右上の角が1.0 になります。0.5 の値がその中間です。ビューポートサイズに加えて、小画面用カメラの Depth プロパティー値は、背景のカメラよりも高く設定すべきです。正確な値は重要ではありませんが、より高い Depth 値を持つカメラは、低い Depth 値のカメラの上に重ねて描画されます