为什么Maya中的动画旋转值与Unity中的不同?

时间:2017-09-19 12:18:02

标签: python animation rotation unity5 maya

我有一个带动画的FBX文件。当我将它导入Maya(2017)时,骨骼'arm_r_shoulder'的旋转值如下所示:

maya Image

但是在将其导入Unity(5.6.1f1)后,该值才刚刚改变:

Unity Image

可以下载fbx here

我的问题是,为什么这些价值不同?我该怎么处理呢?

1 个答案:

答案 0 :(得分:0)

我认为它是Rotate Order和/或Order of Transformation问题。首先,检查Maya中的Rotate Order,然后查看Unity中的内容。这两个包中的参数必须相同。

enter image description here

您可以使用以下代码行更改Rotate Order,但保留Maya中的整体转换:

import maya.cmds as cmds
cmds.xform(preserve=True, rotateOrder='yzx')

此外,还有欧拉旋转与四元数旋转方案: enter image description here

import maya.cmds as cmds
cmds.rotationInterpolation('polyModel_rotateY', convert='quaternion')

阅读此文章,了解如何使用Python进行转换:Quaternion to Euler Rotations