2

我正在做一个需要获取 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 导入模型时,一切看起来都很正常,如下所示:

在此处输入图像描述

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

在此处输入图像描述

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

4

1 回答 1

3

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

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

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

最好的问候,本休斯顿,ben@clara.io

于 2015-02-24T15:44:49.360 回答