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

相关推荐
惊鸿醉11 分钟前
基于Kinect SDK的Unity艺术交互展项——完整技术方案
unity
少控科技15 分钟前
小数典 - V1.0.0.1
windows·c#
格林威1 小时前
面阵相机 vs 线阵相机:堡盟与海康相机选型差异全解析 附C# 实战演示
开发语言·人工智能·数码相机·计算机视觉·c#·视觉检测·工业相机
刘~浪地球2 小时前
日志平台架构设计
c#·linq
玖笙&2 小时前
✨WPF编程进阶【9.1】:WPF资源完全指南(附源码)
c++·c#·wpf·visual studio
Tech_D2 小时前
用在3D测量的五轴直线电机模组
人工智能·3d·机器人·自动化·制造
在下胡三汉3 小时前
GLTF 与 USDZ:电商增强现实和虚拟现实的最佳3D模型格式
3d·ar·vr
hhb_61813 小时前
Dylan 语言核心特性与工程实践深度解析
开发语言·c#
mxwin13 小时前
Unity URP 半透明阴影的局限性
unity·游戏引擎
空中海14 小时前
第四篇:Unity高级阶段(架构级开发能力)
unity·架构·游戏引擎