Three.js - 我可以将位置,旋转和比例应用于几何体吗?

Jus*_*tin 12 three.js

我想编辑一个物体的位置,旋转和比例矢量,然后将它们"应用"到几何体上,这会使这些矢量归零,但保留变换.

例如,假设我导入一个边长为1的立方体.立方体的最小和最大顶点位于(0, 0, 0)(1, 1, 1).我将对象的比例设置为(2, 2, 2),然后将变换应用于几何.

应用后,比例将重置为(1, 1, 1),并且立方体的最小和最大顶点分别为(0, 0, 0)(2, 2, 2).

有没有一些内置的方法来做到这一点?

Wes*_*ley 17

您可以直接将对象的变换应用于对象的几何体,然后重置位置,旋转和缩放,如下所示:

object.updateMatrix();

object.geometry.applyMatrix( object.matrix );

object.position.set( 0, 0, 0 );
object.rotation.set( 0, 0, 0 );
object.scale.set( 1, 1, 1 );
object.updateMatrix();
Run Code Online (Sandbox Code Playgroud)

three.js r.69