打造高清3D虚拟世界|零基础学习Unity HDRP高清渲染管线(第六天)

1.前言回顾

可以点击传送门预览。
传送门: 【打造高清3D虚拟世界|零基础学习Unity HDRP高清渲染管线(第一天)】.
传送门: 【打造高清3D虚拟世界|零基础学习Unity HDRP高清渲染管线(第二天)】.
传送门: 【打造高清3D虚拟世界|零基础学习Unity HDRP高清渲染管线(第三天)】.
传送门: 【打造高清3D虚拟世界|零基础学习Unity HDRP高清渲染管线(第四天)】.
传送门: 【打造高清3D虚拟世界|零基础学习Unity HDRP高清渲染管线(第五天)】.

2.HDRP配置文件(HDRP Asset)

  • HDRP的全称是High Definition Render Pipeline(高清渲染管线)。它是基于Scriptable Render Pipeline(简称SRP,中文翻译为“可编程渲染管线”)实现的一个模板,目前的目标平台是支持Compute Shader的带独立显卡的台式机和家用游戏机,比如PlayStation4和Xbox One。基本上可以把Unity传统的内置渲染管线理解为一个黑盒子,几乎没有什么手段可以控制它的各个渲染阶段。SRP的出现让这一情况完全改变。你甚至可以用SRP创造自己的渲染管线。也就是说,即使Unity提供的渲染管线无法满足我们的渲染需求,也可以使用SRP自定义渲染管线。
  • 当然,SRP的出现也增加了一些额外的设置步骤,这些步骤用于配置你想使用的渲染管线。不过无须担心,设置方法都很简单。下面我们来看一下在各种情况下的设置方法。因为在设置渲染管线时我们要用到ProjectSettings(项目设置)界面,所以先通过菜单Edit→Project Settings…打开项目设置界面。
    可以把渲染管线的设置分成以下几种情况。
    ●使用默认的内置渲染管线
    ●使用HDRP
    ●使用URP

HDRP配置方法

如下图所示,Graphics 的Scriptable Render Pipeline Setting 的参数设置了HDRenderPipelineAsset ,说明Unity3d 使用的是HDRP渲染管线,如果为None,则为默认的内置渲染管线。
在这里插入图片描述
这个HDRenderPipelineAsset 配置文件 是创建HDRP模板项目时自动创建并关联的,如下图所示,点击可进行查看。

在这里插入图片描述

HDRP配置文件创建方法

如果项目不存在,可以在Project 窗口,右击空白,手动创建一个。
在这里插入图片描述

HDRP配置文件基本属性

是

  • Rendering(渲染)
  • Lighting(光照)
  • Lighting Quality Setting(光照质量设置)
  • Material(材质)
  • Post-processing(后处理)
  • Post-processing Quality Setting(后处理质量设置)
  • XR(XR相关设置)

注意:可以创建多个不同配置信息的HDRP的位置文件,以便匹配不同的开发平台,通过手动或者代码动态控制。

Rendering(渲染)

首先来看LitShaderMode 下有三种模式,Forward Only,Deferred Only,Both

Forward Only模式 可以提供更多的高级材质,但是相应的性能消耗较大,比如使用的内存通常较大。
Both模式 HDRP会预先生成针对Forward和Deferred两种模式的Lit Shader variants,也就是在运行时针对不同的相机在这两种模式间切换,同样Both模式下内存占用也会更多。

在这里插入图片描述

Color Buffer Format(颜色缓冲区格式)
  • R11G11B10: 默认值。性能好,蓝色通道精度略低。
  • R16G16B16A16: 更高的精度和动态范围,占用更多带宽和内存。
Lit Shader Mode(光照着色器模式)
  • Forward Only: 仅正向渲染。透明度处理更简单。
  • Deferred Only: 仅延迟渲染。HDRP默认模式,能高效处理大量实时光照。
Motion Vectors(运动向量)
  • 控制是否渲染每像素的运动向量数据,为运动模糊和时间性抗锯齿(TAA) 提供必需数据。
Runtime Debug Display(运行时调试显示)
  • 启用后,可在游戏运行时通过按键切换不同的渲染调试视图,用于分析和优化。
Dithering Cross-fade(抖动交叉淡化)
  • 使用噪声抖动技术在 LOD 级别之间或物体淡入淡出时进行平滑过渡,避免"突然弹出"现象。
Terrain Holes(地形洞)
  • 启用对地形工具中"洞"功能的支持,用于在地形上挖洞。
Transparent Backface / Depth Prepass / Depth Postpass(透明背面/深度预通道/深度后通道)
  • 这些是用于修正透明物体排序和渲染问题的技术开关。
    Backface: 渲染透明物体的背面,可用于改善折射效果。
    Depth Prepass/Postpass: 为透明物体执行额外的深度通道,以解决复杂的深度交互问题(如透明物体间的交错)。通常保持默认即可,除非遇到特定渲染问题。
