给模型加线框
object.children.forEach(ele=>{
// 创建线框几何体
var edges = new THREE.EdgesGeometry(ele.geometry); // 使用网格的几何体创建线框几何体
// 设置线框的材质
var lineMaterial = new THREE.LineBasicMaterial({color: 0xffffff}); // 设置线框颜色
var lineSegments = new THREE.LineSegments(edges, lineMaterial); // 创建线框对象
lineSegments.material.transparent=true
lineSegments.material.opacity=0.5
ele.updateMatrixWorld(true); // 重点!!!
lineSegments.applyMatrix(ele.matrixWorld); // 重点!!!
lineSegments.name='xiankuang'
scene3D.add(lineSegments)
})
删除以上生成的线框:
for(let i=0;i<scene3D.children.length;i++){
if(scene3D.children[i].name=='xiankuang'){
scene3D.remove(scene3D.children[i])
i--;
}
}