Хорошо известно, что Unity использует левосторонний порядок, Y-up, ZXY, а другие 3dsoftware - нет. Я нахожу, как Unity конвертирует угол поворота 3dsmax (правый, Y-вверх, порядок XYZ):
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;
}
Но я застрял в том, как преобразовать Unity Euler в 3dsmax. Ценю любой ответ!