首页 > 解决方案 > 从材质更改反照率

问题描述

我需要更改 Unity C# Material 的反照率

public Material material;

// Use this for initialization
void Start () {
    material = GetComponent<Renderer> ().material;
    material.color = Color.red;
}

这是我写的代码,但是,Albedo 的颜色没有改变。

标签: c#unity3d

解决方案


首先,重要的是要知道所讨论的材质正在使用什么着色器。我假设您正在使用 Unity 标准着色器。

在大多数情况下,您所拥有的将与标准着色器一起使用。尝试的替代方法是
material.SetColor("_Color", newColor);

“_Color”是在着色器中找到的属性的名称。代码执行后,在检查器中检查材质是否有颜色变化。如果没有变化,您选择的着色器可能不会按照您想要的方式应用颜色,您应该尝试替代方法。


推荐阅读