我试图从文件导入玛雅动画之后,但它给我的插补之间奇怪的结果:是关闭蟒蛇importantion
https://i.imgur.com/cP27Yai.mp4
这真是奇怪,因为他们的关键帧看起来是正确的,直到我看图编辑器。
认为这是在第一个万向节锁定,所以我用了欧拉过滤器,但它没有给出解决的办法。有时,一个键和另一个键之间的差异是180,这就是为什么,通过只看动画,键看起来很好,但插值使它旋转180度。因此,如果我一个接一个,并减去180的密钥的价值,然后倒数(根据具体情况为正或负),我可以通过调整它的工作。
但是,这是太多的工作,特别是对于Biped动画,它可能带我永远。
这是一个常见问题还是之前发生的任何事情?有没有什么办法解决这一问题?也许这是我申请的欧拉角的方式,因为他们最初是四元,但我没有找到一个方法来直接申请的四元数:
#Taking a rotation from the QUATERNION Array and converting it to Euler.
arot = anim.AnimRot[index].normal().asEulerRotation()
frot = MEulerRotation(arot.x*180/math.pi, arot.y*180/math.pi, arot.z*180/math.pi)
cmds.setAttr((obj + ".rotate"), frot.x, frot.y, frot.z)
cmds.setKeyframe(obj, time=anim.TotalKeys[i])
有什么办法,从编辑器或解决这个问题脚本?任何修复它都会对导入此Biped动画非常有利。我相信这是由于欧拉转换,但我发现没有办法将四元数应用于maya API中的骨骼。
我想你需要双四元数的无瞬间(180转)插值 –
有没有什么办法可以将它们从文件转换为双精度?问题是,我无法直接应用四元数... –