カメラ
カメラのテクニック

複数のカメラを使用する

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 値のカメラの上にレンダリングされます

カメラ
カメラのテクニック