CinemachineのVirtual CameraのTransposerの使い方をまとめます。
- はじめに
- カメラマンが被写体を追いかけるような動き - Simple Follow With World Up
- キャラを常に特定の方向からのみ映す - Lock To Target
- Lock To TargetしつつもカメラをRollさせたくない - Lock To Target No Roll
- Lock To TargetしつつもカメラをPitchやRollさせたくない - Lock To Target With World Up
- Lock To Targetしつつも対象の回転をカメラに影響させない - Lock To Target On Assign
- カメラがずっと同じ方向を向き続ける - World Space
- まとめ
- 関連
- 参考
Unity2018.4.0
Cinemachine 2.2.9
はじめに
この記事では、CinemachineのVirtual CameraのBodyをTransposerに設定した時のモードについて説明します。
Transposerはよく使うにもかかわらずモードがたくさんありややこしいので一つずつ節を分けて説明していきます。
また、Transposerは主にオブジェクトを追従するときに使われるので、
説明の簡易化のため、AimはComposerにした状態にして対象オブジェクトを注視する状態にしておきます。
なお、Cinemachineの基本的な使い方やVirtual Cameraの設定方法は本記事では説明しません。
これらは以下の記事にまとめていますので、必要に応じて参照してください。
カメラマンが被写体を追いかけるような動き - Simple Follow With World Up
まず、Binding ModeをSimple Follow With World Upにしてみます。
これは一言でいうと「人間のカメラマンが被写体を追いかけるような動き」を表現できます。
カメラが被写体を追いかける際のルールとして、一定の高さと距離を保ちつつ追いかけます。
言い方を変えると、自身のY座標とZ座標を被写体から見て一定に保ちます。
そしてこの時のY座標とZ座標をOffsetとして指定することができます。
X値はこのモードでは使わないので変更できません。
また、Y DampingやZ Dampingの値を大きくするとカメラが少し間を開けながら追従するようになります。
キャラを常に特定の方向からのみ映す - Lock To Target
前節の設定では、キャラの正面が見えたり背面が見えたりしていました。
これに対して例えば常にキャラを一定の方向から映すようなカメラを作ることを考えます。
この場合、Binding ModeをLock To Targetに設定する必要があります。
Follow Offset値の設定により「対象のローカル座標から見てどの位置にカメラを配置するか」が決定します。
基準が対象のローカル座標なので、カメラは常に対象を同じ方向から映す結果になります。
Lock To TargetしつつもカメラをRollさせたくない - Lock To Target No Roll
前節の設定の場合、対象がZ軸回転をするとカメラも回転します。
このような進行方向に対する回転をRollといいます。
フライトシミュレーションのようなゲームならこれでもいいのかもしれませんが必要ないケースは多そうです。
そんな時にはBinding ModeをLock To Target No Rollに設定するとRollしなくなります。
Follow Offset値の設定方法はLock To Targetと同じです。
Lock To TargetしつつもカメラをPitchやRollさせたくない - Lock To Target With World Up
Lock To TargetやLock To Target No Rollでは、対象がX軸回転するとカメラも回転します。
このような進行方向に対して横方向の軸に対する回転をPitchといいます。
Binding ModeをLock To Target With World UpにするとPitchもRollもしなくなります。
Lock To Targetしつつも対象の回転をカメラに影響させない - Lock To Target On Assign
Lock To TargetやLock To Target No Roll、Lock To Target With World Upでは対象がY軸回転するとカメラも回転します。
このような進行方向に対して縦方向の軸に対する回転をPitchといいます。
Binding ModeをLock To Target With World UpにするとPitchもRollもしなくなります。
注意点として、Lock To Target On AssignはGameObjectをFollowにアサインしたときや
Virtual Cameraのenabledがtrueに切り替わった時にFollow Offset値が適用されます。
カメラがずっと同じ方向を向き続ける - World Space
Binding ModeをWorld Spaceにするとカメラがずっとワールド空間の同じ方向を向き続けながら対象を追いかけます。
まとめ
以上、CinemachineのVirtual CameraのTransposerの使い方をまとめました。
こう見るとBinding Mode毎の違いは些細な違いであるようにも見えますが、
理想のカメラワークを作るにはそれぞれの違いをきちんと理解しておく必要があります。