如何在ThreeJS中应用矩阵变换并将结果设置为默认状态?

时间:2016-03-21 15:49:14

标签: javascript matrix three.js

我有一组THREE.Mesh对象。我的目标是使用类似的东西  group.applyMatrix( new THREE.Matrix4().makeRotationX( Math.PI / 2) );。然后,我想将结果作为组默认矩阵,以便我可以在动画中使用matrixUpdate()。

在ThreeJS文档中,我们可以找到:“调用updateMatrix将破坏对矩阵的手动更改,从位置,比例等重新计算矩阵。”

有没有办法进行我想要的手动更改,然后将结果设置为组的默认状态?

1 个答案:

答案 0 :(得分:1)

基于@WestLangley相关answer,这是我的问题的解决方案!在执行了我想要的所有矩阵变换后,我只需要这样做:

group.children.forEach( function(mesh) {
    mesh.geometry.applyMatrix( group.matrix );
});
group.updateMatrix();