Virtual Cameraの使い方
Virtual Cameraを追加するにはメインメニューから「Cinemachine」>「Create Virtual Camera」を選択します。
Virtual Cameraを追加すると、
- ヒエラルキーウィンドウに「CM vcam1」オブジェクトが
- Cameraオブジェクトに「CinemachineBrain」コンポーネントが
それぞれ追加されます。
ヒエラルキーウィンドウでCM vcam1を選択して出てくるインスペクタウィンドウからカメラの詳細を設定していきます。
CinemachineのVirtual Cameraでは基本的にFollowに設定したオブジェクトの位置を基準にカメラが追従し、LookAtに設定したオブジェクトの方向をカメラが向くような動きをします。
Followで設定した対象との位置関係はBodyで、LookAtに設定した対象との角度の関係はAimで、それぞれ細かく設定できるようになっています。
Followに追従させたいオブジェクトを設定
Followに追従したいオブジェクトをドラッグするだけです。
LookAtにカメラに誘目させたいオブジェクトを設定
LookAtにカメラが注目してほしいオブジェクトをドラッグするだけです。
Bodyでカメラの位置を設定
Followに設定した対象との位置関係を設定できます。
Bodyには追従方法にいくつかの種類が用意されていて、デフォルトはTransposerですが用途に合わせて以下を変更して利用します。
- Do nothing
- カメラを移動しない
- Framing Transposer
- ターゲットに対して一定の距離(スクリーンスペースにおける距離)を維持しながら追従
- Hard Lock To Target
- ターゲットと同じ位置を使用
- Obital Transposer
- ターゲットに対して可変の距離で移動
- マウス座標を利用して対象の周りをグルッと回転させたい時などに使用する
- Tracked Dolly
- 事前に用意したパスに沿って移動
- タイムラインなどと合わせて使用
- Transposer(デフォルト)
- ターゲットに対して一定の距離を維持しながら追従
Blending Mode
カメラの座標とターゲットの座標の間を補完する方法を設定する項目です。 Bodyの設定によってあったり無かったりします。 デフォルトはLock To Target With World Upですが、用途に合わせて以下を変更して利用します。
- Lock To Target On Assign
- ターゲットに追尾
- 回転は無視する
- Lock To Target With World Up(デフォルト)
- ターゲットに追尾
- Yawを除いた全てのターゲットの回転を無視
- Lock To Target No Roll
- ターゲットに追尾
- Z軸の回転は無視する
- Lock To Tareget
- ターゲットに追尾
- 回転もターゲットのforwardを追尾
- World Space
- ターゲットの元の位置を基準にする
- ターゲットが回転してもカメラの位置は変わらない
- Simple Follow With World Up
- 人間のカメラマンがターゲットに追尾するような状態をシミュレートする
Aimでカメラの角度を設定
LookAtに設定した対象を基準に、カメラの角度を決めるための設定を行います。
AimはBody同様に角度の決定方法にいくつかの種類が用意されていて、 デフォルトはComposerですが用途に合わせて以下を変更して利用します。
- Do Nothing
- 回転はしない
- Composer(デフォルト)
- ターゲットを追尾
- Group Composer
- 複数の Look At ターゲットをカメラフレーム内に維持
- Hard Look At
- Look At ターゲットをカメラフレームの中央に維持
- POV
- ユーザーの入力に基づいてバーチャルカメラを回転
- Point of viewの略。FPSに類似
- Same As Follow Target
- カメラの角度を Follow ターゲットの角度と同じに設定
関連リンク:
- https://docs.unity3d.com/ja/Packages/com.unity.cinemachine@2.6/manual/CinemachineVirtualCameraBody.html
- https://docs.unity3d.com/ja/Packages/com.unity.cinemachine@2.6/manual/CinemachineBodyTransposer.html
- https://docs.unity3d.com/ja/Packages/com.unity.cinemachine@2.6/manual/CinemachineVirtualCameraAim.html