Custom Pass(自定义通道)
  • 启用自定义渲染通道功能,允许你在HDRP的特定阶段注入自定义的着色器代码,实现全屏特效、物体轮廓等。
Custom Buffer Format(自定义缓冲区格式)
  • 定义自定义通道所使用的渲染纹理格式。
Realtime Raytracing(实时光线追踪)
  • 总开关,用于启用或禁用项目中的所有实时光线追踪效果(如RTGI、RTR、RTAO等)。需要硬件和支持的显卡驱动。
Lod Bias(LOD 偏差) & Maximum Lod Level(最大LOD级别)
  • Lod Bias: 全局调整所有物体的 LOD 切换距离。正值会使引擎更早地使用低细节模型(更节省性能),负值会使引擎更晚切换(更保真)。

  • Maximum Lod Level: 强制所有物体使用的最大LOD级别。设置为 0 表示所有物体都使用最高细节的 LOD0;设置为 1 则表示最多只能使用 LOD1,即使距离再远也不会使用 LOD2 等更低级别。这是强有力的性能控制选项。

Decals(贴花)
  • 贴花是投射到场景表面(如弹孔、血迹、涂鸦)的纹理。
Enable(启用)
  • 全局启用或禁用贴花系统。
Draw Distance(绘制距离)
  • 贴花能够被渲染的最大距离。超过此距离的贴花将不可见。
Atlas Width / Atlas Height(图集宽度/高度)
  • DRP 使用虚拟图集来高效管理多个贴花。这些属性定义了该虚拟图集的分辨率。分辨率越高,能同时显示的高清贴花越多,但内存占用也越大。
Metal and Ambient Occlusion Properties(金属和环境光遮蔽属性)
  • 控制贴花如何影响底层材质的金属度和环境光遮蔽通道。

  • 选项: 如 Scale and Bias 等,用于微调贴花与表面材质属性的混合方式。

Maximum Decals on Screen(屏幕上最大贴花数量)
  • 限制同一帧内能够出现在屏幕上的最大贴花数量。这是关键的性能保护措施,防止因玩家瞬间制造大量贴花而导致性能崩溃。
Dynamic Resolution(动态分辨率)
  • 该功能动态调整渲染分辨率以维持目标帧率。
Enable(启用)
  • 全局启用动态分辨率功能。
Dynamic Resolution Type(动态分辨率类型)
  • 选项:
    Software: 通过脚本或 HDRP 的 API 动态控制。
    Hardware: 使用显卡硬件特性(如 DLSS、FSR、TAAU),通常效果更好且性能开销更低。
Upscale Filter(放大过滤器)
  • 选择将低分辨率图像放大到屏幕分辨率时使用的算法。

  • 选项:
    Bilinear: 最基础、最快的算法,质量一般。
    Catmull-Rom: 锐利的双三次滤波,质量较好。
    Contrast Adaptive Sharpening (CAS): 推荐,在放大时能很好地保持细节和锐度。
    Temporal Anti-aliasing (TAAU): 使用时间累积的高质量放大。

Minimum / Maximum Screen Percentage(最小/最大屏幕百分比)
  • 定义动态分辨率可以缩放的范围。

  • 示例: 最小 50%,最大 100%。意味着渲染分辨率最低会降到屏幕长宽的 50%(即总像素数的 25%),最高为原生分辨率。

Force Screen Percentage(强制屏幕百分比)
  • 在编辑器中用于覆盖并测试特定分辨率缩放比例下的效果,而无需依赖动态调整逻辑。
Low Res Transparency(低分辨率透明)
Enable(启用)
  • 启用后,半透明物体将被渲染在一个降低分辨率的缓冲区中,然后再上采样到屏幕分辨率。

  • 目的: 这是一个纯粹的性能优化选项,可以显著降低渲染复杂半透明物体(如粒子特效、烟雾)的开销。

  • 代价: 可能会导致透明物体的边缘出现一些模糊或失真。适用于对性能要求极高,且能接受透明物体质量轻微下降的移动平台或大型战斗场景。

总结与工作流建议

  • 性能瓶颈在GPU
    尝试启用 Dynamic Resolution,并设置合理的 Min/Max Screen Percentage。
    考虑启用 Low Res Transparency 来处理昂贵的粒子特效。
    调整 Lod Bias 和 Maximum Lod Level,让物体更早使用低模。

  • 性能瓶颈在CPU(Draw Call)
    确保使用 Deferred Only 模式来处理大量光源。
    设置 Maximum Decals on Screen 以防止贴花泛滥。

  • 追求极致画质
    使用 R16G16B16A16 颜色格式。
    禁用 Low Res Transparency。
    使用高质量的 Upscale Filter(如 DLSS/FSR 的质量模式)。
    将 Lod Bias 设为负值,并提高 Maximum Lod Level。

  • 开发调试
    启用 Runtime Debug Display 来分析和定位渲染问题。

这里是井队,天高任鸟飞,海阔凭鱼跃,点个关注不迷路,我们下期再见。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

井队Tell

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值