【Unity】【Cinemachine】AnimatorのStateに応じてカメラを切り替えるState Driven Camera

CinemachineでAnimatorのStateに応じてカメラを切り替えるState Driven Cameraの使い方をまとめます。

Unity2018.4.0
Cinemachine2.2.9

はじめに

この記事ではCinemachineのState Driven Cameraについて説明します。

Cinemachineの基本的な使い方やVirtual Cameraの設定方法は本記事では説明しません。
これらは以下の記事にまとめていますので、必要に応じて参照してください。

light11.hatenadiary.com

State Driven Camera?

CinemachineのState Driven Cameraは複数のVirtual Cameraをまとめて
一つのVirtual Cameraのように振舞わせるManager Cameraという機能の一つです。

State Driven Cameraを使うと、AnimatorのStateに応じてカメラが切り替わる仕組みを簡単に実装できます。

f:id:halya_11:20190703001350g:plain

使い方

State Driven Cameraを使うにはまず上部のメニューからCinemachine > Create State-Driven Cameraを選択します。

f:id:halya_11:20190703001449p:plain

Hierarchy上にState Driven Cameraと、その子としてVirtual Cameraが生成されます。
子のVirtual Cameraは必要な数だけ複製して、それぞれ位置やターゲットを設定しておきます。

f:id:halya_11:20190703001607p:plain

Virtual Cameraが作れたら、次にState Driven CameraのInspectorを編集していきます。

f:id:halya_11:20190703001709p:plain

といっても、設定に使うのはほぼ下記の部分だけです。

f:id:halya_11:20190703002131p:plain

Animator ControllerのStateとそれに対応するVirtual Cameraを指定していきます。

なお、Waitに秒数を設定するとそのカメラから切り替わる前にこの秒数だけ待ちます。
一方Minに秒数を設定すると、このカメラに遷移してからこの秒数の間は他のカメラに切り替わりません。

結果

AnimatorのStateに応じて切り替わるカメラが作れました。

f:id:halya_11:20190703001350g:plain

関連

light11.hatenadiary.com