Developer

【初心者Unity】複数のカメラの使い方(複数カメラ表示・カメラ切り替え)
2021.07.31
Lv1

【初心者Unity】複数のカメラの使い方(複数カメラ表示・カメラ切り替え)

1.はじめに


本記事では複数のカメラの取り扱い方法について、具体的には、
・複数のカメラ(視点)を同時に表示する方法
・他のカメラ(視点)に切り替える方法
について解説していきます。

目標:

複数のカメラ(視点)を同時に表示

Spaceキーを押すと他のカメラ(視点)に切り替わる

2.設定


■複数のカメラ(視点)を同時に表示

まずはデフォルトで存在するMain Cameraに追加して、Sub Cameraを作成しましょう。
今回は分かりやすくするために、Main Cameraと対になる位置に設置します。
(オブジェクトの前後関係を見えやすくするため、本来の位置・角度から少し変更しています。)

今回の設定のキモとなるのは、CameraコンポーネントのViewport Rectという項目です。
それを以下のように設定します。

Main Camera

Sub Camera

以上で設定は完了です。
Gameビューを見てみると画面が分割されていることが確認できます。

■他のカメラ(視点)に切り替える

※上で行ったViewport Rectの設定は元に戻してください。

シーン内の任意のオブジェクトに以下のスクリプトを設定します。

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class CameraManager : MonoBehaviour
{
    public GameObject mainCamera;
    public GameObject subCamera;
    void Start()
    {
        // 各カメラオブジェクトを取得
        mainCamera = GameObject.Find("Main Camera");
        subCamera = GameObject.Find("Sub Camera");
        
        // サブカメラはデフォルトで無効にしておく
        subCamera.SetActive(false);
    }

    void Update()
    {
        // もしSpaceキーが押されたならば、
        if (Input.GetKeyDown(KeyCode.Space))
        {
            // 各カメラオブジェクトの有効フラグを逆転(true→false,false→true)させる
            mainCamera.SetActive(!mainCamera.activeSelf);
            subCamera.SetActive(!subCamera.activeSelf);
        }
    }
}

以上で設定は完了です。
ゲームを開始するとSpaceキーでカメラが切り替わるのが確認できます。

 
 

連載目次リンク

「初心者のための」Unityゲーム制作 目次
 

Unity実践編 - 目次リンク

実践Unityゲームプログラミング 連載目次