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

相关推荐
an86950011 小时前
unity如何在visual studio中打断点debug
unity·游戏引擎·visual studio
xcLeigh2 小时前
Unity基础:使用Transform控制物体移动——Translate与position详解
unity·游戏引擎
cjp5602 小时前
012.UG二次开发,UG管道服务器与WPF管道通讯,传输JSON数据
c#
FairGuard手游加固3 小时前
Unity小游戏加密:global-metadata.dat与AssetBundle保护
游戏·unity·游戏引擎
jiushidt4 小时前
ArcGIS Pro Add‑in 打包流程详解
arcgis·c#·.net·arcgispro
真鬼1235 小时前
【Unity AI】Untiy链接cursor与MCP
unity·游戏引擎
WarPigs7 小时前
Unity设置人物位置无效的原因
unity
程序员正茂7 小时前
Unity3d行为树Behavior Designer Pro
unity·行为树
玖玥拾8 小时前
Lua 基础语法(八) Unity Huatuo (HybridCLR)
开发语言·unity·游戏引擎·lua
平行云8 小时前
国产GPU云渲染适配实战:驱动兼容、编码调优与多路并发
unity·ue5·webrtc·webgl·实时云渲染·云桌面·像素流送