Unity - 当向右旋转时,对象疯狂旋转 - 如何修复它

时间:2017-07-04 07:50:17

标签: unity3d rotation

我正试图让我的物体(在这种情况下是飞机)转动。当向左倾斜时它会平稳地转动,但是当它向右倾斜时它会疯狂地旋转。我的方法很简单:当物体倾斜时,物体的y旋转将相应于相机的z旋转而改变(物体的倾斜跟随相机的z旋转)。对象的y和相机的z在符号上相反。你能告诉我一些方法来解决这个问题吗?非常感谢你!抱歉我的英语不好。

这是我的代码:

void Turn()
{
    float tilt = 0.05f;
    if(mainCam.transform.rotation.eulerAngles.z<0)
    {
        tilt *= (-1);
    }

    transform.rotation = Quaternion.Euler(mainCam.transform.localRotation.eulerAngles.x, transformY -= (Mathf.Round(mainCam.transform.rotation.eulerAngles.z) * tilt), mainCam.transform.localRotation.eulerAngles.z);
    print(Mathf.Round(mainCam.transform.rotation.eulerAngles.z) * 0.01f);
}

0 个答案:

没有答案