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

相关推荐
yue00811 小时前
C# winform自定义控件
开发语言·c#
_Cherry|11 小时前
Unity按钮动态效果
unity·游戏引擎
元境11 小时前
“3D数字内容创新发展高峰论坛”在京成功举办,多项重要合作与课题启动
3d
song50112 小时前
鸿蒙 Flutter 图像识别进阶:物体分类与花卉识别(含离线模型)
人工智能·分布式·python·flutter·3d·华为·分类
_Cherry|12 小时前
Unity读取文件夹内容
unity·c#
lrh302513 小时前
Custom SRP - 15 Particles
unity·渲染管线·粒子·srp·扰动效果
张人玉13 小时前
C#通信精讲系列——C# 通讯编程基础(含代码实例)
开发语言·c#·c#通信
小熊熊知识库13 小时前
C# Ollama 实战聊天小案例实现
开发语言·c#
arron889914 小时前
WebApi 部署到win7 IIS详细步骤
c#
零点零一14 小时前
C# 的 out 参数:全面解析与最佳实践
c#