导入THREEJS的某些fbx模型的轴心点错误

时间:2015-02-23 20:11:26

标签: 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导出。枢轴应该靠近模型的中心,但是当装入三个时它位于模型的底部。它似乎将枢轴放在(0,0,0)。

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

enter image description here

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

enter image description here

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

1 个答案:

答案 0 :(得分:3)

问题在于ThreeJS不支持与模型的Transform原点不同的Pivots。这实际上是游戏引擎的标准。

我建议首先"重置枢轴"在Clara.io中对此对象,然后在Clara.io中进入此对象的顶点模式并选择所有顶点。移动顶点,使它们相对于重置旋转。这样您就可以设置所需的任何轴,因为您正在相对于此模型的原点移动顶点。然后,当您导出时,您将获得新的支点。

我们可以考虑增加对烘焙枢轴的支持。但它有点复杂,因为有多个不同的枢轴 - 一个用于比例,另一个用于旋转,所以我想我们必须给你一个你想要加入对象的选项。

祝你好运, Ben Houston,ben @ clara.io