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

时间:2018-07-16 00:35:37

标签: c# unity3d camera transform mouse

我有一个脚本,因此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轴上移动。有人知道为什么吗?

3 个答案:

答案 0 :(得分:0)

我认为,如果您不知道目标是哪个,MoveTowards并不是改变位置的最佳方法。您只需在坐标上增加一个增量:

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

如果位置不能增加,请纠正我。 这样可以在X和Z轴上移动对象。

答案 1 :(得分:0)

您尝试过吗?

point_circle

答案 2 :(得分:0)

您不确定这是否可行,请尝试一下

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;
    }
}