Version: 6000.3
语言: 中文
使着色器与 URP 中的 Deferred 或 Deferred+ 渲染路径兼容
安装和升级 URP

对 URP 中的 Forward+ 渲染路径进行故障排除

缩短构建时间

由于项目中使用的用例、目标平台、渲染器和功能多种多样,某些 URP 配置可能会导致大量着色器在 GPU 上运行的程序。更多信息
请参阅术语表
变种。这可能会导致编译时间过长。

较长的着色器编译时间会影响玩家构建时间和场景场景包含游戏的环境和菜单。将每个唯一的场景文件视为一个独特的关卡。在每个场景中,你放置你的环境、障碍物和装饰品,基本上是将你的游戏设计和构建成碎片。更多信息
请参阅术语表
在编辑器中渲染。

每个摄像机的可见光限制值会影响每个光照复杂光照着色器变体的编译时间。在 Forward+ 中渲染路径渲染管线用于渲染图形的技术。选择不同的渲染路径会影响照明和着色的计算方式。某些渲染路径比其他路径更适合不同的平台和硬件。更多信息
请参阅术语表
,在桌面平台上,该限制为 256。

本节介绍如何通过更改默认的每个摄像机最大可见光数量来减少着色器编译时间。

更改可见光的最大数量

注意:本说明介绍了 URP 设计中限制的解决方法。此限制将在未来的 Unity 版本之一中得到缓解。

通用渲染管线配置包包含定义最大可见光数量的设置。以下说明介绍如何更改这些设置。

注意:如果升级项目的 Unity 版本,请重复此过程。

  1. 在项目文件夹中,将 URP Config Package 文件夹复制到/Library/PackageCache/com.unity.render-pipelines.universal-config/Packages/com.unity.render-pipelines.universal-config.

  2. 打开文件/com.unity.render-pipelines.universal-config/Runtime/ShaderConfig.cs.hlsl.

    该文件包含多个以MAX_VISIBLE_LIGHT_COUNT并以目标平台名称结尾。将括号中的值更改为适合项目的每个摄像机的最大视锥体内光照计数,例如,MAX_VISIBLE_LIGHT_COUNT_DESKTOP (32).

    对于 前向+渲染路径(Forward+ Rendering Path) ,该值包括 主光源(Main Light)。对于 前向渲染路径(Forward Rendering Path) ,该值不包括 主光源(Main Light)。

  3. 打开文件/com.unity.render-pipelines.universal-config/Runtime/ShaderConfig.cs.

    该文件包含多个以k_MaxVisibleLightCount并以平台名称结尾。更改值,使其与ShaderConfig.cs.hlsl文件,例如k_MaxVisibleLightCountDesktop = 32;.

  4. 保存编辑后的文件并重新启动 Unity 编辑器。Unity 会自动配置您的项目和着色器以使用新配置。

现在,由于每个着色器变体的编译时间减少,玩家构建时间应该会更短。

注意:将包源代码复制到Packages文件夹中,此包代码将嵌入到您的项目中,不再是 Unity 安装的一部分。如果您稍后升级 Unity 版本,Unity 不会更新嵌入式包嵌入式包是存储在PackagesUnity 项目根目录。这与您从包服务器下载的大多数包不同,并且是不可变的。更多信息
请参阅术语表
自动来源。您需要手动将更改应用于源代码。有关嵌入式包的更多信息,请参阅嵌入式依赖项

使着色器与 URP 中的 Deferred 或 Deferred+ 渲染路径兼容
安装和升级 URP