three.js - 导入 THREEJS 的某些 fbx 模型的枢轴点错误

标签 three.js fbx

我正在开发一个项目,需要获取 fbx 模型并在 THREEJS 查看器中查看它们。大多数时候,这些模型都具有正确的枢轴点,但有时却不然。我很难找出导致此问题的原因。

我正在使用此脚本进行从 fbx 到 json 的转换:

https://github.com/mrdoob/three.js/blob/master/utils/converters/fbx/convert_to_threejs.py

您可以在此处找到具有错误枢轴点的 fbx 文件示例:

http://s000.tinyupload.com/index.php?file_id=42525924957536854290

该模型仅包含一个网格,并使用 FBX 插件版本 2014.0.1 从 Maya 导出。枢轴应该靠近模型的中心,但在 Threejs 中加载时它位于模型的底部。它似乎将枢轴放置在 (0,0,0)。

我使用在线模型查看器对此模型进行了测试,网址为 https://clara.io/ 。当我使用 fbx 导入模型时,一切看起来都很正常,如下所示:

enter image description here

接下来,我使用 File -> Export All -> Threejs Scene 将此模型导出为 THREEJS Scene json。当我导入刚刚通过 clara.io 导出回 clara.io 的 json 时,枢轴是错误的。这是将其作为 json 重新导入 clara.io 后的模型

enter image description here

任何有关如何使 Maya 和 Threejs 之间的枢轴点始终匹配的建议将不胜感激。

最佳答案

问题是 ThreeJS 不支持与模型的变换原点不同的枢轴。这实际上是游戏引擎的某种标准。

我建议首先在 Clara.io 中在此对象上“重置枢轴”,然后在 Clara.io 中在此对象上进入顶点模式并选择所有顶点。移动顶点,使它们相对于重置轴。这使您可以设置所需的任何枢轴,因为您正在相对于该模型的原点移动顶点。然后,当您导出时,您将拥有新的数据透视表。

我们可以考虑添加对烘焙枢轴的支持。但它有点复杂,因为有多个不同的枢轴 - 一个用于缩放,另一个用于旋转,所以我想我们必须为您提供要烘焙到对象中的选项。

最诚挚的问候, 本·休斯顿,[email protected]

关于three.js - 导入 THREEJS 的某些 fbx 模型的枢轴点错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28682529/

相关文章:

javascript - 每次使用网页动画都会加快速度

javascript - 三.js如何应用纹理作为 Material

javascript - 在 Three.js 中控制立方体或其他几何体的每个面

unity-game-engine - Unity - 自定义导出和导入 FBX 数据

c - 对于多个网格的 FBX 模型,网格未显示在正确的位置

json - 如何导出FBX three.js格式文件

3d - 我可以在 Three.js 中让圆柱体发光,使其看起来像管灯吗?

javascript - 在 three.js 中使用相同的渲染器在两个场景之间切换

javascript - ThreeJS 在异步加载后更新 FBX 对象的属性

python - 在 FBX SDK 中创建点或顶点