效果:
1.threejs遍历模型的子对象方法traverse
this.otherModel.traverse(function (child) {
if (child instanceof THREE.Mesh) {
。。。。
}
});
2.threejs中的3D模型指定位置变颜色例如设置的是红色但是显示的是黑色或者是白色;
首先:需要打印确定一下要改变的模型的材质类型,不同的类型修改生效的方式不同(这里是MeshPhysicalMaterial)
console.log(child.material, 'child.material');
3.threejs给MeshPhysicalMaterial材质的物体修改颜色
this.otherModel.traverse(function (child) {
// 检查子对象的类型是否为Mesh,并且判断其位置是否满足要求
if (child instanceof THREE.Mesh && child.name == '对象10112') {
var material = new THREE.MeshPhysicalMaterial({ color: 0xff0000 });//红色
child.material = material;
}
});