【Unity】代码更改Material属性
可以通过Unity的一系列Set方法更改材质属性,更改材质属性本质上是更改材质所依赖的Shader参数。
需要注意的是材质上的参数名称并不是真正的变量名称,
![材质上参数名称并不是真正的变量名称](https://i-blog.csdnimg.cn/blog_migrate/57cf19e632fb15218136c3db148309c6.png)
可以通过查看Shader来确认真实的变量名称是什么,一般都会加一个下划线( _ )作为前缀。
![查看Shader来确认真实的变量名称](https://i-blog.csdnimg.cn/blog_migrate/3956aed1d937796f4eff8a1d3dea2cc2.png)
Unity中渲染器(Renderer)种类很多,但基本上所有的渲染器依赖的Material都是同一类文件。调用Material的方法就可以很方便地更改Shader参数了,例如:
mats[0].SetFloat(“_Cutoff”, Mathf.Sin(t * speed));