高清渲染管线资源
高清渲染管线 (HDRP) 资源用于控制项目的全局渲染设置,并创建渲染管线的实例。
Unity 只会为 HDRP 资源中启用的功能分配内存并构建着色器变体。这意味着可以禁用项目不使用的功能来节省内存。由于某些功能在 Unity 构建项目时需要着色器变体或其他资源,因此只能在编辑时启用和禁用功能。但是,可以在运行时切换特定功能的渲染,而不必使用 HDRP 资源。实际上,Frame-Settings 可以控制场景中摄像机渲染的功能。帧设置 (Frame Settings) 只能切换在 HDRP 资源中启用的功能,无法启用已禁用的功能。
创建 HDRP 资源
使用 HDRP 模板的新项目将在 Assets/Settings 文件夹中包含一个名为 HDRenderPipelineAsset 的 HDRP 资源文件。
如果是将项目升级到 HDRP 并因此没有使用 HDRP 模板,则需要向项目中添加一个 HDRP 资源。要创建和自定义 HDRP 资源,请执行以下操作:
- 在 Unity 编辑器中,打开 Project 窗口,然后导航到您要在其中创建 HDRP 资源的文件夹。此文件夹必须位于 Assets 文件夹中;不能在 Packages 文件夹中创建资源。
- 在主菜单中,选择 Assets > Create > Rendering,然后单击 High Definition Render Pipeline Asset。
- 输入 HDRP 资源的名称,然后按 Return 键以确认名称。
创建了 HDRP 资源后,必须将其分配给管线:
- 导航到 Edit > Project Settings > Graphics,然后在顶部找到 Scriptable Render Pipeline Settings 属性。
- 将 HDRP 资源拖放到属性字段中,或者使用对象选择器(位于字段右侧)从项目中的所有 HDRP 资源列表中选择 HDRP 资源。
现在,Unity 将在 Unity 项目中使用高清渲染管线 (HDRP)。HDRP 不支持伽马空间,所以您的项目必须使用线性颜色空间。要使用线性颜色空间,请执行以下操作:
- 导航到 Edit > Project Settings > Player > Other Settings,然后找到 Color Space 属性。
- 从 Color Space 下拉选单中选择 Linear。
可以创建包含不同设置的多个 HDRP 资源。这对于支持多个平台(例如 PC、Xbox One 和 PlayStation 4)的项目很有用。在每个 HDRP 资源中,可以更改设置以适应每个平台的硬件,然后在为每个平台构建项目时分配相关资源。有关创建 HDRP 资源来适应不同平台的更多信息,请参阅 HDRP 中的可扩展性。
要更改渲染管线使用的 HDRP 资源,可以在 Graphics Settings 窗口中手动选择 HDRP 资源(如上所示),或者通过脚本使用 GraphicsSettings.renderPipelineAsset 属性。
创建 HDRP 资源后,请在 Inspector 中打开该资源以编辑其属性。
渲染 (Rendering)
属性 | 描述 |
---|---|
Color Buffer Format | 由 HDRP 用于渲染的颜色缓冲区格式;使用 R16G16B16A16 代替 R11G11B10 将使内存使用量增加一倍,但可以帮助避免出现条带。Alpha-Output 也需要 R16G16B16A16。 |
Lit Shader Mode | 使用下拉选单选择 HDRP 用于光照着色器的模式。 • Forward Only:强制 HDRP 仅对光照着色器使用前向渲染。 • Deferred Only:强制 HDRP 仅对光照着色器使用延迟渲染(HDRP 仍使用前向渲染来渲染高级材质)。 • Both:允许摄像机使用延迟渲染和前向渲染。 选择 Both 可在运行时针对每个摄像机在光照着色器的前向渲染与延迟渲染之间切换。选择特定模式可以减少构建时间和着色器内存,因为 HDRP 需要更少的着色器变体,但是在运行时无法切换模式。 |
- Multisample Anti-aliasing Quality | 使用下拉选单设置 HDRP 用于多重采样抗锯齿 (MSAA) 的样本数量。样本数量越大,质量越高。选择 None 可禁用 MSAA。 仅当 Lit Shader Mode 设置为 Forward Only 或 Both 时,此属性才可见。 |
Motion Vectors | 启用此复选框可以使 HDRP 支持运动矢量。HDRP 使用运动矢量来实现屏幕空间反射 (SSR) 和运动模糊等效果。禁用此属性时,运动模糊不起作用,且 HDRP 以较低的质量计算 SSR。 |
Runtime Debug Display | 启用此复选框使 HDRP 在运行时能够从 Render Pipeline Debug 窗口中使用调试模式。禁用此复选框可以减少构建时间和着色器内存。这将禁用以下调试模式:除 GBuffer 调试以外的所有材质属性调试模式、各种属性覆盖选项以及所有光照调试模式。 |
Runtime AOV API | 启用此复选框使 HDRP 在运行时能够使用 AOV API(渲染材质属性和光照模式)。禁用此复选框可以减少构建时间和着色器内存。这将禁用以下 AOV 模式:所有材质属性和光照模式。 |
Dithering Cross-fade | 启用此复选框可以使 HDRP 支持抖动交叉淡入淡出。这可以让 HDRP 实现在游戏对象的 LOD 级别之间平滑过渡。禁用此属性时,如果未使用 LOD 淡化,将减少构建时间。 |
Terrain Hole | 启用此复选框可以使 HDRP 支持地形孔洞 (Terrain Holes)。如果未启用此复选框,则地形孔洞在场景中不可见。 |
Transparent Backface | 启用此复选框可以使 HDRP 支持透明背面渲染通道。如果 Unity 项目不需要执行透明背面通道,请禁用此复选框以减少构建时间。 |
Transparent Depth Prepass | 启用此复选框可以使 HDRP 支持透明深度渲染预通道。如果 Unity 项目不需要执行透明深度预通道,请禁用此复选框以减少构建时间。 |
Transparent Depth Postpass | 启用此复选框可以使 HDRP 支持透明深度渲染后通道。如果 Unity 项目不使用透明深度后通道,请取消选中此复选框以减少构建时间。 |
Custom Pass | 启用此复选框可以使 HDRP 支持自定义通道。如果 Unity 项目不使用自定义通道,请取消选中此复选框以节省内存。 |
- Custom Buffer Format | 指定自定义缓冲区的纹理格式。如果由于自定义通道而导致了条带问题,则可以更改为 R11G11B10 (如果不需要 Alpha)或 R16G16B16A16 。 |
Realtime Raytracing (Preview) | 启用此复选框可以启用 HDRP 实时光线追踪(预览版)。此功能要求具有兼容光线追踪的硬件。有关更多信息,请参阅光线追踪入门 (Ray Tracing Getting Started) 页面。 |
Supported Ray Tracing Mode (Preview) | 选择光线追踪效果支持的模式(Performance、Quality 还是 Both)。有关更多信息,请参阅光线追踪入门 (Ray Tracing Getting Started) 页面。 |
- LOD Bias | 设置摄像机用来计算其 LOD 偏差的值。摄像机根据您选择的 LOD Bias Mode 以不同的方式使用此值。 |
- Maximum LOD Level | 设置摄像机用来计算其最大细节级别的值。摄像机根据您选择的 Maximum LOD Level Mode 以不同的方式使用此值。 |
贴花 (Decals)
这些设置可以控制 HDRP 在渲染投影到透明表面上的贴花时使用的贴花图集的绘制距离和分辨率。
属性 | 描述 |
---|---|
Enable | 启用此复选框可以使 HDRP 在 Unity 项目中支持贴花。 |
- Draw Distance | Unity 绘制贴花时与摄像机之间的最大距离。 |
- Atlas Width | 贴花图集宽度。此图集存储了投影到透明表面的所有贴花。 |
- Atlas Height | 贴花图集高度。此图集存储了投影到透明表面的所有贴花。 |
- Metal and Ambient Occlusion properties | 启用此复选框可以使贴花影响金属性和环境光遮挡材质属性。启用此功能会对性能有影响。 |
- Maximum Clustered Decals on Screen | 可以影响屏幕上透明游戏对象的集群贴花的最大数量。集群贴花是指 HDRP 渲染透明游戏对象时使用的贴花列表。 |
- Layers | 启用此复选框可以允许贴花仅影响特定层。 |
动态分辨率 (Dynamic Resolution)
属性 | 描述 |
---|---|
Enable | 启用此复选框可以使 HDRP 在 Unity 项目中支持动态分辨率。 |
- Dynamic Resolution Type | 使用下拉选单选择 HDRP 使用的动态分辨率类型: • Software:此选项分配渲染目标以适应可能的最大分辨率,然后相应地重新调整视口的大小。这允许视口以不同分辨率进行渲染。 |
- Upscale Filter | 使用下拉选单选择 HDRP 用于扩大效果的过滤器。 • Bilinear:低质量的上采样。资源密集度最低的选项。 • Catmull-Rom:双三次上采样,包含 4 个抽头。 • Lanczos:急剧上采样。此方法可能会引入瑕疵,因此不应将其用于极端上采样情况,例如,当屏幕百分比小于 50% 时。 • Contrast Adaptive Sharpen:超急剧上采样。此选项不适用于小于 50% 的屏幕百分比,并且当屏幕百分比设置为 100% 时仍会锐化。这会使用 FidelityFX (CAS) AMD™。如需了解 FidelityFX 和 Contrast Adaptive Sharpening 的信息,请参阅 AMD FidelityFX。 |
- Minimum Screen Percentage | 动态分辨率可以实现的最小屏幕百分比。 |
- Maximum Screen Percentage | 动态分辨率可以实现的最大屏幕百分比。此值必须大于 Min Screen Percentage 的值。 |
- Force Screen Percentage | 启用此复选框可以强制 HDRP 为动态分辨率使用特定的屏幕百分比。此功能对于调试动态分辨率非常有用。 |
- Forced Screen Percentage | HDRP 为动态分辨率使用的特定屏幕百分比。仅当启用了 Force Screen Percentage 时,此属性才可见。 |
光照 (Lighting)
属性 | 描述 |
---|---|
Screen Space Ambient Occlusion | 启用此复选框可以使 HDRP 支持屏幕空间环境光遮挡 (SSAO)。SSAO 是一种实时高效模拟环境光遮挡的技术。 |
Screen Space Global Illumination | 启用此复选框可以使 HDRP 支持屏幕空间全局光照 (SSGI)。SSGI 是一种实时高效模拟全局光照的技术。 |
Volumetrics | 启用此复选框可以使 HDRP 支持体积光效 (Volumetrics)。这允许在视觉环境 (Visual Environment) 中使用 Volumetric Fog 作为 Fog Type。 |
Light Layers | 启用此复选框可以使 HDRP 支持光源层 (Light Layers)。可以为光源分配一个渲染层,然后该光源仅会照亮包含匹配渲染层的网格渲染器或地形。 |
剪影 (Cookies)
使用剪影 (Cookie) 设置可以配置图集的最大分辨率及其格式。更大的分辨率意味着可以一次在屏幕上显示更多剪影,或者通常使用较大的剪影纹理。格式的增加将使您能够处理 HDR 剪影,并以内存为代价提高精度。
属性 | 描述 |
---|---|
2D Atlas Size | 使用下拉选单选择 2D 剪影图集的最大大小。HDRP 将 2D 剪影用于方向光、聚光灯和面光源。 |
2D Atlas Last Valid Mip | 通过添加填充来防止面光源剪影边框被剪切,但是如果使用太高的值,可能会使纹理模糊很多。通常,默认值 (0) 在大多数情况下都很适合。 |
Cookie Format | HDRP 将使用的剪影格式;使用 R16G16B16A16 代替 R11G11B10 将使内存使用量增加一倍,但可以帮助避免出现条带,并增加对 EXR 剪影的支持。 |
反射 (Reflections)
使用反射设置可以配置探针的最大数量和分辨率,以及 Unity 是否应该压缩反射探针缓存。反射探针缓存是指 HDRP 为反射探针保留的运行时内存。缓存是先进先出列表,用于存储当前可见的反射探针。
属性 | 描述 |
---|---|
Screen Space Reflection | 启用此复选框可以使 HDRP 支持屏幕空间反射。SSR 是一种通过复用屏幕空间数据来计算反射的技术。 |
- Transparent | 启用此复选框可以使 HDRP 支持透明材质上的屏幕空间反射。 |
Reflection and Planar Probes Format | 用于反射探针和平面探针的颜色格式。 |
Compress Reflection Probe Cache | 启用此复选框可压缩反射探针缓存以节省磁盘空间。 |
Reflection Cubemap Size | 使用下拉选单选择单个反射探针立方体贴图。 |
Probe Cache Size | 探针缓存的最大大小。定义 HDRP 可以在缓存中保存的探针立方体贴图数量。 |
Planar Reflection Atlas Size | 使用下拉选单选择平面探针图集的分辨率。它定义了可以一次以哪种分辨率渲染多少个反射探针。 |
Planar Resolution Tiers | |
- L | 将平面反射的分辨率设置为此质量。Resolution 设置为 Low 的平面反射探针会使用此分辨率作为平面反射的分辨率。 |
- M | 将平面反射的分辨率设置为此质量。Resolution 设置为 Medium 的平面反射探针会使用此分辨率作为平面反射的分辨率。 |
- H | 将平面反射的分辨率设置为此质量。Resolution 设置为 High 的平面反射探针会使用此分辨率作为平面反射的分辨率。 |
Max Planar Reflection On Screen | 同时在屏幕上出现的平面反射最大数量。 |
Maximum Environment Lights on Screen | HDRP 在屏幕上可以同时管理的环境光的最大数量。 |
天空 (Sky)
这些设置可以控制天空盒反射和天空盒光照。
属性 | 描述 |
---|---|
Reflection Size | 使用下拉选单选择在不存在局部反射探针的情况下由 HDRP 用于管理回退反射的立方体贴图的最大分辨率。这个属性对天空本身的质量没有任何影响。 |
Lighting Override Mask | 使用下拉选单来选择 HDRP 用来覆盖天空光照的体积 (Volume) 层遮罩。可用于将显示天空与光照分离。有关如何将环境光照与天空背景分离的信息,请参阅环境光照。 |
阴影 (Shadow)
这些设置可以调整阴影遮罩的大小。值越小,Unity 丢弃的远处阴影就越多,值越大,Unity 就会显示摄像机更远处的更多阴影。
属性 | 描述 |
---|---|
Shadowmask | 启用此复选框可以使 HDRP 在 Unity 项目中支持 Shadowmask 光照模式。 |
Maximum Shadow on Screen | 可以在视图中看到的阴影最大数量。一个聚光灯投射一个阴影,一个点光源投射六个阴影,一个方向光投射的阴影数等于在高清阴影设置 (HD Shadow Settings) 覆盖中定义的级联数。 |
Filtering Quality | 使用下拉选单选择阴影的过滤质量。较大的值会增加 HDRP 中的阴影质量,因为阴影边缘附近较好的过滤会降低锯齿效果。有关每个过滤质量预设的信息,请参阅过滤质量表。 |
Screen Space Shadows | 启用此复选框可以允许 HDRP 在单独的通道中计算阴影并将它们存储在与屏幕对齐的纹理中。 |
- Maximum | 设置 HDRP 可以处理的屏幕空间阴影最大数量。 |
- Buffer Format | 定义用于屏幕空间阴影的缓冲区的格式(R11G11B10 或 R16G16B16A16)。 |
以下几个部分允许您为 HDRP 中的每种光源类型自定义阴影图集和单独的阴影分辨率层。阴影分辨率层很有用,因为您无需将每个单独光源的阴影分辨率定义为数字,而是可以将经过编号的分辨率分配给指定的阴影分辨率层,然后使用指定的层而不必重写数字。例如,您无需将每个光源的分辨率设置为 512,而是可以指定 Medium 分辨率阴影的分辨率为 512,然后将每个光源的阴影质量设置为 Medium。这样就可以更轻松地在整个 HDRP 项目中获得一致的阴影质量。
此处的三个部分是:
- Directional Light Shadows
- Punctual Light Shadows
- Area Light Shadows
这些部分都具有相同的属性,但 Directional Light Shadows 部分除外,这个部分不包含 Resolution 或 Dynamic Rescale。
属性 | 描述 |
---|---|
Light Atlas | |
Resolution | 使用下拉选单选择阴影图集的分辨率。 |
Precision | 使用下拉选单选择阴影贴图的精度。此属性可以设置阴影贴图的每个像素的位深度。16 bit 值的速度较快,使用的内存较少,但会牺牲精度。 |
Dynamic Rescale | 启用此复选框可在屏幕上的所有阴影当前都不能适应屏幕的情况下允许 HDRP 重新缩放阴影图集。 |
Shadow Resolution Tiers | |
---|---|
L | 将阴影的分辨率设置为此质量。Resolution 设置为 Low 的光源会使用此分辨率作为光源阴影的分辨率。 |
M | 将阴影的分辨率设置为此质量。Resolution 设置为 Medium 的光源会使用此分辨率作为光源阴影的分辨率。 |
H | 将阴影的分辨率设置为此质量。Resolution 设置为 High 的光源会使用此分辨率作为光源阴影的分辨率。 |
U | 将阴影的分辨率设置为此质量。Resolution 设置为 Ultra 的光源会使用此分辨率作为光源阴影的分辨率。 |
Maximum Shadow Resolution | 设置此光源类型的任何阴影贴图的最大分辨率。如果将任何阴影分辨率设置为高于此值的值,HDRP 会将分辨率限制为此值。 |
过滤质量 (Filtering Qualities)
Filtering Quality | 算法 |
---|---|
Low | • 点光源/聚光灯:百分比临近过滤 (PCF) 3x3(4 个抽头)。 • 方向光:PCF 帐篷 5x5(9 个抽头)。 • 面光源:EVSM。 |
Medium | • 点光源/聚光灯:PCF 5x5(9 个抽头)。 • 方向光:PCF 帐篷 5x5(9 个抽头)。 • 面光源:EVSM。 |
High | •点光源/聚光灯/方向光:百分比接近软阴影 (PCSS)。您可以更改样本数量以降低这些阴影的质量。这样可以降低该算法消耗的资源量。要更改该光源投射的阴影的样本数量,请在每个光源组件的 Inspector 中设置 Filter Sample Count。 注意:PCSS 阴影的柔和度由点光源和聚光灯的形状半径以及方向光的角直径进行定义。 • 面光源:EVSM。 |
PCF 算法会应用固定量的模糊。PCSS 会应用不同的模糊量,具体取决于阴影像素和阴影投射物之间的距离。这会产生更加真实的阴影,但也需要更多计算资源。
光源 (Lights)
使用这些设置可以启用或禁用与 HDRP 中的光照相关的设置。
属性 | 描述 |
---|---|
Maximum Directional On Screen | HDRP 在屏幕上可以同时管理的方向光的最大数量。 |
Maximum Punctual On Screen | HDRP 在屏幕上能够同时管理的点光源和聚光灯的最大数量。 |
Maximum Area On Screen | HDRP 在屏幕上可以同时管理的面光源的最大数量。 |
Maximum Lights Per Cell (Ray Tracing) | 光源集群 (Light Cluster) 中单个网格单元格可以存储的最大光源数量。 |
材质 (Material)
属性 | 描述 |
---|---|
Distortion | 启用此复选框可以使 HDRP 支持失真。如果 Unity 项目不使用失真,请禁用此复选框以减少构建时间。 |
Subsurface Scattering | 启用此复选框可以使 HDRP 支持次表面散射 (SSS)。SSS 是指半透明对象表面的光穿透。 |
- High Quality | 启用此复选框可增加 SSS 样本数量,并实现高质量的次表面散射。增加样本数会大幅增加次表面散射效果的性能成本。 |
Fabric BSDF Convolution | 默认情况下,织物材质会重复使用 HDRP 为光照着色器 (GGX BRDF) 计算的反射探针。启用此复选框会使 HDRP 为织物着色器计算每个反射探针的另一个版本,从而实现更准确的光照效果。这会增加资源消耗,因为 HDRP 必须调节两个反射探针而非一个。这还会将当前视图中可见反射探针的数量减少一半,因为存储反射探针数据的缓存大小不会变化,而现在必须存储每个反射探针的两个版本。 |
Diffusion Profile List | 为此列表分配__扩散配置文件 (Diffusion Profile)__ 以存储项目的次表面散射和透射配置文件。要创建扩散配置文件资源,请导航到 Assets > Create > Rendering 并单击 Diffusion Profile。 |
后期处理 (Post-processing)
属性 | 描述 |
---|---|
Grading LUT Size | 内部和外部颜色分级查找纹理 (LUT) 的大小。对于具体项目来说,此大小是固定的。不能混合和搭配 LUT 大小,因此请在开始颜色分级过程之前确定好大小。默认值为 32,可以确保速度与质量之间的良好平衡。 |
Grading LUT Format | 使用下拉选单选择在对颜色分级 LUT 进行编码时使用的格式。格式的精度越低,速度便越快,使用的内存越少,但会牺牲颜色的精度。这些格式直接对应于内置 GraphicsFormat 枚举值中的等效格式。 |
Buffer Format | 使用下拉选单选择在后期处理通道中使用的颜色缓冲区的格式。格式的精度越低,速度便越快,使用的内存越少,但会牺牲颜色的精度。这些格式直接对应于内置 GraphicsFormat 枚举值中的等效格式。 |
后期处理质量设置 (Post-processing Quality Settings)
这些设置定义与 HDRP 中的后期处理效果相关的质量级别(低、中、高)。有关每项设置的详细描述,请参阅文档中的 HDRP 中的后期处理部分。
虚拟纹理 (Virtual Texturing)
属性 | 描述 |
---|---|
CPU Cache Size | Streaming Virtual Texturing 系统可以分配用于缓存纹理数据的 CPU 内存量(以 MB 为单位)。 |
GPU Cache Size per Format | Streaming Virtual Texturing 系统可以按格式分配用于缓存纹理数据的 GPU 内存量(以 MB 为单位)。分配给 None 的值将用于所有未指定的格式。 |