升级到通用渲染管线 10.0.x 版
本页介绍如何从旧版本的通用渲染管线 (URP) 升级到 10.0.x 版。
从 URP 7.2.x 及更高版本进行升级
- URP 10.x.x 不支持 Post-Processing Stack v2 包。如果项目使用 Post-Processing Stack v2 包,请先迁移使用这个包的效果。
DepthNormals 通道
从 10.0.x 版开始,URP 可以生成一个名为 _CameraNormalsTexture
的法线纹理。要在自定义着色器中渲染到此纹理,请添加名为 DepthNormals
的通道。有关示例,请参阅 Lit.shader
中的实现。
屏幕空间环境光遮挡 (SSAO)
URP 10.0.x 实现了屏幕空间环境光遮挡 (Screen Space Ambient Occlusion, SSAO) 效果。
如果打算将 SSAO 效果与自定义着色器一起使用,请考虑以下与 SSAO 相关的实体:
_SCREEN_SPACE_OCCLUSION
关键字。Input.hlsl
在InputData
结构中包含新的声明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 进行升级
先升级到 URP 7.2.0。请参阅升级到通用渲染管线 7.2.0 版。
URP 8.x.x 不支持 Post-Processing Stack v2 包。如果项目使用 Post-Processing Stack v2 包,请先迁移使用这个包的效果。