facebook twitter hatena line email

「Unity/Cinemachine/複数ターゲット」の版間の差分

提供: 初心者エンジニアの簡易メモ
移動: 案内検索
(スクリプトでaimの値を変更)
(複数ターゲットを同時にカメラ内に)
行1: 行1:
  
 
==複数ターゲットを同時にカメラ内に==
 
==複数ターゲットを同時にカメラ内に==
*新しいGameObjectを作り、"TargetGroup"とし、CinemachineTargetGroupを追加し、3Dのターゲットを追加
+
*新しいGameObjectを作り、"TargetGroup"に名前変更し、CinemachineTargetGroupをAddComponentし、3Dのターゲットを追加
 
*CinemachineVirtualCameraのLookAtに、TargetGroupオブジェクトを、追加する
 
*CinemachineVirtualCameraのLookAtに、TargetGroupオブジェクトを、追加する
 
*CinemachineVirtualCameraのFollowはnoneにしておく。
 
*CinemachineVirtualCameraのFollowはnoneにしておく。

2023年5月25日 (木) 09:29時点における版

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

  • 新しい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

2つが離れすぎるで画面範囲に入らないとき

  1. AimをComposerからGroupComposerに
  2. 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