目录
一、Frame Settings(帧设置)
二、Volume
三、HDRP配置文件、帧设置和Volume之间的关系
四、HDRP配置文件
1.Rendering
(1)Color Buffer Format(颜色缓存格式)
(2)Lit Shader Mode(Lit着色器模式)
(3)Motion Vectors(运动矢量)
2.Post-processing Quality Settings(后处理质量设置)
五、针对不同平台使用不同的HDRP配置文件
HDRP配置文件的作用是管理HDRP项目的所有渲染功能。HDRP会使用这个配置文件生成一个HDRP渲染管线的实例,而这个渲染管线的实例包含用于渲染的中间资源。
一、Frame Settings(帧设置)
帧设置针对的是场景中的Camera(相机)、Realtime Reflection(实时反射)和Baked or Custom Reflection(烘焙或自定义反射)的相关设置。后面两个反射相关的设置应用在Reflection Probe(反射探针)组件上。帧设置可以让我们为不同的相机和反射探针启用/禁用不同的HDRP功能组合。通过这样的灵活配置,不仅可以让我们实现不同相机和反射探针的独特画面效果,也可以在某些情况下关闭一些功能以提升总体性能。
帧设置的优先级低于HDRP配置文件,也就是说,如果在HDRP配置文件中没有打开某项功能,那么帧设置中对应的功能就会被自动禁用。
HDRP为帧设置提供了默认设置界面,我们可以通过Window->Project Settings→HDRP Global Settings→Frame Settings打开该界面。
我们可以在以下组件中启用/禁用帧设置:
- Camera组件下的Custom Frame Settings。
- Reflection Probe组件和Planar Reflection Probe组件下的Custom Frame Settings。
二、Volume
Volume的作用是通过调整各项HDRP功能的参数,影响相机所看到画面的最终渲染效果。
Volume的优先级低于帧设置,也就是说,如果在当前相机的帧设置中没有打开某项功能,那么在Volume中对相关功能的调整是不起作用的。
三、HDRP配置文件、帧设置和Volume之间的关系
HDRP配置文件、默认帧设置、自定义帧设置和Volume四者之间的关系:
- 每个HDRP项目中可以有多个HDRP配置文件。每个配置文件对应不同的画质或者目标平台(PC、Xbox、PlayStation)。但是HDRP项目每次只能使用一个HDRP配置文件,也无法在运行时切换HDRP配置文件
- HDRP项目会为Camera、Baked or Custom Reflection和Realtime Reflection提供一套默认的帧设置。HDRP配置文件控制帧设置里面的功能,如果在HDRP配置文件中没有启用某项功能,则在帧设置里面其就会被禁用。所以,如果我们要在项目中使用在HDRP配置文件中已经启用的功能,也要确保默认帧设置中启用了相关的功能(即使在HDRP配置文件中启用了某个功能,但是没有在帧设置中启用它,在项目中也是没法使用它的。)
- 可以为场景中一个(或者多个)相机和反射探针自定义帧设置。如果在这些自定义帧设置中启用某个功能(前提是在HDRP配置文件中已经启用),那么自定义帧设置中的配置信息会覆盖(Override)默认帧设置中的配置信息。
- 可以在同一个场景中创建多个Volume。这些Volume的模式可能是全局(Global)的或者本地(Local)的。但是不管Volume的模式是什么,在Volume上做的参数调整,最终影响的是某个相机的画面效果。因此如果在当前活跃相机的帧设置(如果没有启用自定义帧设置,就使用默认帧设置)中没有启用某个功能,比如Fog,那么在与此相机相关的Volume中调整Fog参数值就没有任何意义。
四、HDRP配置文件
HDRP配置文件中的参数可以分成八类(详细说明参考官方文档),下文主要记录常用的参数:
1.Rendering
(1)Color Buffer Format(颜色缓存格式)
出于对性能的考虑,HDRP默认使用R11G11B10格式(不包含Alpha通道)。如果我们要把HDRP渲染的画面合成到另外的图片上,就需要包含Alpha通道,这时就要选择R16G16B16A16格式。不过带Alpha通道的格式会对性能造成一定影响。
如果我们要使用R16G16B16A16格式作为最终渲染输出的格式,那么在HDRP配置文件Post Processing的Buffer Format中也要选择相同的格式,否则HDRP不会对Alpha通道做后处理,从而导致合成时因为Alpha通道上没有后处理效果,无法与颜色通道中的信息匹配。
(2)Lit Shader Mode(Lit着色器模式)
Lit Shader是HDRP材质使用的默认着色器
- Forward(前向渲染):Lit Shader仅使用前向渲染。
- Deferred(延迟渲染):Lit Shader会使用延迟渲染,一些高级材质还会使用前向渲染。
- Both(延迟和前向渲染都可用)。
可以通过Camera组件中的自定义帧设置(Custom Frame Settings)为相机选择Deferred或者Forward渲染。
选择Both模式会让HDRP为两种渲染方式都编译相关的着色器变体,导致内存占用增加。如果选择Forward或Both模式,则可以选择MSAA(Multisample Anti-aliasing Quality)抗锯齿效果
(3)Motion Vectors(运动矢量)
如果启用该选项,则HDRP支持运动矢量。HDRP可以在屏幕空间反射(Screen Space Reflection)和运动模糊(Motion Blur)中使用运动矢量。通过Camera组件启用的Temporal Antialiasing(TAA)必须使用运动矢量才能正常工作。
如果禁用此选项,则运动模糊和TAA功能将不会工作,屏幕空间反射则会使用低质量渲染模式。
2.Post-processing Quality Settings(后处理质量设置)
目前可以设置Depth of Field(景深)、Motion Blur(运动模糊)、Bloom(泛光)和Chromatic Aberration(色差)等数值。
五、针对不同平台使用不同的HDRP配置文件
因为不同计算平台的性能不同,所以在同一个HDRP项目中可以创建多个HDRP配置文件,针对不同的计算平台应用不同的HDRP配置文件。要针对不同的平台使用不同的设置,需要将这三个HDRP配置文件关联到不同的质量等级上(Project Settings→Quality)。
如果在Graphics中设置了HDRenderPipelineAsset-AllLights作为当前项目默认的HDRP配置文件,但是为其设置的质量等级为Ultra(对应的HDRP配置文件为HDRenderPipelineAsset-High),那么当前项目实际使用的HDRP配置文件是HDRenderPipelineAsset-High。也就是说质量设置里面的HDRP配置文件会覆盖默认的配置文件。(前文也有相关说明)