统一设置发射颜色

Gri*_*gen 5 c# unity-game-engine

我试过寻找这个,但找不到任何解决方案。我将每个对象的颜色设置为:

Color color = Color.red;
float f = 0.4f; 
GetComponent<Renderer>().material.color = color;
GetComponent<Renderer>().material.SetColor("_EmissionColor",color*f);
Run Code Online (Sandbox Code Playgroud)

但是,在游戏中,除非我选择对象并展开材质组件,否则不会设置颜色。我做了一个 gif 来说明我的意思。

我曾尝试使用 DynamicGI,基于类似的问题,但没有任何效果。但是,看到在 unity 编辑器中单击材料会导致其更新,更改似乎已注册。更新的材料不会自动应用。

Gri*_*gen 6

经过数小时的搜索,我在发布此问题后设法找到了解决方案。

要解决此问题,只需添加

material.EnableKeyword("_EMISSION");
Run Code Online (Sandbox Code Playgroud)