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

相关推荐
闪电麦坤951 小时前
Unity:Simple Follow Camera(简单相机跟随)
unity·游戏引擎
淘源码d2 小时前
如何运用C#.NET快速开发一套掌上医院系统?
开发语言·c#·.net·源码·掌上医院
一个程序员(●—●)2 小时前
xLua环境控制+xLua的Lua调用C#的1
开发语言·unity·c#·lua
帮帮志3 小时前
05.unity 游戏开发-3D工程的创建及使用方式和区别
3d·unity·游戏引擎
qq_340474023 小时前
6.1 python加载win32或者C#的dll的方法
java·python·c#
闪电麦坤953 小时前
Unity:标签(tags)
unity·游戏引擎
Trustport4 小时前
C# EventLog获取Windows日志进行查询设置多个EventLogQuery查询条件
开发语言·c#
勘察加熊人4 小时前
c#的form实现飞机大战
开发语言·c#
观无5 小时前
JWT认证服务
前端·c#·vue
FAREWELL000756 小时前
C#核心学习(八)面向对象--封装(7)终章 C#内部类和分部类
开发语言·学习·c#·内部类·密封类·分部类