版本:Unity 6 (6000.0)
语言:English
升级到 URP 12 (Unity 2021.2)
升级到 Universal Render Pipeline 的 10.1.x 版本

升级到 Universal Render Pipeline 的 11.0.x 版本

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

从 URP 10.0.x–10.2.x 升级

  1. 以下着色器图着色器的文件名已重命名。新的文件名不包含空格
    Autodesk Interactive
    Autodesk Interactive Masked
    Autodesk Interactive Transparent

    如果您的代码使用 Shader.Find() 方法搜索着色器,请从着色器在 GPU 上运行的程序。 更多信息
    请参阅 术语表
    名称中删除空格,例如 Shader.Find("AutodeskInteractive")

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

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

深度法线通道

从 10.0.x 版本开始,URP 可以生成名为 _CameraNormalsTexture 的法线纹理。要在自定义着色器中渲染到此纹理,请添加一个名为 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 值。

阴影法线偏差

在 11.0.x 中,用于应用阴影法线偏差的公式已略微修复,以便更好地与点光源配合使用。因此,为了完全匹配早期版本的阴影轮廓,可能需要在某些场景场景包含游戏环境和菜单。可以将每个唯一的场景文件视为一个唯一的关卡。在每个场景中,您放置环境、障碍物和装饰,本质上是分段设计和构建您的游戏。 更多信息
请参阅 术语表
中调整参数。通常,对于方向光使用 1.4 而不是 1.0 就足够了。

从 URP 7.0.x–7.1.x 升级

  1. 首先升级到 URP 7.2.0。请参阅 升级到 Universal Render Pipeline 的 7.2.0 版本

  2. URP 8.x.x 不支持 Post-Processing Stack v2 包。如果您的项目使用 Post-Processing Stack v2 包,请先迁移使用该包的效果。

升级到 URP 12 (Unity 2021.2)
升级到 Universal Render Pipeline 的 10.1.x 版本