【问题标题】:How To Get Mouse Position Using Cinemachine?如何使用 Cinemachine 获取鼠标位置?
【发布时间】:2023-01-14 16:18:50
【问题描述】:
// Calculate the world position for the mouse.
    var worldPos = Camera.main.ScreenToWorldPoint(Input.mousePosition);

这段代码是我用来获取鼠标位置的代码,但在使用 cinemachine 之后,这段代码似乎被破坏了。使用cinemachine时如何获取鼠标位置?

【问题讨论】:

  • 你可以说得更详细点吗? “似乎坏了”是什么意思,“使用电影机”是什么意思?据我所知,“使用 cinemachine 后”这段代码没有任何变化。
  • 请阐明您的具体问题或提供更多详细信息以准确突出您的需求。正如目前所写的那样,很难准确地说出你在问什么。

标签: c# unity3d draggable mouse-position


【解决方案1】:

如果您使用的是多台电影机摄像机。您应该更新从目标对象到虚拟相机的距离

我使用“剪切”效果在虚拟相机之间切换 enter image description here

public class MyController:MonoBehaviour
{
     private float distanceToCamera;
     private CinemachineBrain cameraBrain;

     private void Start()
     {
            cameraBrain = Camera.main.GetComponent<CinemachineBrain>();
            cameraBrain.m_CameraCutEvent.AddListener((brain) =>
            {
                  if (brain != null)
                  {
                       if (brain.ActiveVirtualCamera != null)
                       {
                            // if virtual camera changed
                            distanceToCamera = Vector3.Distance(transform.position, brain.ActiveVirtualCamera.VirtualCameraGameObject.transform.position);
                            Debug.Log($"on cut event {brain.ActiveVirtualCamera.Name} {distanceToCamera}");
                       }
                  }
            });

            // init distance
            distanceToCamera = Vector3.Distance(transform.position, Camera.main.transform.position);
     }

     private void Update()
     {
            if (Input.GetMouseButton(0))
            {
                    Vector3 mousePosition = Camera.main.ScreenToWorldPoint(new Vector3(Input.mousePosition.x, Input.mousePosition.y, distanceToCamera));
                    Debug.Log($"mousePosition {mousePosition}");
            }
     }
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-07-12
    • 1970-01-01
    • 1970-01-01
    • 2014-04-17
    • 2011-03-01
    相关资源
    最近更新 更多