facebook twitter hatena line email

Unity/Cinemachine/基本

提供: 初心者エンジニアの簡易メモ
2022年9月12日 (月) 16:03時点におけるAdmin (トーク | 投稿記録)による版 (複数ターゲットを同時にカメラ内に)

移動: 案内検索

基本的な使い方

  1. MainCameraのInspectorから、AddCompornentして、CinemachineBrainを追加する
  2. 空のGameObjectを作って、Zを-10にして、Inspectorから、AddCompornentして、ChinemachineVirtualCameraを追加する(もしくは、Unityメインメニュー/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

カメラで追跡

  • ChinemachineVirtualCameraのBodyを、transposerにすると、3Dオブジェクトを、カメラが、追っかけてくるようになる。

仮想カメラを複数用意してカメラ切り替え

  • ChinemachineVirtualCameraのオブジェクトを複数用意
  • ChinemachineVirtualCameraのPriorityに、それぞれ別の値を入れる
  • 一方の、ChinemachineVirtualCameraを非アクティブにすると、じんわり、切り替わる。

Priorityの大きいほうが、稼働カメラとなる。

複数ターゲットを同時にカメラ内に

  • 新しいGameObjectを作り、"TargetGroup"とし、CinemachineTargetGroupを追加し、3Dのターゲットを追加
  • CinemachineVirtualCameraのLookAtに、TargetGroupオブジェクトを、追加する
  • CinemachineVirtualCameraのFollowはnoneにしておく。

参考:https://light11.hatenadiary.com/entry/2019/07/22/204953

複数ターゲットの変更をscriptで

CinemachineTargetGroup targetGroup;
targetGroup.m_Targets = new CinemachineTargetGroup.Target[]
        {
            new CinemachineTargetGroup.Target
            {
                target = playControllView.enemyGroup.transform.Find("Enemy" + enemyNum),
                weight = 1,
                radius = 1,
            },
        };

参考:https://nekojara.city/unity-cinemachine-group-composer

CinemachineVirtualCameraの別の追加方法

Unityメインメニュー/GameObject/Cinemachine/VirtualCameraを追加すると"CM vcam1"のオブジェクトがヒエラルキーに追加される