通用渲染管线资源
要使用通用渲染管线 (Universal Render Pipeline, URP),必须创建 URP 资源并在 Graphics settings 中分配该资源。
URP 资源可以控制通用渲染管线的多个图形功能和质量设置。该资源是继承自“RenderPipelineAsset”的可编程对象。在 Graphics settings 中分配该资源时,Unity 会从内置渲染管线切换到 URP。然后,您可以直接在 URP 中调整相应的设置,而不是在其他地方查找它们。
您可以拥有多个 URP 资源并在它们之间进行切换。例如,可以有一个启用阴影的资源和一个禁用阴影的资源。如果要在资源之间切换以查看效果,不必每次都手动切换相应的阴影设置。但是,无法在 HDRP/SRP 和 URP 资源之间进行切换,因为 这些渲染管线不兼容。
UI 概述
在 URP 中,可以配置以下设置:
注意:如果启用了实验性的 2D 渲染器(菜单:Graphics Settings > 在 Scriptable Render Pipeline Settings 下添加 2D 渲染器资源),URP 资源中与 3D 渲染相关的一些选项对最终应用或游戏没有任何影响。
General
General 设置可以控制管线渲染帧的核心部分。
属性 | 描述 |
---|---|
Depth Texture | 使 URP 可以创建 _CameraDepthTexture 。然后,URP 为场景中的所有摄像机都默认使用此深度纹理。您可以在 Camera Inspector 中为单个摄像机覆盖此项设置。 |
Opaque Texture | 启用此选项可为场景中的所有摄像机都创建一个 _CameraOpaqueTexture 作为默认设置。此设置的功能很像内置渲染管线中的 GrabPass。Opaque Texture 在 URP 渲染任何透明网格之前立即提供场景的快照。您可以在透明着色器中使用它来创建毛玻璃、水折射或热浪等效果。您可以在 Camera Inspector 中为单个摄像机覆盖此项设置。 |
Opaque Downsampling | 将不透明纹理上的采样模式设置为以下选项之一: None:使用与摄像机相同的分辨率生成不透明通道的副本。 2x Bilinear:使用双线性滤波生成二分之一分辨率图像。 4x Box:使用盒状滤波生成四分之一分辨率图像。这会产生柔和模糊的副本。 4x Bilinear:使用双线性滤波生成四分之一分辨率图像。 |
Terrain Holes | 如果禁用此选项,URP 会在您针对 Unity Player 进行构建时移除所有地形孔洞着色器变体,从而减少构建时间。 |
Quality
这些设置可以控制 URP 的质量等级。通过此处的设置,可以在低端硬件上提高性能,或者使图形在高端硬件上呈现更出色的效果。
提示:如果要为不同的硬件使用不同的设置,可以在多个通用渲染管线资源中配置这些设置,然后根据需要进行切换。
属性 | 描述 |
---|---|
HDR | 启用此选项可以默认为场景中的每个摄像机以高动态范围 (HDR) 执行渲染。使用 HDR 时,图像中最亮的部分可以大于 1。这提供了更广泛的光强度,使光照看起来更逼真。有了它,即使在明亮的光线下,您仍然可以看到细节并获得更少的饱和度。如果需要多种光照或使用泛光效果,这非常有用。如果目标硬件是低端硬件,可以禁用此属性以便跳过 HDR 计算,从而获得更好的性能。您可以在 Camera Inspector 中为单个摄像机覆盖此项设置。 |
MSAA | 默认情况下,在渲染时为场景中的每个摄像机使用多重采样抗锯齿 (Multi Sample Anti-aliasing) 技术。这样可以柔化几何体的边缘,使它们不会出现锯齿状或闪烁现象。在下拉菜单中,选择每个像素使用的样本数:2x、4x 或 8x。选择的样本越多,对象边缘越平滑。如果想跳过 MSAA 计算,或者在 2D 游戏中不需要此类计算,请选择 Disabled。您可以在 Camera Inspector 中为单个摄像机覆盖此项设置。 注意:在不支持 StoreAndResolve 存储操作的移动平台上,如果在 URP 资源中选择了 Opaque Texture,Unity 会在运行时忽略 Anti Aliasing (MSAA) 属性(如同 Anti Aliasing (MSAA) 设置为 Disabled 一样)。 |
Render Scale | 此滑动条用于缩放渲染目标分辨率(而不是当前设备的分辨率)。如果出于性能原因要以较小的分辨率进行渲染或需要升级渲染来提高质量,请使用此属性。这只会缩放游戏渲染。UI 渲染保留采用设备的原始分辨率。 |
Lighting
这些设置会影响场景中的光源。
如果禁用其中某些设置,则会从着色器变量中剥离相关的关键字。如果您确定不会在游戏或应用程序中使用某些设置,则可以禁用它们来提高性能并缩短构建时间。
属性 | 描述 |
---|---|
Main Light | 这些设置会影响场景中的主方向光。为选择此项,可以在 Lighting Inspector 中将其指定为 Sun Source。如果不指定太阳光源 (Sun Source),URP 会将场景中最亮的方向光视为主光源。可以在 Pixel Lighting 和 None 选项之间进行选择。如果选择 None,即使设置了太阳光源,URP 也不会渲染主光源。 |
Cast Shadows | 选中此复选框可以使主光源在场景中投射阴影。 |
Shadow Resolution | 此属性可以控制主光源的阴影贴图纹理的大小。高分辨率可提供更清晰、细节更多的阴影。如果内存或渲染时间受限,请尝试降低分辨率。 |
Additional Lights | 在此处可以选择附加的光源来补充主光源。选项包括 Per Vertex、Per Pixel 和 Disabled。 |
Per Object Limit | 此滑动条可以设置影响每个游戏对象的附加光源数量限制。 |
Cast Shadows | 选中此复选框可以使附加光源在场景中投射阴影。 |
Shadow Resolution | 此属性可以控制为附加光源投射定向阴影的纹理大小。这是最多可包含 16 个阴影贴图的精灵图集 (Sprite Atlas)。高分辨率可提供更清晰、细节更多的阴影。如果内存或渲染时间受限,请尝试降低分辨率。 |
Shadows
这些设置可让您配置阴影的外观和行为方式,并在视觉质量和性能之间找到良好的平衡。
Shadows 部分具有以下属性。
属性 | 描述 |
---|---|
Max Distance | Unity 渲染阴影时与摄像机之间的最大距离。Unity 不会渲染超出此距离的阴影。 注意:此属性采用公制单位,无论 Working Unit 属性中的值如何,均是如此。 |
Working Unit | Unity 度量阴影级联距离的单位。 |
Cascade Count | 阴影级联的数量。使用阴影级联可以避免靠近摄像机的阴影过于粗糙,并使阴影分辨率保持在合理的较低值。有关更多信息,请参阅阴影级联页面。增加级联数会降低性能。级联设置仅影响主光源。 |
Split 1 | 级联 1 结束和级联 2 开始的距离。 |
Split 2 | 级联 2 结束和级联 3 开始的距离。 |
Split 3 | 级联 3 结束和级联 4 开始的距离。 |
Last Border | Unity 淡出阴影的区域的大小。Unity 在 Max Distance - Last Border 距离处开始淡出阴影,在 Max Distance 处阴影淡出为零。 |
Depth Bias | 使用此设置可减轻阴影暗斑。 |
Normal Bias | 使用此设置可减轻阴影暗斑。 |
Soft Shadows | 选中此复选框可启用对阴影贴图的额外处理,以使它们看起来更平滑。 启用后,Unity 使用以下阴影贴图过滤方法: 桌面平台:5x5 帐篷过滤器,移动平台:4 抽头过滤器。 性能影响:高。 禁用此选项后,Unity 会使用默认的硬件过滤方法对阴影贴图进行一次采样。 |
Conservative Enclosing Sphere | 启用此选项可改善阴影视锥体剔除,并防止 Unity 过度剔除阴影级联角落中的阴影。 仅当为了兼容在以前的 Unity 版本中创建的现有项目时,才需要禁用此选项。 如果在现有项目中启用此选项,则可能需要调整阴影级联距离,因为阴影剔除封闭球体会改变它们的大小和位置。 性能影响:启用此选项可能会提高性能,因为此选项可最大限度减少阴影级联的重叠,从而减少冗余静态阴影投射物的数量。 |
Post-processing
此部分用于微调全局后期处理设置。
属性 | 描述 |
---|---|
Post Processing | 此复选框为当前 URP 资源开启(选中复选框)或关闭(清除复选框)后期处理。 如果清除此复选框,Unity 会从构建中排除后期处理着色器和纹理,除非以下条件之一成立:
|
Post Process Data | 该资源引用了供渲染器用于后期处理的着色器和纹理。 注意:只有高级自定义用例才需要更改此属性。 |
Grading Mode | 选择要用于项目的颜色分级模式。 • High Dynamic Range:此模式最适合类似于电影制作工作流程的高精度分级。Unity 在色调映射之前应用颜色分级。 • Low Dynamic Range:此模式遵循更经典的工作流程。Unity 在色调映射之后应用有限范围的颜色分级。 |
LUT Size | 设置通用渲染管线用于颜色分级的内部和外部查找纹理 (LUT) 的大小。更大的大小提供更高的精度,但有潜在的性能和内存使用成本。不能混合和搭配 LUT 大小,因此请在开始颜色分级过程之前确定好大小。 默认值为 32,可以确保速度与质量之间的良好平衡。 |
Advanced
在此部分中可以微调很少更改的设置,这些设置会影响更深层次的渲染功能和着色器组合。
属性 | 描述 |
---|---|
SRP Batcher | 选中此复选框可启用 SRP Batcher。如果有许多不同材质使用相同的着色器,这将非常有用。SRP Batcher 是一个内部循环,可以在不影响 GPU 性能的情况下加速 CPU 渲染。使用 SRP Batcher 时,它将替代 SRP 渲染代码内部循环。 |
Dynamic Batching | 启用 Dynamic Batching 可以使渲染管线自动批处理一系列共享相同材质的小动态对象。这对于不支持 GPU 实例化的平台和图形 API 非常有用。如果目标硬件确实支持 GPU 实例化,请禁用 Dynamic Batching。可以在运行时更改此设置。 |
Mixed Lighting | 启用 Mixed Lighting 可告诉管线在构建中包含混合光照着色器变体。 |
Debug Level | 设置渲染管线生成的调试信息级别。值为: Disabled:禁用调试。此为默认值。 Profiling:使渲染管线提供详细信息标签,因此可以在 FrameDebugger 中看到这些标签。 |
Shader Variant Log Level | 设置 Unity 完成构建时要显示的有关着色器剥离和着色器变体的信息级别。值为: Disabled:Unity 不会记录任何内容。 Only Universal:Unity 记录所有 URP 着色器的信息。 All:Unity 记录构建中所有着色器的信息。 构建完成后,可以在 Console 面板中看到信息。 |
Store Actions | 定义 Unity 是丢弃还是存储 DrawObjects 通道的渲染目标。选择 Store 选项可显著增加移动端和基于瓦片的 GPU 上的内存带宽。 Auto:Unity 默认使用 Discard 选项,如果检测到任何注入的通道,则回退到 Store 选项。 Discard:Unity 会丢弃以后不重用的渲染通道的渲染目标(较低的内存带宽)。 Store:Unity 存储每个通道的所有渲染目标(更高的内存带宽)。 |
Adaptive Performance
如果项目中安装了 Adaptive Performance 包,则会出现此部分。Use Adaptive Performance 属性可启用自适应性能 (Adaptive Performance) 功能。
属性 | 描述 |
---|---|
Use Adaptive Performance | 选中此复选框可启用自适应性能功能,该功能可在运行时调整渲染质量。 |