4

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!

Marcel Gosselin
  • 4,610
  • 2
  • 31
  • 54
Sandiago.C
  • 101
  • 5

0 Answers0