facebook twitter hatena line email

Unity/Cinemachine/基本

提供: 初心者エンジニアの簡易メモ
2023年7月2日 (日) 03:32時点におけるAdmin (トーク | 投稿記録)による版 (キャラクタ追跡時のカメラ移動スピード)

移動: 案内検索

基本的な使い方

  1. MainCameraのInspectorから、AddCompornentして、CinemachineBrainを追加する
  2. 空のGameObjectを作って、Zを-10にして、Inspectorから、AddCompornentして、ChinemachineVirtualCameraを追加する(もしくは、Unityメインメニュー/Component/Cinemachine/CreateVirtualCamera)
  3. 追っかける3Dオブジェクトを作って(ここではCube)、ChinemachineVirtualCameraのFollowとLookAtへ、それを追加する
  4. ChinemachineVirtualCameraのAimをComposerにする

こうすれば、3Dオブジェクトにカメラを向けてくれるようになる。

参考:https://ekulabo.com/cinemachine-overview#outline__5

参考:https://light11.hatenadiary.com/entry/2019/07/23/210040

カメラを固定する

  1. MainCameraのInspectorから、AddCompornentして、CinemachineBrainを追加する
  2. 空のGameObjectを作って、Zを-10、XとYを0にして、Inspectorから、AddCompornentして、ChinemachineVirtualCameraを追加する
  3. 追っかける3Dオブジェクトを作って(ここではCube)、ChinemachineVirtualCameraのLookAtへ、それを追加する(Followはnull)
  4. 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にすれば、即移動する

カメラ切替時のスピード

CinemachineBrainのDefaultBlendのスピードを2から1とかにすると速くなる。

画面の上下にターゲット範囲を移動

画面中央から上側へ

AimのScreenYを0.5から0.4へ

画面中央から下側へ

AimのScreenYを0.5から0.6へ

DeadZoneWidthを0だと範囲がわからないので、DeadZoneWidthを0から増やすと、範囲を確認できる

ロックオンのような動作

  • "Look At"に敵を入れる
  • "Follow"にプレイヤーを入れる

参考:https://qiita.com/jusmiso/items/34fa5a97cc440674b801