相机在 X 轴上移动但不在 Y 轴上移动

Camera moving on X axis but not Y axis

我有一个脚本,因此 Main Camera 将在 x 轴上移动。这很好用。然后我有一个不同的场景,我希望相机跟随鼠标在 xy 轴上移动。所以我制作了一个新脚本,我的代码看起来像这样

transform.position = newvector3.Movetowards(
        Input.GetAxisRaw("mouse X") * speed * Time.DeltaTime, 
        0f,  
        Input.GetAxisRaw("mouse Y")  * speed* Time.DeltaTime
);

它在 x 轴上移动很好,但在 y 轴上根本不移动。有谁知道为什么?

如果您不知道哪个是目标点,我认为 MoveTowards 不是改变位置的最佳方式。您应该简单地为您的坐标添加一个增量:

transform.position += new Vector3(
        Input.GetAxisRaw("mouse X") * speed * Time.DeltaTime, 
        0f,  
        Input.GetAxisRaw("mouse Y")  * speed* Time.DeltaTime
);

如果位置不能递增,请指正。 这应该在 X 和 Z 轴上移动您的对象。

你试过吗?

transform.position = newvector3.Movetowards(
    Input.GetAxisRaw("mouse X") * speed * Time.DeltaTime,  
    Input.GetAxisRaw("mouse Y")  * speed* Time.DeltaTime,
    0f
);

您可能不确定这是否有效,但请尝试一下

public float speed;
    private void Update()
    {

        Vector3 someVector3;


        someVector3.x = Input.GetAxisRaw("mouse x") * speed * Time.deltaTime;
        someVector3.y = Input.GetAxisRaw("mouse y") * speed * Time.deltaTime;
        someVector3.z = 0;

        transform.position += someVector3;
    }
}