版本:Unity 6 (6000.0)
语言:English
将通用渲染管线升级到 10.1.x 版本
将通用渲染管线升级到 9.0.x 版本

将通用渲染管线升级到 10.0.x 版本

此页面介绍如何将通用渲染管线一系列操作,用于获取场景内容并在屏幕上显示。Unity 允许您选择预构建的渲染管线,或编写自己的渲染管线。更多信息
参见 术语表
(URP) 的旧版本升级到 10.0.x 版本。

从 URP 7.2.x 及更高版本升级

  1. URP 10.x.x 不支持 后期处理在图像显示在屏幕上之前应用滤镜和效果来改善产品视觉效果的过程。例如,您可以使用后期处理效果来模拟物理相机和胶片属性,例如 Bloom 和景深。更多信息 后期处理, 后期处理, 后处理
    参见 术语表
    堆栈 v2 包。如果您的项目使用后期处理堆栈 v2 包,请先迁移使用该包的效果。

深度法线通道

从 10.0.x 版本开始,URP 可以生成一个名为 _CameraNormalsTexture 的法线纹理。要在自定义着色器在 GPU 上运行的程序。更多信息
参见 术语表
中渲染到此纹理,请添加一个名为 DepthNormals 的通道。例如,请查看 Lit.shader 中的实现。

屏幕空间环境光遮蔽 (SSAO)

URP 10.0.x 实现了屏幕空间环境光遮蔽一种近似计算有多少环境光(非来自特定方向的光)可以照射到表面上的某个点的方法。
参见 术语表
(SSAO) 效果。

如果您打算在自定义着色器中使用 SSAO 效果,请考虑以下与 SSAO 相关的实体

  • _SCREEN_SPACE_OCCLUSION 关键字。

  • Input.hlslInputData 结构体中包含新的声明 float2 normalizedScreenSpaceUV

  • Lighting.hlsl 包含 AmbientOcclusionFactor 结构体,其中包含用于计算间接和直接遮蔽的变量

    struct AmbientOcclusionFactor
    {
        half indirectAmbientOcclusion;
        half directAmbientOcclusion;
    };
    
  • Lighting.hlsl 包含以下用于采样 SSAO 纹理的函数

    half SampleAmbientOcclusion(float2 normalizedScreenSpaceUV)
    
  • Lighting.hlsl 包含以下函数

    AmbientOcclusionFactor GetScreenSpaceAmbientOcclusion(float2
    normalizedScreenSpaceUV)
    

要在自定义着色器中支持 SSAO,请将 DepthNormals 通道和 _SCREEN_SPACE_OCCLUSION 关键字添加到着色器中。例如,请查看 Lit.shader

如果您的自定义着色器实现了自定义光照函数,请使用函数 GetScreenSpaceAmbientOcclusion(float2 normalizedScreenSpaceUV) 获取 AmbientOcclusionFactor 值以进行光照计算。

从 URP 7.0.x–7.1.x 升级

  1. 首先升级到 URP 7.2.0。请参阅 将通用渲染管线升级到 7.2.0 版本

  2. URP 8.x.x 不支持后期处理堆栈 v2 包。如果您的项目使用后期处理堆栈 v2 包,请先迁移使用该包的效果。

将通用渲染管线升级到 10.1.x 版本
将通用渲染管线升级到 9.0.x 版本