【Unity】【Cinemachine】複数のVirtual Cameraを管理して一つのVirtual Cameraのように振舞うManager Camera総まとめ

Cinemachineで複数のVirtual Cameraを管理して一つのVirtual Cameraのように振舞うManager Cameraについてまとめました。

Unity2018.4.0
Cinemachine2.2.9

Manager Camera?

CinemachineにはManager Cameraと呼ばれる特殊なコンポーネントがいくつか存在します。
これは、複数のVirtual Cameraをブレンドしたりして、その結果あたかも一つのVirtual Cameraのように振舞う機能です。

たとえばManager Cameraの一つであるMixing Cameraを使うと、複数のVirtual Cameraを指定した割合でブレンドできます。

f:id:halya_11:20190704233830g:plain

また、Manager CameraはVirtual Cameraのように扱うことができるため、
Manager Cameraの子として別のManager Cameraを指定するような入れ子構造も作成できます。
これによってより複雑なカメラワークを作ることができます。

Manager Cameraの種類

Manager Cameraには以下の種類があります。

名前 説明
Free Look Camera ユーザが対象をあらゆる角度から見回せるカメラ
Mixing Camera 最大8個のカメラを一度にブレンドできる
Blend List Camera 子のカメラを順番に再生する
Clear Shot Camera 対象が障害物に隠れないカメラに自動的に切り替える
State-Driven Camera AnimatorのStateに応じて切り替わるカメラ

以下それぞれについて簡単に説明します。

Free Look Camera

Free Look Cameraを使うと対象をあらゆる角度から見回せるようなカメラワークを作れます。

f:id:halya_11:20190706122422g:plain

ユーザ入力により自由にキャラクターを見回せるようなカメラを作りたい場合に便利です。
詳細は次の記事にまとめていますので必要に応じて参照してください。

light11.hatenadiary.com

Mixing Camera

Mixing Cameraを使うと、最大8個のカメラをウェイトを指定して一度にブレンドできます。

f:id:halya_11:20190704233252p:plain

ブレンド率を切り替えることでカメラの見え方が切り替わります。

f:id:halya_11:20190704233830g:plain

詳細は次の記事にまとめていますので必要に応じて参照してください。

light11.hatenadiary.com

Blend List Camera

Blend List Cameraを使うと子のカメラを順番に再生するようなカメラを作れます。

f:id:halya_11:20190705002334g:plain

Timelineを使うよりもお手軽にシーケンシャルなカメラワークを作りたいときに便利です。

詳細は次の記事にまとめていますので必要に応じて参照してください。

light11.hatenadiary.com

Clear Shot Camera

Clear Shotを使うと対象が障害物に隠れた時に、いい感じに映せる別のカメラに切り替えるカメラワークを実装できます。

f:id:halya_11:20190707004204g:plain

詳細は次の記事にまとめていますので必要に応じて参照してください。

light11.hatenadiary.com

また、Cinemachine ColliderのShot Evaluationと組み合わせることで、
カメラの近くに対象が来た時にそのカメラに切り替えるようなカメラワークも実現できます。

f:id:halya_11:20190707021930g:plain

これについては次の記事にまとめています。

light11.hatenadiary.com

State-Driven Camera

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

f:id:halya_11:20190703001350g:plain

詳細は次の記事にまとめていますので必要に応じて参照してください。

light11.hatenadiary.com

関連

light11.hatenadiary.com

light11.hatenadiary.com

light11.hatenadiary.com

light11.hatenadiary.com

light11.hatenadiary.com

light11.hatenadiary.com

参考

docs.unity3d.com