1. 方式一
- 修改对象的position,quaternion和scale属性,让three.js重新计算来自这些属性的对象矩阵:
object.position.copy( start_position ); object.quaternion.copy( quaternion );
默认情况下,matrixAutoUpdate属性设置为true,并且将自动重新计算矩阵。
如果对象是静态的,或者您希望在重新计算时手动控制,则可以通过将属性设置为false来获得更好的性能:
object.matrixAutoUpdate = false;
更改任何属性后,手动更新矩阵:
object.updateMatrix();
2. 方式二
- 直接修改对象的矩阵。 Matrix4类有各种修改矩阵的方法:
object.matrix.setRotationFromQuaternion( quaternion );
object.matrix.setPosition( start_position );
object.matrixAutoUpdate = false;
请注意,在这种情况下,matrixAutoUpdate 必须设置为false,并且您应该确保不调用updateMatrix。
调用updateMatrix将破坏对矩阵所做的手动更改,从position,scale重新计算矩阵,依此类推。