【Unity】【Cinemachine】Virtual Cameraの拡張機能群Extensionsまとめ

CinemachineのVirtual Cameraの拡張機能群であるExtensionsについてまとめます。

Unity2018.4.0
Cinemachine2.2.9

Extensions?

CinemachineのVirtual CameraにはExtensionsという拡張機能群があります。

f:id:halya_11:20190707151846p:plain

これらはVirtual Cameraの機能を拡張するためのコンポーネント群であり、
選択すると該当するコンポーネントがアタッチされます。

Extensionsの種類

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

名前 説明
Cinemachine Camera Offset Virtual Cameraが計算したカメラの位置にオフセットを掛ける
Cinemachine Collider 障害物を検知してカメラを移動する
Cinemachine Confiner コライダーの中に閉じ込められたカメラを作る
Cinemachine Follow Zoom ズームすることで対象を追いかけるカメラを作る
Cinemachine Storyboard 絵コンテを表示する
Cinemachine Impulse Listener カメラを揺らすためのImpulseのリスナ

Cinemachine Camera Offset

Cineamchine Camera OffsetはVirtual Cameraが計算したカメラの位置に対してオフセットを掛けられます。

f:id:halya_11:20190707143604g:plain

詳細は次の記事にまとめています。

light11.hatenadiary.com

Cinemachine Collider

Cinemachine Colliderを使うと、対象が障害物に隠れてカメラから映らなくなってしまったときに、対象が見える位置にカメラを補正してくれます。

f:id:halya_11:20190701234531g:plain

またClear Shotと組み合わせることで障害物があるときに別のカメラに切り替えることもできます。

f:id:halya_11:20190707004204g:plain

さらにShot Evaluationを組み合わせるとあるカメラの近くに対象が来た時だけそのカメラに切り替えるようなカメラワークを実現できます。

f:id:halya_11:20190707020229g:plain

詳細はそれぞれ以下にまとめています。

light11.hatenadiary.com

light11.hatenadiary.com

light11.hatenadiary.com

Cinemachine Confiner

Cinemachine Confinerを使うと、Virtual Cameraでカメラの位置を計算した後に、
その位置が指定したコライダーの外側だったらコライダーの中に補正してくれます。
つまりコライダーの中にカメラを閉じ込められます。

f:id:halya_11:20190702003554g:plain

詳細は次の記事にまとめています。

light11.hatenadiary.com

Cinemachine Follow Zoom

Cinemachine Follow Zoomを使うと、カメラの位置を変えずにFOVを変えることで対象を追いかけるカメラを作れます。
つまり、ズームをすることで対象を追いかけます。

f:id:halya_11:20190701223241g:plain

詳細は次の記事にまとめています。

light11.hatenadiary.com

Cinemachine Storyboard

Cinemachine Storyboardを使うとカメラのレンダリング結果の上から絵コンテなどの画像を表示できます。
アルファも指定できるので絵コンテと見比べながらカメラを設定できます。

f:id:halya_11:20190707144637g:plain
※ 絵コンテの代わりにunity-chan! - The Phantom Knowledge - YouTubeのキャプチャを使わせていただいています

詳細は次の記事にまとめています。

light11.hatenadiary.com

Cinemachine Impulse Listener

Cinemachine Impulse Listnerは、Cinemachine Impulse Sourceと組み合わせてカメラを揺らす仕組みを作ります。

f:id:halya_11:20190630235148g:plain

詳細は次の記事にまとめています。

light11.hatenadiary.com

独自のExtensionsも作れる

本記事では詳細には触れませんが、CinemachineExtensionクラスを継承したクラスを定義すると独自のExtensionsクラスも作れるようです。

関連

light11.hatenadiary.com

light11.hatenadiary.com

light11.hatenadiary.com

light11.hatenadiary.com

light11.hatenadiary.com

light11.hatenadiary.com

light11.hatenadiary.com

light11.hatenadiary.com

参考

docs.unity3d.com