Unity rotation convertion

坚强是说给别人听的谎言 提交于 2019-12-07 17:13:49

问题


It is well known that Unity use left-handed,Y-up,ZXY order,but other 3dsoftwares not. I find how Unity convert 3dsmax rotation angle(right-handed,Y-up,XYZ order):

    Vector3 ConvertXYZToZXY(Vector3 angleXYZ)
    {
        Vector3 rightHanded = new Vector3(angleXYZ.x, -angleXYZ.y, -angleXYZ.z);
        Quaternion qx = Quaternion.AngleAxis(rightHanded.x, Vector3.right);
        Quaternion qy = Quaternion.AngleAxis(rightHanded.y, Vector3.up);
        Quaternion qz = Quaternion.AngleAxis(rightHanded.z, Vector3.forward);
        Quaternion result = qz * qy * qx;
        return result.eulerAngles;
    }

But I am stuck how to Convert Unity Euler to 3dsmax's. Appreciate any reply!

来源:https://stackoverflow.com/questions/50961368/unity-rotation-convertion

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!