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

相关推荐
吃饭只吃七分饱5 小时前
arm开发板通信
arm开发·c#
Hellc0078 小时前
什么是 WebApiEngine?
c#
dangoxiba9 小时前
【Unity学习心得】如何使用Unity制作“饥荒”风格的俯视角2.5D游戏
游戏·unity·c#·游戏引擎
咩咩觉主9 小时前
en造数据结构与算法C# 群组行为优化 和 头鸟控制
开发语言·c#
一丝晨光10 小时前
逻辑运算符
java·c++·python·kotlin·c#·c·逻辑运算符
mirrornan10 小时前
适合新手的3D建模软件推荐
3d·3d建模·3d模型·三维建模·建模软件
friklogff10 小时前
【C#生态园】从图像到视觉:Emgu.CV、AForge.NET、OpenCvSharp 全面解析
开发语言·c#·.net
cyr___11 小时前
Unity教程(十六)敌人攻击状态的实现
学习·游戏·unity·游戏引擎
friklogff12 小时前
【C#生态园】构建你的C#操作系统:框架选择与实践
服务器·开发语言·c#
Terry Cao 漕河泾13 小时前
SRT3D: A Sparse Region-Based 3D Object Tracking Approach for the Real World
人工智能·计算机视觉·3d·目标跟踪