「Unity/Cinemachine/複数ターゲット」の版間の差分
提供: 初心者エンジニアの簡易メモ
(→複数ターゲットを同時にカメラ内に) |
(→複数ターゲットの変更をscriptで) |
||
行21: | 行21: | ||
</pre> | </pre> | ||
参考:https://nekojara.city/unity-cinemachine-group-composer | 参考:https://nekojara.city/unity-cinemachine-group-composer | ||
+ | |||
+ | ==動的に増やす場合=== | ||
+ | <pre> | ||
+ | targetGroup.AddMember(targetObj.transform, 1, 1); | ||
+ | </pre> | ||
+ | 参考:https://note.com/piku_model/n/n9d7b40db8018 | ||
==2つが離れすぎるで画面範囲に入らないとき== | ==2つが離れすぎるで画面範囲に入らないとき== |
2023年5月25日 (木) 09:54時点における版
複数ターゲットを同時にカメラ内に
- 新しいGameObjectを作り、"TargetGroup"に名前変更し、CinemachineTargetGroupをAddComponentし、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
動的に増やす場合=
targetGroup.AddMember(targetObj.transform, 1, 1);
参考:https://note.com/piku_model/n/n9d7b40db8018
2つが離れすぎるで画面範囲に入らないとき
- AimをComposerからGroupComposerに
- AImのMaximamDistanceを大きく
スクリプトでaimの値を変更
MaximamDistanceの値を変更
cinemachineVirtualCamera.GetCinemachineComponent(CinemachineCore.Stage.Aim).GetComponent<CinemachineGroupComposer>().m_MaximumFOV = 179;
参考:https://nazenavi.com/2021/06/10/unitycinemachinevirtualcamerapov/
公式:https://docs.unity3d.com/Packages/com.unity.cinemachine@2.1/manual/index.html