Coco3d 修改Material的贴图失败

let mat2 = this.ball.trailNode.getChildByName(“trail”).getComponent(ParticleSystemComponent).renderer.trailMaterial;

mat2.setProperty(‘mainTexture’,this.tex2d);

renderer 里面记录的 trailMaterial 是原始的材质资源,组件会创建并使用该材质资源的实例对象,所以这里你需要通过修改 ParticleSystemComponent 里面的材质实例来实现贴图的切换。index 0 记录的是 Particle 的材质实例,index 1 记录的是 trail 的材质实例,具体代码修改如下:

let mat2 = this.ball.trailNode.getChildByName("trail").getComponent(ParticleSystemComponent).getMaterialInstance(1);

mat2.setProperty('mainTexture',this.tex2d);

谢谢回复。