【发布时间】:2021-12-29 23:00:31
【问题描述】:
我是 ThreeJS 的新手。目前,我想从.obj 文件中加载一个模型并使用AxesHelper 来测量它的长度。但是,一旦我加载模型,我发现模型的原点与AxesHelper 的原点不同,它们之间存在距离。我知道我可以手动设置它们的位置,但我希望一旦加载模型,模型的原点与AxesHelper 相同。我怎样才能将它们的原点设置为完全相同?提前致谢。
【问题讨论】:
我是 ThreeJS 的新手。目前,我想从.obj 文件中加载一个模型并使用AxesHelper 来测量它的长度。但是,一旦我加载模型,我发现模型的原点与AxesHelper 的原点不同,它们之间存在距离。我知道我可以手动设置它们的位置,但我希望一旦加载模型,模型的原点与AxesHelper 相同。我怎样才能将它们的原点设置为完全相同?提前致谢。
【问题讨论】:
原点取决于几何相对于其局部 (0,0,0) 点的平移方式。您通常可以通过BufferGeometry.center() 将对象的几何图形基于其边界框居中来获得良好的结果。您也可以直接使用各自的translate() 方法来平移任意偏移的几何体。
一般来说,最好在设计阶段在 Blender 等工具中进行此类模型调整,而不是在导入 3D 引擎之后。
【讨论】: