facebook twitter hatena line email

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

提供: 初心者エンジニアの簡易メモ
移動: 案内検索
(2つが離れすぎるで画面範囲に入らないとき)
(スクリプトでaimの値を変更)
行26: 行26:
 
#AImのMaximamDistanceを大きく
 
#AImのMaximamDistanceを大きく
  
==スクリプトでaimの値を変更==
+
===スクリプトでaimの値を変更===
 +
<pre>
 +
cinemachineVirtualCamera.GetCinemachineComponent(CinemachineCore.Stage.Aim).GetComponent<CinemachineGroupComposer>().m_MaximumFOV = 179;
 +
</pre>
 
参考:https://nazenavi.com/2021/06/10/unitycinemachinevirtualcamerapov/
 
参考:https://nazenavi.com/2021/06/10/unitycinemachinevirtualcamerapov/

2023年4月19日 (水) 06:07時点における版

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

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

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

  1. AimをComposerからGroupComposerに
  2. AImのMaximamDistanceを大きく

スクリプトでaimの値を変更

cinemachineVirtualCamera.GetCinemachineComponent(CinemachineCore.Stage.Aim).GetComponent<CinemachineGroupComposer>().m_MaximumFOV = 179;

参考:https://nazenavi.com/2021/06/10/unitycinemachinevirtualcamerapov/