Unity/Cinemachine/基本
提供: 初心者エンジニアの簡易メモ
目次
基本的な使い方
- MainCameraのInspectorから、AddCompornentして、CinemachineBrainを追加する
- 空のGameObjectを作って、Zを-10にして、Inspectorから、AddCompornentして、ChinemachineVirtualCameraを追加する(もしくは、Unityメインメニュー/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
カメラで追跡
- 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"のオブジェクトがヒエラルキーに追加される