threejs遍历模型的子对象;threejs中的3D模型指定位置变颜色例如设置的是红色但是显示的是黑色或者是白色;threejs给MeshPhysicalMaterial材质的物体修改颜色

效果:

 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;
      }
});

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值