本来やりたかったこととは違うのですが...副産物としてメモしておきます (あとからいい感じにしたものを再度編集しなおす可能性があります :キャラアニメション・カメラの角度等)
Demo
cameraの設置
下の画像で3つのカメラを設定しています.
カメラは Priority
の高いものから移されます.
初めに移すものを高く設定します.
cameraの切り替えを特定の場所で切り替える.
以下の赤丸で囲ってるところにColliderを置いて,Triggerで切り替えるようにします.
移動しているキャラクターに以下のスクリプトをアタッチして,Colliderにあったときに現在のカメラをOffにします.
using System.Collections.Generic; using Cinemachine; using UnityEngine; public class CameraController : MonoBehaviour { [SerializeField] private List<CinemachineVirtualCamera> vCameras; private int _currentCameraNumber = 0; // Start is called before the first frame update private void OnTriggerEnter(Collider other) { if (!other.gameObject.CompareTag("CameraSwitch/To2Camera") && !other.gameObject.CompareTag("CameraSwitch/To3Camera")) return; vCameras[_currentCameraNumber].gameObject.SetActive(false); _currentCameraNumber++; other.gameObject.SetActive(false); } }