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

How to apply a matrix transformation and set the result as default state in ThreeJS?

本文关键字:结果 设置 状态 默认 转换 ThreeJS 应用      更新时间:2023-09-26

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

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

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

根据@WestLangley相关的答案,这是我问题的解决方案!在执行了我想要的所有矩阵转换后,我只需要做:

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