Animation Three.js导入混合器场景,包括动画
我有一个包含一堆对象的混合器场景。其中一些对象具有骨骼动画,但大多数对象没有。我正在尝试将场景导入到Three.js中,包括正确对象上的动画。以下是我遇到的问题的分类:Animation Three.js导入混合器场景,包括动画,animation,three.js,blender,Animation,Three.js,Blender,我有一个包含一堆对象的混合器场景。其中一些对象具有骨骼动画,但大多数对象没有。我正在尝试将场景导入到Three.js中,包括正确对象上的动画。以下是我遇到的问题的分类: Three.js中的骨骼动画仅在使用Three.SkinnedMesh时有效 由于动画数据位于所有对象上,因此很难(如果不是不可能的话)确定动画链接到的对象,因此不可能将这些网格作为3.SkinnedMesh加载 即使可以确定动画所属的对象,THREE.SceneLoader本身也不会将这些对象制作成SkinnedMesh,因
- Three.js中的骨骼动画仅在使用Three.SkinnedMesh时有效
- 由于动画数据位于所有对象上,因此很难(如果不是不可能的话)确定动画链接到的对象,因此不可能将这些网格作为3.SkinnedMesh加载
- 即使可以确定动画所属的对象,THREE.SceneLoader本身也不会将这些对象制作成SkinnedMesh,因此必须删除SceneLoader制作的对象,并使用蒙皮网格再次手动创建它们
- 是否有任何可能的方法将Blender中的动画对象导出为 在保持场景其余部分完好无损的情况下,立即剥皮网格
- 是否可以确定一个对象在Three.js中是否有动画
我意识到,由于我可以单独获得带有动画的对象,因此我可以在场景几何体上循环,以检查对象上是否有可用的动画,并为其创建SkinnedMesh(如果是这样的话)。但是定位问题仍然存在:Three.js中的(0,0,0)位置和旋转将对象定位在场景的中心,而不是其他点周围。我不确定这是哪一点,可能是Blender场景中心,但我想这两个应该是一样的。我得到了一个测试对象,它是在Blender场景中心创建并设置动画的。当将其导入Three.js时,位置似乎有点偏移(对我来说,每个轴上的位置都在-1.5到1.5个单位之间),但这可以在三个轴中手动修复。这种方法工作得很好,但也有一些缺点:
- 位置移动可能会迫使您手动重新定位动画对象。这仅在您的定位需要精确的情况下发生
- 您需要通过将对象放置在需要的位置,手动从blender获取位置、旋转和缩放。(你可以在三个小时内完成,但我想那将是更多的工作