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

相关推荐
datalover2 小时前
【无标题】
c#·linq
FairGuard手游加固2 小时前
iOS 游戏加固技术解析:代码混淆、资源加密、内存保护与重签名检测
安全·游戏·macos·unity·ios·objective-c
FlYFlOWERANDLEAF3 小时前
微软CommunityToolkit.Mvvm和DevExpress中GenerateViewModel使用
c#
爱分享的康康3 小时前
从“识别已知”到“发现未知”:3D通用目标检测如何打开智驾感知新边界
人工智能·目标检测·3d
Xin_ye100864 小时前
第七章:进阶篇——事件监听、外部服务集成与性能优化
c#
z落落4 小时前
C# WinForm NModbus 串口通信+WinForm Modbus4 串口通信
开发语言·单片机·c#
CoderIsArt5 小时前
C#环境中部署MQTT客户端
开发语言·c#
CSDN_RTKLIB6 小时前
模型空间、布局控件、自定义块
c#
z落落6 小时前
C# WinForm TCP 服务器+WinForm TCP 客户端
服务器·tcp/ip·c#
csdn_aspnet6 小时前
C# 多个串口多个线程发送数据和接收数据
c#·串口·thread·com·serialport