现在有5个物体使用了同一个材质,游戏运行时有没有办法能单独改变其中一个物体的颜色呢?
我现在是这样写的,但是使其它使用同一材质的物体都变颜色了。
this._treeNode.getComponent(ModelComponent).getMaterial(0).setProperty(“mainColor”,Color.BLUE)
现在有5个物体使用了同一个材质,游戏运行时有没有办法能单独改变其中一个物体的颜色呢?
我现在是这样写的,但是使其它使用同一材质的物体都变颜色了。
this._treeNode.getComponent(ModelComponent).getMaterial(0).setProperty(“mainColor”,Color.BLUE)
把五个物体用不同的材质球去引用
没有更好的办法了吗QAQ。。。
先getMaterial,然后通过这个材质创建一个新的材质,修改颜色后再把新的材质设置给node, 官方好像有说明
2.3新加的 MaterialVariant 材质延伸, 去掉了原来的材质拷贝,不知道你用的是哪个版本,但是还是推荐给你吧
我刚去Creator3D API搜了一下,没看到MaterialVariant 这个,现在应该旨在cocos creator里有吧。 3D可能还没出来。
this._treeNode.getComponent(ModelComponent).material.setProperty("mainColor",Color.BLUE);
就可以了
但我多个3D物体用了同一个材质,这样子改变的话其它的物体也都跟着变颜色了,我想单独改变一个颜色这样子。
不会的,注意是 comp.material,不是 comp.getMaterial(0)
我天,真的可以,谢谢谢谢!!!
mask,我也要记住