Intro to HDRP & DXR
Abstarct
从2018版本开始,Unity Editor中共有三套渲染管线。
HD Render Pipeline Asset
HDRP配置文件(HD Render Pipeline Asset)管理HDRP项目的所有渲染功能。HDRP会用这个配置文件生成一个HDRP渲染管线的实例,而这个渲染管线的实例包含用于渲染的中间资源。
为了满足项目开发中不同的需求,HDRP还提供了另外两种渲染方式。
针对不同平台使用不同的HDRP配置文件
在同一个HDRP项目中可以创建多个HDRP配置文件,针对不同的计算平台应用不同的HDRP配置文件。
要针对不同的平台使用不同的设置,需要将对应的HDRP配置文件关联到不同的质量等级上。
质量设置里面的HDRP配置文件会覆盖默认的配置文件。
Frame Settings
帧设置针对的是场景中的Camera、Baked or Custom Reflection 和 Realtime Reflection 的相关设置。后面两个反射相关的设置应用在Reflection Probe上
帧设置的优先级低于HDRP配置文件,也就是说,如果在HDRP配置文件中没有打开某项功能,那么帧设置中对应的功能就会自动被禁用。
帧设置可以让我们为不同的相机和反射探针启用/禁用不同的HDRP功能组合。
Volume 框架
Volume 的作用是通过调整各项HDRP功能的参数,影响相机所看到画面的最终渲染效果。
每个HDRP项目中可以有多个HDRP配置文件。
每个配置文件对应不同的画质或目标平台。但是HDRP项目每次只能使用一个HDRP配置文件,也无法在运行时切换HDRP配置文件。
HDRP会为Camera(相机),Backed or Custom Reflection(烘培或自定义反射)和Realtime Reflection(实时反射)提供一套默认的帧设置。如果在HDRP配置中没有被启用,就会在帧设置里被禁用。
注意,在HDRP配置文件中已经启用的功能,也要确保默认帧设置中启用了相关功能。即在HDRP配置文件中启用了某个功能,但是没有在帧设置中启用它,那么在项目中也是无法使用它。
可以为场景中一个(或者多个)相机和反射探针自定义帧设置。 如果在这些自定义帧设置中启用某个功能(前提是在HDRP配置文件中已经启用),那么自定义帧设置中的配置信息会覆盖(Override)默认帧设置中的配置信息。
可以为同一个场景这创建多个Volume。这些Volume的模式可能是全局(Global)的或者是本地(Local)的。如果在当前活跃相机的帧设置(如果没有启用自定义帧设置,就使用默认帧设置)中没有启用某个功能,比如Fog,那么在与此相机相关的Volume中调整Fog参数值就没有意义。
HD Render Pipeline Asset中的7类参数
Rendering
Color Buffer Format
出于对性能的考虑,HDRP默认使用
R11G11B10
格式(不包含Alpha通道)如果要把HDRP渲染的画面合成到另外的图片上,就需要包含Alpha通道,这时就要选择
R16G16B16A16
格式。带有Alpha通道的格式会对性能造成一定的影响。如果需要将
R16G16B16A16
格式作为最终渲染输出的格式,那么在Post Processing的Buffer Format中也要选择相同的格式。Lit Shader Mode
Lit Shader 是HDRP材质使用的默认着色器。可以选择以下三种模式:
Forward:Lit Shader仅使用前向渲染
Deferred:Lit Shader会使用延迟渲染,一些高级材质还会使用前向渲染。
Both:延迟和前向渲染都可用
选择Both模式可以通过自定义帧设置为相机选择Deffered或者Forward渲染。不过此模式会让HDRP为两种渲染方式都编译相关的着色器变体。
如果选择前向渲染或Both模式,则可以选择MSAA
Motion Vector
HDRP可以在屏幕空间反射和运动模糊中使用运动矢量。通过Camera组件启用的TAA必须使用运动矢量才能工作。如果禁用此选项,则运动模糊和TAA功能将不会正常工作,屏幕空间反射则会用低质量渲染模式。
Runtime Debug Display
启用该选项后可以在运行时显示灯光和材质的属性信息。正式出包时建议禁用。
Dithering Cross-fade 平滑转换
这是与Game Object的LOD转换相关的功能。启用该选项后可以让HDRP在做LOD转换时进行平滑的转换。
Terrain Hole 地形洞
启用该选项后可以显示地形上的凹陷孔洞。如果禁用此选项,则地形上的孔洞不会显示。
如果你的场景中没有使用透明材质或者没有在Lit材质中使用相关选项,则可以禁用以下选项以减少构建时间。
- Transparent Backface 透明背面
- Transparent Depth Prepass 透明深度预处理
- Transparent Depth Postpass 透明深度后处理
Custom Pass 自定义通道
如果没有使用Custom Pass 功能,禁用此功能可以节约内存。
Realtime Raytracing 实时光线追踪
如果要在HDRP项目中使用实时光线追踪功能,则需要先启用此选项。
LOD Bias LOD 偏差
场景中的相机会使用此数值来计算LOD偏差。
Maximum LOD Level 最大LOD级别
用于设置相机支持的最大LOD级别。
Decals 贴花
Draw Distance 用于定义相机离开物体多远以后不再渲染贴花。
Atlas Width和Atlas Height 用于设置纹理图集的宽度和高度。这个纹理图集用于保存场景中所有投射在透明表面上的贴花。
Metal and Ambient Occlusion Properties 启用该选项后,贴花能够影响材质上的金属高光和环境光遮蔽。
Maximum Clustered Decals on Screen 屏幕上能够同时显示的贴花数量(这些贴花影响的是透明表面)。
Dynamic Resolution 动态分辨率
Low res Transparency 低分辨率透明
启用该选项后使用低分辨率的透明效果。
Lighting
SSAO(Screen Space Ambient Occlusion)启用此选项后可以为场景添加基于屏幕空间计算的环境光遮蔽效果。可以在Volume中的Ambient Occlusion Override中对效果进行调整。
Volumetrics 体积光
为场景中的灯光和雾效增加体积光效果。
Light Layers 光照层可以
在这里启用/禁用光照层(Light Layers)功能。此功能可以让场景中的光源只照亮指定的物体,忽略无关的物体。在HDRP Global Settings -> Layers Names 中可以见到对应层
Cookies 光线遮罩
Reflections 反射
Sky 天空
Reflection 当场景中没有如何反射探针可以用于计算物体表面的反射信息时,HDRP会使用天空盒Cubemap来计算反射信息。Reflection Size可以控制用于计算反射信息的天空盒Cubemap的分辨率。此分辨率斌不会影响天空盒本身的质量。
Lighting Override Mask 可以让环境光照和天空背景进行分离。如果在此指定了一个Layer而不是使用默认的Nothing,那么HDRP会在场景中寻找与此Layer相关联的Game Object,如果找到的GameObject中包含Volume组件而且可以对当前相机产生影响,那么HDRP就会使用这些Volumn中的信息来计算环境光照。
Shadow 阴影
Shadowmask
控制Shadowmask光照模式(Shadowmask Lighting Mode)的启用/禁用。
Maximum Shadows on Screen 同屏显示最大阴影数量
超过这里设定的阴影数量之外的阴影将不被渲染。
Filtering Quality 过滤质量
选择高质量可以提升阴影质量,减少阴影边缘的锯齿。在Forward模式和Both模式下,可以选择Low,Medium和High三档质量。在Deferred模式下,只能使用Medium质量。
Screen Space Shadows
启用该选项后,HDRP会在一个单独的通道中计算基于屏幕空间的阴影。
Use Contact Shadows 使用接触阴影
此处可以选择Low、Medium、High质量。然后在Light组件中可以选择可用的接触阴影质量。
如果在HDRP配置文件中不勾选上述任何一项,那么只能在Light组件中选择Custom选项。
要使用接触阴影,需要在Default Frame Settings中启用Contact Shadows选项。
Lighting Quality Settings
光照质量的相关设置,配合Lighting中的参数使用,调整相应数值以达到质量与性能的平衡。
Material
Available Material Quality Levels 可用材质质量等级
默认所有材质质量都可以使用
Default Material Quality Level 默认材质质量等级
Distortion 变形
Subsurface Scattering 次表面散射
可以很好的表示光在材质内多次反弹折射等等效果,玉石、翡翠等应用此效果明显。
Fabric BSDF Convolution
若启用此选项,则在使用Fabric材质时,HDRP会单独为织物着色器(Fabric Shader)计算一份反射探针数据,用于生成更准确的光照效果。不过这样做会导致项目中存在两份光照数据,也会导致目前可见的反射探针数量减少一半。
Diffusion Profile List 漫射配置文件列表
在此保存用于控制次表面散射效果和半透明效果的Diffusion Profile。一个HDRP配置文件最多可以保存15个Diffusion Profile。
Post-processing
Grading LUT Size & Grading LUT Format
Size用于控制颜色分级时所用的LUT(Lookup Texture)的大小。默认数值32提供了比较平衡的速度和质量表现。
Format用于设置LUT的编码格式。可以选择
R11G11B10
、R16G16B16A16
或者R32G32B32A32
格式。精度越高的格式颜色越精准。
Post-processing Quality Settings 后处理质量设置
与光照质量设置类似,可以为后处理效果设置采样值。
目前可以设置Depth of Field、Motion Blur、Bloom、Chromatic Aberration(色差)
XR设置
HDRP在特定的平台上输出VR应用
PC需要DX11支持
Ray Tracing
Unity 支持的光追是基于HDRP的,一个光追的Unity项目,首先是一个HDRP项目
下列给出《高清3D虚拟世界|Unity引擎HDRP高清渲染管线实战》提供的学习场景
百度网盘: https://pan.baidu.com/s/1quvL95JhDTBZrnwXtFQwug(提取码:
2020)
Intro to HDRP & DXR
http://www.tsingloo.com/2022/10/01/0bb1a678cb874eee9369c91c1cc18033/