Version: Unity 6.0 (6000.0)
语言 : 中文
升级到通用渲染管线版本 11.0.x
升级到通用渲染管线版本 10.0.x

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

本页介绍如何从旧版本的通用渲染管线 (URP) 升级到 10.1.x 版。

从 URP 10.0.x 升级

  1. 与 URP 10.0.x 相比,URP 10.1.x 没有重大更改。要将 URP 升级到版本 10.1.x,请安装新版本的包。

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

  1. URP 10.x.x 不支持 Post-Processing Stack v2 包。如果项目使用 Post-Processing Stack v2 包,请先迁移使用这个包的效果。

DepthNormals Pass

从 10.0.x 版开始,URP 可以生成名为 _CameraNormalsTexture 的法线纹理。要在自定义着色器中渲染到此纹理,请添加名为 DepthNormals 的通道。有关示例,请查看 Lit.shader 中的实现。

Screen Space Ambient Occlusion (SSAO)

URP 10.0.x 实现了屏幕空间环境光遮挡 (Screen Space Ambient Occlusion, 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 不支持 Post-Processing Stack v2 包。如果项目使用 Post-Processing Stack v2 包,请先迁移使用这个包的效果。

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