Unity多个物体共用材质相关

需求

多个物体共用一个material材质球。且还需要表现不同参数。

方案:

直接对每个物体更改材质属性

每个物体的材质成为了不同的材质实例(观察物体的检视面板,材质后面增加了(instance))

使用MaterialPropertyBlock

	    MaterialPropertyBlock propertyBlock = new MaterialPropertyBlock();
	    GetComponent<Renderer>().GetPropertyBlock(propertyBlock);
	    propertyBlock.SetColor("_Color", new Color(0.5f, 0, 0, 1));
	    GetComponent<Renderer>().SetPropertyBlock(propertyBlock);

相关文档

以特定数据作为依照变更材质属性

  • 模型的世界坐标可以作为特殊变量:虽然使用同一个材质,但模型的世界坐标不同,可以用来做随机数种子。(一旦模型世界坐标变动,效果也变动)

猜你喜欢

转载自blog.csdn.net/suixinger_lmh/article/details/125313489