我使用的是Standard Shader,一开始“_Emission”没有开启
当我运行下面的代码,可以看到Inspector窗口已经生效,然而物体本身并没有重新开始渲染,反射没有开启
public GameObject go;
// Start is called before the first frame update
void Start()
{
var m = go.GetComponent<MeshRenderer>().material;
m.EnableKeyword("_Emission");
m.SetColor("_EmissionColor", Color.red);
m.globalIlluminationFlags = MaterialGlobalIlluminationFlags.RealtimeEmissive;
go.GetComponent<MeshRenderer>().material = m;
}
解决方案: “_Emisson”参数保持开启状态,通过更改“_EmissionColor”来控制反射,_EmissionColor为纯黑时,效果等同于“_Emisson”参数关闭。