在three.js中我们是可以进行合并几何体操作的,如下:

1. 代码

const cubeMat = new THREE.MeshLambertMaterial({
    color: '#00ff00',
    transparent: true,
    opacity: 0.8
})
// 合并模型
const geometry = new THREE.Geometry()
for (let i = 0; i < 2; i++) {
    const cube = addCube()
    cube.updateMatrix()
    geometry.merge(cube.geometry, cube.matrix)
}
const mesh = new THREE.Mesh(geometry, cubeMat)
mesh.name = '我是合并的物体'
scene.add(mesh)
console.log('scene', scene)

2.注意

  1. 合并几何体后,就变成了一个几何体
  2. 通过Group进行添加多个网格对象,其实还是多个网格对象进行单独操作的