Unity/Cinemachine/基本
提供: 初心者エンジニアの簡易メモ
目次
基本的な使い方
- MainCameraのInspectorから、AddCompornentして、CinemachineBrainを追加する
- 空のGameObjectを作って、Zを-10にして、Inspectorから、AddCompornentして、ChinemachineVirtualCameraを追加する(もしくは、Unityメインメニュー/Component/Cinemachine/CreateVirtualCamera)
- 追っかける3Dオブジェクトを作って(ここではCube)、ChinemachineVirtualCameraのFollowとLookAtへ、それを追加する
- ChinemachineVirtualCameraのAimをComposerにする
こうすれば、3Dオブジェクトにカメラを向けてくれるようになる。
参考:https://ekulabo.com/cinemachine-overview#outline__5
参考:https://light11.hatenadiary.com/entry/2019/07/23/210040
カメラを固定する
- MainCameraのInspectorから、AddCompornentして、CinemachineBrainを追加する
- 空のGameObjectを作って、Zを-10、XとYを0にして、Inspectorから、AddCompornentして、ChinemachineVirtualCameraを追加する
- 追っかける3Dオブジェクトを作って(ここではCube)、ChinemachineVirtualCameraのLookAtへ、それを追加する(Followはnull)
- ChinemachineVirtualCameraのAimをComposerにする
こうすれば、カメラを固定したまま、3Dオブジェクトにカメラを向けてくれるようになる。
カメラで追跡
- ChinemachineVirtualCameraのBodyを、transposerにすると、3Dオブジェクトを、カメラが、追っかけてくるようになる。
仮想カメラを複数用意してカメラ切り替え
- ChinemachineVirtualCameraのオブジェクトを複数用意
- ChinemachineVirtualCameraのPriorityに、それぞれ別の値を入れる
- 一方の、ChinemachineVirtualCameraを非アクティブにすると、じんわり、切り替わる。
Priorityの大きいほうが、稼働カメラとなる。
CinemachineVirtualCameraの別の追加方法
Unityメインメニュー/GameObject/Cinemachine/VirtualCameraを追加すると"CM vcam1"のオブジェクトがヒエラルキーに追加される
ズーム
値が小さいと近い、大きいと遠い
cinemachineVirtualCamera.m_Lens.FieldOfView = 80f;
キャラクタ追跡時のカメラ移動スピード
CinemachineVirtualCameraのAimの(HorizontalDamping, VerticalDamping)を0にすれば、即移動する
画面の上下にターゲット範囲を移動
画面中央から上側へ
AimのScreenYを0.5から0.4へ
画面中央から下側へ
AimのScreenYを0.5から0.6へ
DeadZoneWidthを0だと範囲がわからないので、DeadZoneWidthを0から増やすと、範囲を確認できる
ロックオンのような動作
- "Look At"に敵を入れる
- "Follow"にプレイヤーを入れる