Hello guys!
We did lots of mesh rotation ,after that we need to merge geometries.
Is it possible apply mesh rotation to geometry?
i.e.
if(e.isMesh){
e.geometry.rotateX(e.rotation.x) // rotate
e.geometry.rotateY(e.rotation.y) // rotate
e.geometry.rotateZ(e.rotation.z) //rotate
e.geometry.translate(e.position.x,e.position.y,e.position.z)
}
You can use applyMatrix4 on geometries.
Yeah i tried this , can’t rotate the geometry.
e.geometry.applyMatrix4(e.matrix)
It should apply all transforms, do you call updateMatrix() on the mesh you want to extract the transforms from before this?
No,I did not,ill try update

This is what it(THREE.Group) should be.
After the transform
geometries = []
group.traverse(e=>{
if(e.isMesh){
e.updateMatrix()
e.geometry.applyMatrix4(e.matrix)
geometries.push(e.geometry)
}
})
const geometry = BufferGeometryUtils.mergeBufferGeometries(geometries)
const mesh = new THREE.Mesh(geometry,material)

It’s something but still not quit the right transform
This is the correct answer.Somethings wrong when perform BufferGeometryUtils.mergeBufferGeometries()
I think
1 Like
Not BufferGeometryUtils.mergeBufferGeometries()
,it’s because we use mesh.clone()
,two twins are messing with each other!