-
Creator 版本:3.4.2
-
目标平台:谷歌浏览器
nodeA、nodeB 使用同个material
nodeB修改material属性:this._material.setProperty(‘mainTexture’, this._texture);
nodeA 会被一起改动,是怎么回事?
Creator 版本:3.4.2
目标平台:谷歌浏览器
nodeA、nodeB 使用同个material
nodeB修改material属性:this._material.setProperty(‘mainTexture’, this._texture);
nodeA 会被一起改动,是怎么回事?
共享材质由多个渲染器组件共同使用,修改共享材质会影响所有使用它的渲染器组件。默认情况下,同一材质在多个渲染器组件之间是共享的。
材质实例由单个渲染器组件单独使用,修改材质实例仅影响使用它的渲染器组件。材质默认为共享材质,当修改共享材质时,引擎会根据材质创建材质实例。
总结
默认是共享材质,如果你需要两个互相不影响,可以修改为材质实例。
补充
可以看一下 文档关于 共享材质和材质实例的说明
https://docs.cocos.com/creator/manual/zh/material-system/material-script.html#共享材质--材质实例
该主题在最后一个回复创建后14天后自动关闭。不再允许新的回复。