版本 10 的新增功能
本页概要介绍了高清渲染管线 (High Definition Render Pipeline, HDRP) 版本 10 中的新功能、改进和已解决的问题。
功能
以下是 Unity 添加到高清渲染管线 10.0 版的功能列表。每个条目均包括功能摘要以及指向任何相关文档的链接。
添加了对 PlayStation 5 平台的支持。
此 HDRP 版本包含对 Playstation 5 平台的支持。有关更多信息,请参阅为游戏主机进行构建。
添加了对 Game Core Xbox Series 平台和 Game Core Xbox One 的支持
此 HDRP 版本包含对 Game Core Xbox Series 平台的支持以及对 Game Core for Xbox One 的支持。有关更多信息,请参阅为游戏主机进行构建。
IES 配置文件和光照剪影
HDRP 现在支持以照明工程协会 (IES) 文件格式描述从光源发出的光的分布。HDRP 支持点光源、聚光灯(圆锥、棱锥和盒体形状)以及矩形面光源的 IES 配置文件。也可以将 IES 配置文件与光照剪影混合,甚至将配置文件和光照剪影混合以进行光照贴图烘焙。
曝光
直方图曝光
现在,HDRP 的曝光实现可以计算图像的直方图,允许选择要丢弃的高和低百分位值。丢弃阴影或高光中的异常值有助于计算更稳定的曝光。
有关此功能的更多信息,请参阅曝光。
新的计量模式
通常最好不要将整个屏幕视为自动曝光算法的输入,因此 HDRP 的曝光实现方案现在包括一个计量遮罩。这包括一个基于纹理的遮罩和一个程序化模式。
有关此功能的更多信息,请参阅曝光。
调试模式
HDRP 现在包含一些新的调试模式,可帮助你为场景设置正确曝光。
有关调试模式的更多信息,请参阅曝光和渲染管线调试 (Render Pipeline Debug)。
可扩展性设置
此 HDRP 版本包括雾效和次表面散射的可扩展性设置。这些设置可以对体积光照的性能和质量进行更多控制。
屏幕空间全局光照
此 HDRP 版本引入了屏幕空间全局光照 (SSGI)。这是一种访问环境所生成的间接漫射光照的算法。它的工作方式与屏幕空间反射相同,都是使用光线追踪来计算结果。
有关更多信息,请参阅屏幕空间全局光照。
自定义通道 AOV 导出
凭借此功能可以使用 HDRP 中任意输出变量 (AOV) API 的扩展从自定义通道注入点导出任意数据。一个使用示例是导出使用自定义通道渲染的“对象 ID”。有关该功能和示例脚本的信息,请参阅 AOV 文档。
调试模式
光源调试视图
为了帮助调试场景中的光照,HDRP 现在提供各种光照调试视图模式,可用于将光源的各个分量分为多个部分。这些调试模式在 AOV API 中也可用,允许录制器导出它们。新的光照调试模式如下:
- 漫射
- 镜面反射
- 直接漫射
- 直接镜面反射
- 间接漫射
- 反射
- 折射
光源层调试模式
HDRP 现在包括一个新的光源层调试模式,该模式可显示分配给每个游戏对象的光源层,或可突出显示与特定光源的光源层匹配的游戏对象。
有关更多信息,请参阅 HDRP 调试窗口中的 Lighting 面板部分。
体积调试模式
Render Pipeline Debug 窗口现在具有一个新的 Volume 面板,可用于可视化影响特定摄像机的 Volume 组件。对于影响最终插值的每个体积,此面板将显示每个属性的值以及是否覆盖了该属性。此外还会使用体积的权重和混合距离来计算体积的影响百分比。有关更多信息,请参阅 HDRP 调试窗口中的 Volume 面板部分。
四边形过度绘制和顶点密度
为了帮助在场景中找到需要 LOD 的游戏对象,HDRP 包括两种新的全屏渲染调试模式,可以找出位于远处或有太多细节的网格。
- 四边形过度绘制 (Quad Overdraw):突出显示 GPU 四边形(运行由主要小三角形或狭长三角形引起的多个片元着色器)。(在 Metal 和 PS4 上不受支持)
- 顶点密度 (Vertex Density):显示像素(运行多个顶点着色器)。(在 Metal 上不受支持)
Alpha to Mask
此 HDRP 版本为所有 HDRP 和 Shader Graph 着色器添加了对 alpha to mask(或 alpha to coverage)的支持。
如需了解更多信息,请参阅 Alpha Clipping 中的 Alpha to Mask 属性。
盒形聚光灯的范围衰减
此 HDRP 版本为盒形聚光灯添加了一个 Range Attenuation 复选框,可以使光源在其范围内均匀发光。
有关更多信息,请参阅 Light 组件文档。
发光贴图的视差遮挡贴图
此 HDRP 版本添加了对具有视差遮挡贴图的发光贴图的支持。
透明材质上的屏幕空间反射
HDRP 的屏幕空间反射 (SSR) 解决方案现在支持透明材质。这对窗户或水面等透明表面非常有用。
织物、毛发和眼睛材质示例
HDRP 现在包括一个新示例,其中包含示例织物和毛发材质。可以将这些材质用作参考,以更快地为具体应用开发织物和毛发材质。HDRP 现在还提供一个眼睛 Shader Graph,可用来创建逼真的眼睛材质。还有一些新的特定于 HDRP 的 Shader Graph 节点,使你可以更轻松地自定义此眼睛 Shader Graph。
贴花改进 - 贴花偏差、贴花层和贴花角度淡化
此 HDRP 版本引入了贴花层,允许你逐层指定哪些贴花影响哪些材质。有关贴花层的更多信息,请参阅“贴花”文档。启用贴花层后,此版本还支持贴花基于角度的淡化。最后,此版本还新增了由 HDRP 应用于贴花网格的世界空间偏差(以米为单位)选项,用于防止该网格与沿视图矢量的其他网格重叠。
输入系统包支持
此 HDRP 版本引入了对输入系统包的支持。在此版本之前,如果启用了输入系统包并禁用了内置输入系统,则 HDRP 提供的调试菜单和摄像机控制脚本将不再起作用。现在,当专门启用输入系统包时,调试菜单和摄像机控制脚本都将起作用。
HDRI 流动贴图
HDRI 天空 (HDRI Sky) 覆盖现在包含一个新属性,允许将流动贴图应用到天空立方体贴图。
如需了解更多信息,请参阅“HDRI 天空”文档。
图形合成器
图形合成器 (Graphics Compositor) 允许在 3D 内容、静态图像和视频各层之间进行实时合成操作。
该工具支持三种类型的合成技术:
- 从 Shader Graph 引导的基于图的合成。
- 摄像机堆叠合成:多个摄像机渲染到相同的渲染目标,然后可以将此结果用于基于图的合成。
- 3D 合成:将合成图层插入 3D 场景中,以便在 3D 游戏对象上的合成图层之间创建诸如反射/折射之类的效果。
总体而言,此工具用于通过将图像和视频与 3D 内容实时混合来合成最终帧,所有这些都在 Unity 内进行,无需外部合成工具。
有关该功能的信息,请参阅 HDRP 合成器文档。
路径追踪
路径追踪景深
此 HDRP 版本包含一种新的景深模式,可用于生成具有高质量散焦模糊效果的路径追踪图像。与后期处理的景深相比,此模式可正确处理多个透明度图层,并且除了路径追踪图像中的典型噪点(可以通过增加样本数量和/或使用外部降噪工具来减轻这种噪点)外,不会产生任何瑕疵。
有关此功能的更多信息,请参阅景深。
累积运动模糊和路径追踪器融合 API
HDRP 现在包含一个录制 API,可用于渲染诸如高质量累积运动模糊和融合路径追踪图像之类的效果。这些技术可将来自多个中间子帧的信息组合起来,从而创建最终的“融合”帧。借助这种新的 API 可以使用脚本提取正确融合的最终帧并进行进一步处理或将它们保存到磁盘。
有关此功能的信息以及一些示例脚本,请参阅多帧渲染和累积文档。
路径追踪次表面散射
路径追踪现在使用随机游走方法支持次表面散射 (SSS)。要使用该功能,请采用与 HDRP 材质相同的方式启用路径追踪并设置 SSS。
有关 HDRP 中的 SSS 的信息,请参阅次表面散射。
路径追踪雾效
路径追踪现在支持雾效吸收。与 SSS 一样,要此功能,请采用与 HDRP 中的标准雾效相同的方式启用路径追踪并设置雾效。
有关 HDRP 中的雾效的信息,请参阅雾效。
在路径追踪中支持 Shader Graph
路径追踪现在支持光照和无光照 Shader Graph 节点。
请注意,图中不应包含依赖于屏幕空间差异 (ddx, ddy) 的节点。当使用光线追踪时,计算当前像素与相邻像素之间差异的节点无法正确计算。
改进
以下是 Unity 对高清渲染管线版本 10 所做的改进的列表。每个条目均包含改进的摘要,并提供相关文档(如果有)的链接。
Scene 视图摄像机属性
特定于 HDRP 的 Scene 视图摄像机属性(例如抗锯齿模式和停止 NaN)不再位于偏好设置窗口中,而是位于 Scene 视图摄像机设置菜单中。
如需了解 HDRP 的 Scene 视图摄像机属性,请参阅 Scene 视图摄像机。
阴影缓存系统
此 HDRP 版本改进了阴影图集和阴影缓存管理。现在可以错开级联阴影,这意味着可以独立更新每个级联。缓存的阴影(使用 OnEnable 的阴影)可渲染其可以独立于主视图看到的所有内容。此版本还引入了更多 API,可用于更精细地控制缓存的阴影。有关更多信息,请参阅阴影。
体积雾控制模式
HDRP 版本 10.2 引入了体积雾控制模式的概念,以帮助在场景中设置体积雾。这些控制模式包括:
- 平衡 (Balance):使用面向性能的方法来定义体积雾的质量。
- 手动 (Manual):允许访问内部属性集以直接控制效果。此模式等效于这次更新之前的行为。
自定义后期处理:新的注入点
此 HDRP 版本为自定义后期处理效果引入了新的注入点。现在可以在时间抗锯齿通道之前注入自定义后期处理效果。
计算着色器现在使用多重编译
作为高端现代渲染器,HDRP 包含许多计算着色器通道。在此之前,要定义某些计算着色器的变体,HDRP 必须为每个变体手动声明新的内核。从此版本开始,HDRP 中的每个计算着色器都使用 Unity 的多重编译 API,这使得维护变得更加容易,但更重要的是,它允许 HDRP 剥离不需要的着色器以缩短编译时间。
屏幕空间反射
HDRP 通过提供新的“PBR 累积”实现方案来改善屏幕空间反射。
平面反射探针过滤
平面反射探针过滤是一个将平面反射和表面平滑度的结果进行合并的过程。在此版本之前,平面反射探针过滤的实现并不总是能生成出色的结果。此 HDRP 版本包含一个新的实现,更接近于基于物理的结果,并显著改善了图像质量。
反射探针伪造基于距离的粗糙度
现在,反射探针可以伪造随着与对象之间的距离越远,表面反射越模糊的感觉。默认情况下,此选项是禁用的,需要在反射探针上启用。
屏幕空间反射
屏幕空间反射效果始终使用在“折射之前”透明通道后生成的颜色棱锥。因此,颜色缓冲区仅包含使用 BeforeRefraction 渲染通道的透明游戏对象。
失真
失真效果现在支持默认情况下禁用的粗糙失真。禁用“粗糙失真”可节省资源,因为该效果不会生成颜色棱锥,而是使用屏幕的副本。
平台稳定性
过去,在 DirectX12、Vulkan、Metal 和 Linux 上,HDRP 出现过稳定性问题。此版本改进了这些平台上的稳定性。
光源循环优化
在性能方面,HDRP 最耗费资源的操作之一是在将光源发送到 GPU 之前对其进行处理。对于许多在场景中包含大量光源的高端项目,这尤其存在问题。此 HDRP 版本引入了一项优化功能,可将光源循环的资源消耗量降低多达 80%,从而在大多数情况下显著提高 CPU 性能。
贴花改进
在延迟光照模式下启用贴花后,HDRP 不再强制执行全深度预通道。只有启用了 Receive Decals 属性的材质才会在预通道中渲染。贴花着色器代码已改进,现在会生成更少的着色器变体,并优化了 UI,可以控制贴花影响哪些材质属性。最后,贴花主栈 (Decal Master Stack) 现在会显示材质上的影响标记控制。
常量缓冲区设置优化
在性能方面,准备着色器数据并将其发送到 GPU 是一项资源密集型操作。HDRP 现在使用一个新的 C# 常量缓冲区 API,允许在单个调用中而无需在多个调用中设置各种着色器 uniform 值。
时间抗锯齿
HDRP 先前的时间抗锯齿 (TAA) 解决方案存在着典型的 TAA 瑕疵的困扰。在移动时图像看起来会模糊,并且经常会出现重影瑕疵。新的实现方案在这两个问题上都有很大的改进,并且还提供了更多的可定制性。
AxF 贴图模式
现在可以在 AxF 着色器中控制所有纹理的纹理贴图模式。可以在平面、三平面或不同 UV 集之间进行选择。
有关此改进的更多信息,请参阅 AxF 着色器。
接触阴影改进
接触阴影现在有更多选项。现在可以设置偏差以避免自相交问题,还可以使用新的厚度属性来填充接触阴影可能留下的间隙。
Light 组件用户体验
Light 组件现在包括一个可视化元素,便于使用物理光单位设置光强度。
曝光
曝光曲线映射
在此版本之前,要设置自动曝光的最小和最大限制,必须使用固定值,因此,曝光值的波动太大。现在可以为这些限制使用曲线,这有助于产生更稳定的曝光。
自定义中间灰度值
自动曝光系统计算平均场景亮度,并尝试将此亮度映射为平均灰度值。此灰度值没有固定的标准,并且会在摄像机制造商之间有所不同。为了提供最大程度的自定义,HDRP 现在允许从业内最常见的中间灰度值中选择灰度值。
自定义通道 API
从此版本开始,现在可以在主摄像机的渲染中从另一个视角(如禁用的摄像机)渲染游戏对象。新的 API 还内置支持将深度、法线和切线渲染到 RTHandle 中。
也可以使用此摄像机覆盖来渲染具有不同视野的某些游戏对象,例如第一人称应用程序中的手臂。
光线追踪
透明回退
在此版本之前,如果为递归渲染设置了透明游戏对象,但未在场景中使用递归渲染,这些游戏对象将消失。同样,如果它们不折射,它们将显得不透明。现在,HDRP 有一组回退功能,使得透明游戏对象的视觉效果在有或没有递归渲染和折射的情况下都保持一致。
阴影质量
光线追踪阴影降噪器现在可生成更高质量的阴影。
有色阴影
HDRP 现在对透明的和可透射的游戏对象支持有色的光线追踪阴影。
有关更多信息,请参阅光线追踪阴影。
透明材质上的光线追踪反射
HDRP 的光线追踪反射 (RTR) 解决方案现在支持透明材质。这对窗户或水面等透明表面非常有用。
虚拟现实 (VR)
光线追踪现在支持 VR。但是,由于光线追踪很消耗资源,而 VR 将这一缺点进一步放大,因此性能非常慢。
渲染图
HDRP 现在在内部使用渲染图 (Render Graph) 系统。这不会影响已经提供的功能,并且应该会显著改善总体内存使用率。在新的 HDRP 模板中,GPU 内存使用率减少了 25%。 如需了解更多信息,请参阅 RenderGraph。
金属度重新映射 (Metallic Remapping)
在光照材质和贴花上使用遮罩贴图时,HDRP 现在会对金属度值使用范围重新映射。
已解决的问题
如需了解 HDRP 版本 10 中已解决的问题,请参阅变更日志。