この記事には広告を含む場合があります。
記事内で紹介する商品を購入することで、当サイトに売り上げの一部が還元されることがあります。
カメラを2つ設定する
Unityでアプリを作成しているとカメラを分割したいことがあるはず。
キャラクターを中心に前と後ろを表示したり、複数の視点を同時に表示したりと用途は多いです。そこで今回はカメラを縦または横に2分割して表示する方法をご紹介します。
カメラの分割方法
空のオブジェクトの下に分割したいカメラオブジェクト「MainCamera」と「SubCamera」を追加します。親となる空オブジェクトには「CameraController.cs」を追加して、カメラの分割設定「mode」と表示するカメラ「MainCamera」と「SubCamera」を設定します。
「MainCamera」はキャラクターの正面から、「SubCamera」はキャラクターの横から映しています。
サンプルプログラム
各カメラを設定する「CameraController.cs」のプログラムです。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
using UnityEngine; using System.Collections; public class CameraController : MonoBehaviour { // カメラの分割方法 public enum SplitCameraMode { horizontal, vertical }; public SplitCameraMode mode; // カメラの分割方法 // 分割するそれぞれのカメラ public Camera MainCamera; public Camera SubCamera; // Use this for initialization void Start () { // 横分割 if (mode == SplitCameraMode.horizontal) { // カメラのViewPortRectの変更 MainCamera.rect = new Rect (0f, 0f, 0.5f, 1f); SubCamera.rect = new Rect (0.5f, 0f, 0.5f, 1f); // 縦分割 } else if (mode == SplitCameraMode.vertical) { // カメラのViewPortRectの変更 MainCamera.rect = new Rect (0f, 0.5f, 1f, 0.5f); SubCamera.rect = new Rect (0f, 0f, 1f, 0.5f); } } } |
サンプルプログラムの出力結果