我有一个包含一堆对象的Blender场景。这些对象中的一些具有骨骼动画但是大部分都没有。我试图将场景导入Three.js,包括正确对象上的动画。以下是我遇到的问题的细分:
我试图通过从Blender单独手动导出动画网格来做到这一点,因此骨骼动画数据仅在这些对象上,但这会引起这些对象的定位问题,因为这些对象的位置和旋转动画对象仅在Blender的scene.js导出文件中可用。
更新
我意识到,因为无论如何我都会分别用动画获取对象,我可以遍历场景几何体以检查对象上是否有可用的动画,并为它创建一个SkinnedMesh(如果有的话)案子。定位问题仍然存在:Three.js中的(0,0,0)位置和旋转将对象定位在场景的中心,而不是围绕其他点。我不确定这是什么意思,它可能是Blender场景中心,但我认为这两个是相同的。
答案 0 :(得分:0)
我在搅拌机中创建了一个在场景中心创建并设置动画的测试对象。当将它导入Three.js时,位置似乎移动了一点(对于我而言,在每个轴上介于-1.5和1.5之间),但是可以在三个中手动修复。这种方法效果很好,但有一些缺点:
它并不完美,但它现在有效。我确信有可能让Blender到Three导出器用动画导出对象,好像它在场景的中心,然后提供正确的位置,旋转和缩放到Three.js,以便能够立即加载动画在正确的位置上的对象,如果我有时间,我会尝试实现它。
我希望这可以帮助其他人解决这个问题,即使这只是一个临时修复。