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

相关推荐
软泡芙2 小时前
【Unity】HybridCLR:原生C#热更新革命
unity·游戏引擎
张人玉2 小时前
C# 通讯关键类的API
开发语言·c#
nnnnichijou6 小时前
Qt Quick 3D-机械臂模型显示与交互
qt·3d·交互
大Mod_abfun8 小时前
Unity游戏基础-5(一些细节)
游戏·unity·游戏引擎
William_cl10 小时前
C# MVC 修复DataTable时间排序以及中英文系统的时间筛选问题
开发语言·c#·mvc
c#上位机11 小时前
wpf之RelativeSource用法总结
c#·wpf
Dm_dotnet11 小时前
WPF应用最小化到系统托盘
c#
*长铗归来*13 小时前
ASP.NET Core Web API 中控制器操作的返回类型及Swagger
后端·c#·asp.net·.netcore
m0_7431064614 小时前
LOBE-GS:分块&致密化效率提升
人工智能·算法·计算机视觉·3d·几何学
视觉人机器视觉14 小时前
机器视觉Halcon3D中,六大类3D处理算子
人工智能·计算机视觉·3d·视觉检测