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

相关推荐
程序员敲代码吗37 分钟前
如何通过命令行启动COMSOL的参数化、批处理和集群扫描
java·c#·bash
晚霞的不甘39 分钟前
揭秘 CANN 内存管理:如何让大模型在小设备上“轻装上阵”?
前端·数据库·经验分享·flutter·3d
YigAin1 小时前
Unity中的Lock,到底在锁什么,什么时候该用?
unity
Var_al2 小时前
抖小Unity WebGL分包命令行工具实践指南
unity·游戏引擎·webgl
缺点内向3 小时前
C#: 告别繁琐!轻松移除Word文档中的文本与图片水印
c#·自动化·word·.net
喵叔哟3 小时前
06-ASPNETCore-WebAPI开发
服务器·后端·c#
天人合一peng3 小时前
unity 通过代码修改button及其名字字体的属性
unity·游戏引擎
2501_930707783 小时前
使用 C# .NET 从 PowerPoint 演示文稿中提取背景图片
c#·powerpoint·.net
初级代码游戏4 小时前
套路化编程 C# winform 自适应缩放布局
开发语言·c#·winform·自动布局·自动缩放
大空大地20265 小时前
流程控制语句--switch多分支语句使用、while循环语句的使用、do...while语句、for循环
c#