Version: Unity 6.0 (6000.0)
语言 : 中文
升级到通用渲染管线版本 7.3.0
从轻量级渲染管线升级到通用渲染管线

升级到通用渲染管线版本 7.2.0

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

为游戏主机构建项目

要为游戏主机构建项目,您需要为要支持的每个平台安装附加包。

需要深度纹理

在以前版本的 URP 中,如果启用了后期处理,可能会导致管线始终需要深度。我们改进了后期处理的集成,仅在启用景深 (Depth of Field)、运动模糊 (Motion Blur) 或 SMAA 效果时才需要管线深度。这样可以在很多情况下提高性能。

由于使用后期处理的摄像机在默认情况下不再需要深度,因此如果将摄像机用于其他效果(例如软粒子),现在必须手动指示摄像机需要深度。

要使所有摄像机都需要深度,请在管线资源中启用 Depth Texture 选项。要使单个摄像机需要深度,请在 Camera 检视面板中将 Depth Texture 选项设置为 On

采样主光的阴影

在先前版本的 URP 中,如果为主光源启用了阴影级联,则将在屏幕空间通道中解析阴影。管线现在总是在渲染不透明或透明对象时解析阴影。这种行为可确保一致性并解决了许多与阴影相关的问题。

如果使用自定义 HLSL 着色器并采样 _ScreenSpaceShadowmapTexture 纹理,则必须改用 GetMainLight 函数将它们升级为采样阴影。

例如:

float4 shadowCoord = TransformWorldToShadowCoord(positionWorldSpace);
Light mainLight = GetMainLight(inputData.shadowCoord);

// now you can use shadow to apply realtime occlusion
half shadow = mainLight.shadowAttenuation;

还必须在 .shader 文件中定义以下内容,以确保自定义着色器可以正确接受阴影:

#pragma multi_compile _ _MAIN_LIGHT_SHADOWS
#pragma multi_compile _ _MAIN_LIGHT_SHADOWS_CASCADE

接受阴影的透明对象

透明对象现在可以在使用阴影级联时接受阴影。还可以选择禁止透明对象接受阴影以提高性能。为此,请禁用前向渲染器资源中的 Transparent Receive Shadows

升级到通用渲染管线版本 7.3.0
从轻量级渲染管线升级到通用渲染管线