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

相关推荐
CG_MAGIC9 小时前
3DMAX VR渲染器局部渲染设置教程
3d·vr·效果图渲染·渲云渲染·渲染插件
用户8356290780519 小时前
如何在 C# 中自动化生成 PDF 表格
后端·c#
GISer_Jing10 小时前
3DThreeJS渲染核心架构深度解析
javascript·3d·架构·webgl
suxuyu0110 小时前
3D空间表征基础
3d·robotics
mudtools10 小时前
.NET如何快速集成飞书API的最佳实践
c#·.net·飞书
ThreePointsHeat11 小时前
Unity 关于打包WebGL + jslib录制RenderTexture画面
unity·c#·webgl
a***976812 小时前
如何使用C#与SQL Server数据库进行交互
数据库·c#·交互
乘乘凉13 小时前
C#中的值传递和引用传递
java·开发语言·c#
Renderbus瑞云渲染农场15 小时前
什么叫云渲染?云渲染是干嘛的?
3d·图形渲染·3dsmax
BuHuaX16 小时前
Unity_AssetBundle相关
unity·c#·游戏引擎·游戏策划