c# - 从材质更改反照率
问题描述
public Material material;
// Use this for initialization
void Start () {
material = GetComponent<Renderer> ().material;
material.color = Color.red;
}
这是我写的代码,但是,Albedo 的颜色没有改变。
解决方案
首先,重要的是要知道所讨论的材质正在使用什么着色器。我假设您正在使用 Unity 标准着色器。
在大多数情况下,您所拥有的将与标准着色器一起使用。尝试的替代方法是
material.SetColor("_Color", newColor);
“_Color”是在着色器中找到的属性的名称。代码执行后,在检查器中检查材质是否有颜色变化。如果没有变化,您选择的着色器可能不会按照您想要的方式应用颜色,您应该尝试替代方法。