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

相关推荐
大侠课堂6 小时前
C#经典面试题100道
开发语言·c#
时光追逐者7 小时前
Visual Studio 2026 现已正式发布,更快、更智能!
ide·c#·.net·visual studio
周杰伦fans9 小时前
C# 正则表达式完全指南
mysql·正则表达式·c#
棒棒的皮皮11 小时前
【Python】Open3d用于3D测高项目
python·3d·open3d
Triumph++11 小时前
电器模C#汇控电子继块驱动(Modbus协议)
c#·visual studio·c#串口通信
沉默金鱼12 小时前
Unity实用技能-格式化format文字
ui·unity·游戏引擎
jyy_9912 小时前
通过网页地址打开unity的exe程序,并传参
unity
咩图15 小时前
C#创建AI项目
开发语言·人工智能·c#
周杰伦fans16 小时前
C# - Task 是什么?想象一下你在餐厅点餐
服务器·开发语言·c#
一只小小汤圆17 小时前
简化点集合 道格拉斯-普克算法(Douglas-Peucker Algorithm)
c#·occ