1.使用ThreeBSP进行布尔运算
//创建球形几何体
var sphereGeometry = new THREE.SphereGeometry(100, 20, 20);
var sphere = createMesh(sphereGeometry);
//创建立方体几何体
var cubeGeometry = new THREE.BoxGeometry(100, 100, 100);
var cube = createMesh(cubeGeometry);
cube.position.x = -100;
//生成ThreeBSP对象
var sphereBSP = new ThreeBSP(sphere);
var cubeBSP = new ThreeBSP(cube);
//进行并集计算
var resultBSP = sphereBSP.subtract(cubeBSP);
//从BSP对象内获取到处理完后的mesh模型数据
var result = resultBSP.toMesh();
//更新模型的面和顶点的数据
result.geometry.computeFaceNormals();
result.geometry.computeVertexNormals();
//重新赋值一个纹理
var material = new THREE.MeshPhongMaterial({color: 0x00ffff});
result.material = material;
//将计算出来模型添加到场景当中
//scene.add(sphere);
scene.add(cube);
scene.add(result);