首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Three.js导入搅拌机场景包括动画

Three.js导入搅拌机场景包括动画
EN

Stack Overflow用户
提问于 2014-04-24 09:15:21
回答 1查看 1.1K关注 0票数 2

我有个搅拌机的场景里有一堆东西。有些对象有骨骼动画,但大多数没有。我试图将场景导入到Three.js中,包括正确对象上的动画。以下是我所遇到的问题的分类:

  • Three.js中的骨动画只在使用THREE.SkinnedMesh时才能工作。
  • 由于所有对象上都有动画数据,因此很难(如果不是不可能)确定动画链接到哪个对象,因此不可能将这些网格作为THREE.SkinnedMesh加载。
  • 即使能够确定动画所属的对象,THREE.SceneLoader也不会将这些对象创建为皮肤网格本身,导致不得不删除SceneLoader创建的对象,并再次使用蒙皮网格手动创建这些对象。

我试图通过手动从Blender分别导出动画网格来做到这一点,因此骨动画数据只在这些对象上,但是这会引起这些对象的定位问题,因为动画对象的位置和旋转只在Blender导出的scene.js文件中可用。

  • 有没有可能立即将Blender中的动画对象导出为SkinnedMeshes,同时保持场景的其余部分不变?
  • 是否可以确定一个对象在Three.js中是否有动画?

更新

我意识到,由于我单独获得了一个动画对象,所以我可以在场景几何图形上循环,以检查对象上是否有可用的动画,如果是这样的话,可以为它创建一个SkinnedMesh。然而,定位问题仍然存在: Three.js中的(0,0,0)位置和旋转使物体不是位于场景的中心,而是围绕着其他点。我不知道这是什么,它可能是搅拌机现场中心,但我认为这两个将是相同的。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-04-30 09:20:44

我在搅拌机中得到了一个在场景中心被创建和动画的测试对象。当导入到Three.js中时,位置似乎移动了一点(对于我来说,每个轴上的位置在-1.5到1.5之间),但可以在三个轴中手动固定。这种方法工作得很好,但也有一些缺点:

  • 可能迫使您手动重新定位动画对象的位置移动。只有在需要精确定位的情况下,才会出现这种情况。
  • 你需要手动获得的位置,旋转和比例尺从搅拌机通过放置在你想要的对象。(你可以在三分钟内完成,但我想那将是更多的工作。

这并不完美,但现在起作用了。我确信,有可能将搅拌机送到三个出口商,将物体输出到动画中,就像它位于场景的中心一样,然后向Three.js提供正确的位置、旋转和缩放,以便能够立即将动画对象加载到正确的位置,如果我有时间尝试并实现它。

我希望这能帮助其他有这个问题的人,即使这只是一个临时修复。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23264666

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档