Unity++blog.

UnityやC#とかについて学習したことを書いてます

Cinemachineを使ってキャラクターのアニメーションの状態によってカメラを切り替える

Cinemachineを使ってキャラクターのアニメーションの状態によってカメラを切り替える記事です。

 

これはCinemachineのState-Driven Cameraで実装することができます。

f:id:nabesi777:20181201130033p:plain

 

これを選択するとStateDriven Cameraとバーチャルカメラの2つがHierarchyへ作成されます。

f:id:nabesi777:20181201130217p:plain

 

今回はWalk、Idle、Waitのそれぞれの状態でカメラを切り替えてみます。

3つのバーチャルカメラが必要となります。ひとつはStateDrivenを作成したときにできていますので2つを準備しました。

f:id:nabesi777:20181201130626p:plain

 

次にこれらのバーチャルカメラをStateDriven Cameraの子要素とします。

f:id:nabesi777:20181201130731p:plain

 

この時それぞれのカメラを撮りたいアングルや位置に移動させておきます。

f:id:nabesi777:20181201130838p:plain

 

tateDriven Cameraのインスペクターを開き作成したカメラを登録していきます。

「VirtualCameraChildren」の+から登録できます。

f:id:nabesi777:20181201131115p:plain

 

次に同じくStateDriven CameraのインスペクターのAnimatedTargetへ対応させたいアニメーションをいれます。今回はキャラクターをいれました。

その次にStateに応じたカメラを登録していきます。Walkならvcam1、Idleならvcam2という風に登録していきます。

f:id:nabesi777:20181201131405j:plain

 

これで設定は終わりです。再生をするとこのようになりました。