Unity3d 为什么摄影机。变换。旋转(X,Y,0)会改变Z?

Unity3d 为什么摄影机。变换。旋转(X,Y,0)会改变Z?,unity3d,Unity3d,我想用操纵杆旋转摄像机。 相机应该上下左右旋转,但不应该绕z旋转 我试过以下几句话: float speed = 3.0f; float yRotation = speed * fY; float xRotation = speed * fX; camera.transform.Rotate(-yRotation, xRotation, 0.0f); 这似乎可行,但在操纵杆移动几次后,我可以看到摄影机旋转的z值发生了变化,看起来

我想用操纵杆旋转摄像机。 相机应该上下左右旋转,但不应该绕z旋转

我试过以下几句话:

        float speed = 3.0f;
        float yRotation = speed * fY;
        float xRotation = speed * fX;

        camera.transform.Rotate(-yRotation, xRotation, 0.0f);
这似乎可行,但在操纵杆移动几次后,我可以看到摄影机旋转的z值发生了变化,看起来如下所示:


有人看到我的代码中有明显的错误吗,或者问题出在其他地方了吗?

好的,下面是解决方法,我必须使用eulerAngles:

        yaw += speedH * fX;
        pitch -= speedV * fY;
        pitch = Mathf.Clamp(pitch, -20, 30);
        camera.transform.eulerAngles = new Vector3(pitch, yaw, 0.0f);