本页面包含有关使用 URP 时可能遇到的已知问题的信息。
由于项目中使用的用例、目标平台、渲染器和功能多种多样,某些 URP 配置会导致大量着色器在 GPU 上运行的程序。 更多信息
请参阅 术语表 变体。这会导致编译时间过长。
着色器编译时间过长会影响玩家构建时间以及场景场景包含游戏的环境和菜单。将每个独特的场景文件视为一个独特的关卡。在每个场景中,您可以放置环境、障碍物和装饰品,从本质上来说就是分段设计和构建您的游戏。 更多信息
请参阅 术语表 在编辑器中渲染的时间。
每个摄像机可见光源限制值会影响每个 Lit 和 Complex Lit 着色器变体的编译时间。在 Forward+ 渲染路径渲染管线用于渲染图形的技术。选择不同的渲染路径会影响灯光和阴影的计算方式。某些渲染路径比其他渲染路径更适合不同的平台和硬件。 更多信息
请参阅 术语表 中,在桌面平台上,该限制为 256。
请参阅以下页面,了解如何通过减少可见光源的最大数量来缩短 Forward+ 渲染路径中的构建时间
导入 URP 包样本时,Unity 不会在 质量 > 渲染管线资源 中设置必要的 URP 资源,并且某些样本渲染效果无法正常工作。
要解决此问题
在 项目设置 > 质量 > 渲染管线资源 中,选择 SamplesPipelineAsset
。
如果 URP 渲染器资源分配了任何渲染器功能,则将渲染器资源重命名为与渲染器功能名称之一匹配的名称会导致错误行为:URP 渲染器和渲染器功能会互换位置。
以下场景显示了错误是如何发生的
假设您项目中的 URP 渲染器名为 UniversalRenderer
。
渲染器分配了一个名为 NewRenderObjects
的渲染器功能。
将 UniversalRenderer
重命名为 NewRenderObjects
会导致错误行为
渲染器会与渲染器功能互换位置,并且无法正常工作。
要避免此问题,请勿为 URP 渲染器资源提供与渲染器功能资源相同的名称。
要查找有关此问题的更新,请参阅 Unity 问题跟踪器。
在某些情况下,将 URP 包升级到较新版本时,您可能会收到以下警告
Property (_AdditionalLights<...>) exceeds previous array size (256 vs 16). Cap to previous size.
此警告不会导致项目出现问题,如果您重新启动编辑器,警告会消失。