当导出为GLTF时,为什么搅拌器绑定的动画会失真?

时间:2018-07-24 06:15:03

标签: three.js blender gltf

我用搅拌器在Blender中创建了一个动画。当我通过按Alt-A在Blender中对其进行测试时,它的工作原理非常好。但是,当我使用KhronosGroup GLTF导出器将其导出为.glb时,生成的动画会失真(例如,肢体断开并以奇怪的方式移动)。

为什么会这样(以及如何解决)?

在过去的两天里,我一直在尝试解决类似问题的解决方案(例如,使用Ctrl-A应用位置/旋转/缩放,或删除网格上的“骨架”修改器),但没有一个对我有用。 / p>

链接:

这里是指向动画外观的屏幕记录的链接(这是我在Blender中播放的动画): https://github.com/kylejlin/hosting-for-my-stackoverflow-questions/blob/master/correct-animation.mov

这里是动画的实际屏幕截图的链接(这是我使用Three.js在浏览器中测试导出的.glb): https://github.com/kylejlin/hosting-for-my-stackoverflow-questions/blob/master/distorted-animation.mov

这是.blend文件: https://github.com/kylejlin/hosting-for-my-stackoverflow-questions/blob/master/soldier.blend

这是导出的.glb文件: https://github.com/kylejlin/hosting-for-my-stackoverflow-questions/blob/master/soldier.glb

2 个答案:

答案 0 :(得分:4)

我仔细查看了您的设置。.我看到您有一些IK骨骼在部分程度上驱动了动画。这些将无法正确转换,因此必须将IK烘焙到动画中。我还研究了mirror修改器并在那里实现了问题..要导出要镜像的对象,您必须单击“应用修改器”复选框,但是ALSO也会应用“衔铁”修改器,这会使网格变形,因此您得到了错误的网格出来。要解决此问题,您必须在Blender中手动应用mirror修改器,然后在未选中“ apply Modifys”的情况下导出。一旦执行完此操作,并将IK烘焙到动画中,就可以使其生效。

我过去曾经做过IK烘焙,但忘记了它的工作原理,但这是一个起点:https://blenderartists.org/t/bake-ik-to-fk/587226

fwiw这是当我预先应用“ mirror”修改器时的.glb。.请注意,现在手臂已正确设置动画,但是由于IK,腿/脚仍然处于扭曲状态。我还不知道怎么烤...

https://drive.google.com/open?id=1zeA-mMirOWYZHlzdURqNnykgh_g10kbr

答案 1 :(得分:0)

enter image description h`ere

Object之前设置values:0的变换Rig