我正在开发一个项目,该项目需要使用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导入模型时,一切看起来都很正常,如下所示:
接下来,我使用File - >将此模型导出为THREEJS Scene json;全部导出 - > Threejs场景。当我导入json时,我刚刚通过clara.io导出回到clara.io,枢轴是错误的。这是将json重新导入clara.io后的模型
有关如何让枢轴点始终在Maya和Threejs之间匹配的任何建议将不胜感激。
答案 0 :(得分:3)
问题在于ThreeJS不支持与模型的Transform原点不同的Pivots。这实际上是游戏引擎的标准。
我建议首先"重置枢轴"在Clara.io中对此对象,然后在Clara.io中进入此对象的顶点模式并选择所有顶点。移动顶点,使它们相对于重置旋转。这样您就可以设置所需的任何轴,因为您正在相对于此模型的原点移动顶点。然后,当您导出时,您将获得新的支点。
我们可以考虑增加对烘焙枢轴的支持。但它有点复杂,因为有多个不同的枢轴 - 一个用于比例,另一个用于旋转,所以我想我们必须给你一个你想要加入对象的选项。
祝你好运, Ben Houston,ben @ clara.io