解决EnableKeyword(“_Emission“)运行状态不起作用

我使用的是Standard Shader,一开始"_Emission"没有开启

当我运行下面的代码,可以看到Inspector窗口已经生效,然而物体本身并没有重新开始渲染,反射没有开启

cs 复制代码
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"参数关闭。

相关推荐
m0_516484671 小时前
C#委托代码记录
c#
开开心心就好2 小时前
Word批量转PDF工具
开发语言·人工智能·pdf·c#·vim·excel·语音识别
阿蒙Armon2 小时前
01. C#入门系列【你的第一个程序】从Hello World开始
c#
阿蒙Armon2 小时前
00. C#入门系列【C#与.NET框架】编程界的超级英雄组合
c#
CN.LG3 小时前
C# StringBuilder代码中预分配容量的作用
java·开发语言·c#
留待舞人归3 小时前
【Unity优化】提高热更新和打包速度
游戏·unity·游戏引擎·unity3d·优化
tealcwu3 小时前
【Unity踩坑】Unity 6在Mac平台编译运行时去除‘trial version‘
macos·unity·游戏引擎
yutian06065 小时前
C# TextBox 控件限制输入字符为十六进制字符串
开发语言·c#
为你写首诗ge5 小时前
【热更新知识】学习一 Lua语法学习
unity·lua
罗迪尼亚的熔岩5 小时前
在C# 中使用建造者模式
java·c#·建造者模式