解决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"参数关闭。

相关推荐
Lv117700832 分钟前
Visual Studio中的try -- catch
ide·笔记·c#·visual studio
先生沉默先1 小时前
串口通信学习,使用winform读取串口发送数据,(2)
学习·c#·串口
kylezhao20191 小时前
C#上位机开发数据持久化:xml数据导入导出
xml·开发语言·c#
Sator11 小时前
unity的GPUInstance和GPU动画
unity·游戏引擎
꧁༺℘₨风、凌๓༻꧂1 小时前
C# WPF 项目中集成 Pdf查看器
pdf·c#·wpf
时光追逐者1 小时前
ASP.NET Core 依赖注入的三种服务生命周期
后端·c#·asp.net·.net·.netcore
戴西软件1 小时前
戴西软件3DViz Convert:解锁三维数据流动,驱动一体化协同设计
大数据·人工智能·安全·3d·华为云·云计算
wuguan_2 小时前
C#显示转换和隐式转换
c#·显示转换和隐式转换
wuguan_2 小时前
C#:try和catch(保护程序不崩溃)
开发语言·c#·try catch
黑贝是条狗2 小时前
Delphi TCP通信帧设计,类型Websocket通信帧
开发语言·c#