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

Unity HDRP:如何通过代码修改阴影过滤质量

Unity阴影过滤质量设置按钮实现方法

直接借助Unity内置的QualitySettings类就能实现需求,以下是你需要补全的OnValueChanged方法代码:

public void OnValueChanged(int filterModeIndex)
{
    // 将下拉框索引转换为对应的阴影过滤模式枚举
    ShadowFilterMode targetFilterMode = (ShadowFilterMode)filterModeIndex;
    // 全局修改阴影过滤质量
    QualitySettings.shadowFilterMode = targetFilterMode;
}

额外说明

  • 如果你使用UI下拉组件(Dropdown),可以把选项列表对应到ShadowFilterMode的枚举值:
    • 硬阴影 → ShadowFilterMode.HardShadow(索引0)
    • 软阴影 → ShadowFilterMode.SoftShadow(索引1)
    • PCF软阴影 → ShadowFilterMode.SoftShadowPCF(索引2)
    • 4x PCF软阴影 → ShadowFilterMode.SoftShadowPCF4x(索引3)
    • 16x PCF软阴影 → ShadowFilterMode.SoftShadowPCF16x(索引4)
  • 也可以直接绑定枚举类型到下拉框,避免索引映射出错,此时方法可修改为:
    public void OnValueChanged(ShadowFilterMode filterMode)
    {
        QualitySettings.shadowFilterMode = filterMode;
    }
    
  • 调用该方法后,阴影过滤质量会实时生效,效果与在Project Settings面板手动调整完全一致。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.17 20:22:02