Unity6(6000.0.32f1)でバーチャルカメラを使おうとしました。カメラが特定のキャラクタの動きを追うとか、複数のカメラを切り替えながら使うとか、いわゆる「カメラワーク」を簡単に実現できるようになります。Unityの前のバージョンで初めて使ってみて便利だったので今回も……ということです。そうしたら、何だか前の時とあちこち違っています。よくありますよね。最初に「アレ?」と思ったのがそもそも「Virtual Camera」がない、ということ。「Cinemachine Camera」に変わったような……(?)。使えれば何でもいいんですが。
バーチャルカメラ(Cinemachine Camera)を使うにはCinemachineというパッケージが必要です。Window-PackageManager - Unity Registryの中のCinemachineをインストール(Installボタンがある)します。するとプロジェクトのヒエラルキーでバーチャルカメラを追加できるようになります。Cinemachine - Cinemachine Cameraと選べばOKです。このあと、追加したバーチャルカメラのインスペクタでTracking Target に追跡したいターゲットを、Cinemachine Follow の中のFollow Offset にカメラの相対位置(ターゲットから(-10, 3, 20)の位置、とか)を入れば終わりです(カメラがターゲットを追跡するようになる)。複数のバーチャルカメラを使うことも可能です。その際には各カメラにpriority(優先順位)をセットして切り替えることになります。
バーチャルカメラについてはいくつか記事を書いています。ご覧ください。
追記:
以下、goCameraはバーチャルカメラのゲームオブジェクトです。前は
goCamera.GetComponent<CinemachineVirtualCamera>().Priority = 10;
でそのカメラの優先度が10になったのですが、このコードはエディタで「非推奨」と表示されます。
goCamera.GetComponent<CinemachineCamera>().Priority = 10;
がよいみたいです。要するに「バーチャルカメラ」という用語自体をもうなくしたい、ということでしょうか……。