Version: 6000.3
语言: 中文
升级到通用渲染管线的7.2.0版本
URP 中的已知问题

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

环球渲染管线(Render Pipeline) 获取场景内容并将其显示在屏幕上的一系列作。Unity 允许您从预构建的渲染管道中进行选择,或编写自己的渲染管道。更多信息
请参阅术语表
(URP) 取代了 Unity 2019.3 中的轻量级渲染管线 (LWRP)。如果您的项目使用 LWRP,则必须将其升级为使用 URP 才能使用 Unity 2019.3。

Unity 会自动升级某些内容,您必须进行一些手动更改。按照本指南中的步骤从使用 LWRP 过渡到使用 URP。

升级前

更新装配定义资产

URP 使用 GUID 而不是程序集定义字符串名称。如果你在项目中使用程序集定义资产(ASMDefs),则应确保在每个项目上启用 使用 GUIDs

Unity 会在升级过程中自动升级对 LWRP 的任何现有字符串引用,但最佳做法是在程序集定义资产上使用 GUID 以备将来使用。

对于项目中的每个装配体定义资产:

  • 选择装配定义资产
  • 检查器一个 Unity 窗口,显示有关当前选定游戏对象、资产或项目设置的信息,允许您检查和编辑值。更多信息
    请参阅术语表
    ,启用使用 GUID

有关使用装配定义文件的信息,请参阅有关装配定义的文档

升级过程

升级 LWRP 版本

要开始升级过程,请执行以下作:

  • 在 Unity 2019.3 中打开要升级的项目

Unity 会自动将 LWRP 更新到 7.x.x 版本,并将 URP 包作为更新后的 LWRP 包的依赖项拉入。Unity 脚本更新程序会自动升级脚本文件。脚本更新程序完成后,您的所有脚本一段代码,允许您创建自己的组件、触发游戏事件、随时间修改组件属性以及以您喜欢的任何方式响应用户输入。更多信息
请参阅术语表
应该正确编译。

升级着色器搜索路径

如果您的 LWRP 项目使用Shader.Find搜索 LWRP着色器GPU 上运行的程序。更多信息
请参阅术语表
,您需要更改搜索路径。

为此,请执行以下作:

  • 更改Shader.Find搜索Lightweight搜索Universal.

升级自定义着色器

升级标记

URP 使用自己的脚本标签。如果你的着色器使用 LWRPLightMode标签,它们将在您的 URP 项目中工作,因为 Unity 为此使用内部别名。但是,您应该手动更改标签,以使您的项目面向未来。

为此,请执行以下作:

  • 更改Lightweight2D标签设置为Universal2D.
  • 更改LightweightForward标签设置为UniversalForward.

除此之外,URP 还使用与 LWRP 不同的 RenderPipeline 标签。如果你自己的着色器包含此标签,则需要手动更改它才能使着色器正常工作:

  • 更改LightweightPipeline标签设置为UniversalPipeline.

升级着色器名称

URP的以下着色器名称已更改,因此您需要手动更新着色器文件:

  • 更改UsePass 'Lightweight Render Pipeline/...'UsePass 'Universal Render Pipeline/...'

升级包含路径

URP 使用 LWRP 的不同包含路径。LWRP 7.x.x 包含转发包含,因此您的自定义着色器将从 LWRP 升级到 URP。但是,URP 7.x.x 不包含转发包含,因此您必须手动更新包含路径。

  • 更改#include 'Packages/com.unity.render-pipelines.lightweight/xxx'#include 'Packages/com.unity.render-pipelines.universal/xxx'

升级命名空间

在项目的.cs文件中,查找对LWRP命名空间的引用并将其替换为新的通用命名空间。

  • 更改UnityEditor.Rendering.LWRP.xxx到现在UnityEditor.Rendering.Universal.xxx

升级后期处理效果

URP 版本 7.x 支持后处理堆栈 v2 (PPv2) 及其自己的集成后处理解决方案。如果你的项目中安装了后期处理版本2软件包,并且想要使用URP的集成后处理在图像出现在屏幕上之前通过应用滤镜和效果来改善产品视觉效果的过程。你可以使用后期处理效果来模拟物理摄像机和胶片属性,例如泛光和景深。更多信息 后处理, 后处理, 后处理
术语表中查看
解决方案,你需要先删除后期处理堆栈v2包,然后才能将URP安装到项目中。安装 URP 后,您可以重新创建后期处理效果。

将后期处理效果从 LWRP 升级到 URP 是一个手动过程。你必须使用URP的后处理实现手动重新创建项目中的每个后处理配置文件。

URP 的集成后处理解决方案目前不支持自定义后处理效果。如果你的项目使用自定义后期处理效果,则目前无法在URP的集成后期处理解决方案中重新创建这些效果。即将发布的 URP 版本将支持自定义后期处理效果。

安装 URP 并删除 LWRP

作为自动升级过程的一部分,Unity 将 URP 安装为 LWRP 的依赖项。现在,您必须将 URP 安装为项目本身的依赖项,以便在删除 LWRP 时,Unity 不会自动删除 URP。

要将 URP 安装为项目的依赖项:

  • 转到菜单:窗口>包管理>包管理器
  • 找到通用 RP 包,并记下其名称右侧的版本号。这是已添加到项目中的 URP 版本。
  • 关闭 Unity。
  • 在文件资源管理器中,打开 Unity 项目的根文件夹。
  • 打开“包”文件夹,然后找到manifest.json。这是你项目的项目清单每个 Unity 项目都有一个项目清单,用作包管理器的入口点。此文件必须在<project>/Packages目录。包管理器使用它来配置许多内容,包括该项目的依赖项列表,以及要查询包的任何包存储库。更多信息
    请参阅术语表
    文件。
  • 使用文本编辑器打开项目清单文件。
  • 在依赖项部分的顶部,添加以下条目:
"com.unity.render-pipelines.universal": "[Version number you noted earlier]"

因此,例如,如果 URP 的版本是 7.1.1,则依赖项部分将如下所示:

"dependencies": {
    "com.unity.render-pipelines.universal": "7.1.1",
    ...
}

这会将您已安装的 URP 版本标记为项目的依赖项。您现在可以安全地删除 LWRP。

  • 在 Unity 中打开您的项目。
  • 打开“包管理器”窗口。
  • 找到 轻量级RP(Lightweight RP) 并选择它。
  • 在包管理器窗口的右下角,单击删除。Unity 从项目中完全删除了 LWRP 包。
升级到通用渲染管线的7.2.0版本
URP 中的已知问题