You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

运行时修改HDRP Lit材质自发光属性未生效问题咨询

HDRP Lit材质自发光修改不生效的原因及解决方案

核心问题排查点

  • 确认代码执行正常:检查脚本挂载的GameObject处于激活状态,Start函数正常触发,可以在循环内添加Debug输出验证逻辑执行到了对应分支。
  • 确认原始材质的自发光开关已开启:编辑器中打开你使用的HDRP Lit材质,找到Emission选项,确保左侧的勾选框处于勾选状态。如果需要动态通过代码开启,需要额外设置启用属性和对应关键字。
  • 属性名确认:HDRP管线的Lit材质自发光颜色正确属性名为_EmissiveColor,你代码中使用的属性名是正确的,之前尝试的_EmissionColor是内置渲染管线/URP管线的属性名,不适用于HDRP。
  • 材质实例逻辑正常:你调用.material获取的就是实例化材质,显示为(Instance)属于正常行为,不是故障原因。
  • 排除后处理干扰:如果场景开启了自动曝光等后处理效果,可能会把低强度的自发光效果压得几乎不可见,可以先把自发光强度乘数调整到10以上测试是否有变化。

修复后的参考代码

如果你需要代码完整控制自发光的启用和颜色修改,可以用以下写法:

public GameObject[] myGOs;

private void Start () {
    for(int i = 0; i<myGOs.Length; i++){
        Material mat = myGOs[i].GetComponent<Renderer>().material;
        // 启用自发光开关
        mat.SetFloat("_EmissiveIntensity", 1f);
        mat.EnableKeyword("_EMISSION");
        // 设置自发光颜色,乘数可根据实际需求调整
        mat.SetColor("_EmissiveColor", new Vector4(0.8196f,0.783f,0,1) * 10f);
    }
}

内容的提问来源于stack exchange,提问作者Max

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 01:48:00