Three.js 对象的“中心”是啥?

Posted

技术标签:

【中文标题】Three.js 对象的“中心”是啥?【英文标题】:What is the "center" of a Three.js object?Three.js 对象的“中心”是什么? 【发布时间】:2016-10-28 01:48:15 【问题描述】:

当我使用 Blender 为对象建模时,我能够明确定义其发生平移和旋转的中心位置。使用 Three.js 对象时,我似乎找不到等效对象。

Three.js 对象是否具有定义其“中心”位置的属性?如果不是,物体的中心是如何确定的?

【问题讨论】:

【参考方案1】:

在three.js中,对象的“中心”是对象本地坐标系中的原点。

如果您的对象没有围绕您想要的点旋转,那么您需要平移几何体的顶点,以便所需的中心位于原点。

geometry.translate( distX, distY, distZ );

有关更多信息和替代解决方案,请参阅this answer。

three.js r.78

【讨论】:

【参考方案2】:

中心可以通过几何体的boundingBox确定,通过调用computeBoundingBox()方法计算得到;

如果局部坐标系的原点不是几何体的中心,调用center()方法会调整几何体以原点为中心。

见three.js source code

【讨论】:

以上是关于Three.js 对象的“中心”是啥?的主要内容,如果未能解决你的问题,请参考以下文章

three.js 在它的中心围绕 Y 轴旋转 Object3d

如何在three.js对象渲染中从中心向左更改轴(x,y,z)位置?

Three.js用相机选择对象,没有鼠标

Three.js 的 CopyShader 是啥?

three.js 在线包含它的 URL 是啥?

Three.js:Lambert 和 Phong 之间的确切区别是啥?