一个 Three.js 对象的“中心”是什么?

8

当我使用Blender建模时,我可以明确地定义对象的中心位置,以便进行平移和旋转。但在使用Three.js对象时,似乎找不到等效的方法。

Three.js对象是否有定义其“中心”位置的属性?如果没有,那么如何确定对象的中心位置?

2个回答

10
在 three.js 中,一个对象的“中心”是对象本地坐标系中的原点。
如果您的对象不是围绕所需点旋转,则需要将几何体的顶点平移,使所需中心位于原点。
geometry.translate( distX, distY, distZ );

查看此答案以获取更多信息和另一种解决方案。

three.js r.78


3
几何体的中心可以通过几何体的边界框来确定,这可以通过调用 computeBoundingBox() 方法来计算;如果局部坐标系的原点不是几何体的中心,则调用 center() 方法将调整几何体以使其居中于原点。
请参见three.js源代码

我猜这可能是该API的最新源代码:https://github.com/mrdoob/three.js/blob/de7c36a30773aa7941c46516af71e6993a7640ea/src/core/BufferGeometry.js#L261 - user3405291

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接