配置 Universal Render Pipeline (URP)

EasyAR 支持的 URP 版本

Universal Render Pipeline (URP) 7.0.0 或更新版本是支持的。可以查看 Getting started with URP 来了解在Unity中使用URP的方法。

注意

关于Unity 6 URP 17+ render graph支持的声明

虽然EasyAR已经支持Unity 6 URP 17+ render graph,但在Unity那边仍有未解决的问题。因此,我们仍然建议在遇到异常情形时使用Unity提供的URP兼容模式。

Unity 6000.0.32f1 render graph(兼容模式下运行正常)中的已知问题包括但不限于:

  1. [未解决] 当你从EasyAR获取相机纹理(类似 ImageTracking_Coloring3DCamera_VideoCamera 样例中的使用),在iOS/Mac设备上可以观察到视觉故障和伪影。我们已经在纯Unity包中复现该问题并报告给了Unity: Glitches on iOS with AR Camera Image Rendering (URP 17 render graph) 。问题进展请关注 Unity Issue UUM-87787 更新以及Unity未来版本的发布日志。(EasyAR中有 部分缓解措施 ,默认关闭)

  2. [未解决] 当你从EasyAR获取相机纹理(类似 ImageTracking_Coloring3DCamera_VideoCamera 样例中的使用),并设置Render Scale为非1(类似Unity的 Mobile_RPAsset.asset 模板中那样),在iOS/Mac设备上可以观察到黑屏。

  3. [EasyAR中已绕过(默认开启)] Windows DX11上相机画面会让场景中的物体渲染效果不可预测。

建议在Unity的问题跟踪页面确认问题的更新,并向Unity直接反馈。

导入 URP Unity Package

如果工程中没有URP的package,可以使用 Unity Package Manager 导入,

../_images/image_g6_1.png

创建 URP 渲染管线资产

请注意,不同URP版本配置不同,请参考官方URP文档,本文档说明针对URP 11。

如果你的工程是使用 URP Project Template 创建的,或工程中已经存在 UniversalRenderPipelineAsset 和 UniversalRenderPipelineAsset_Renderer (Pipeline Asset (Forward Renderer)) ,可以跳过这一步。

Project 窗口中,在某个文件夹中右键点击并选择 Create > Rendering > Universal Render Pipeline > Pipeline Asset (Forward Renderer) 来创建管线资产,

../_images/image_g6_2.png

这会在文件夹中创建两个资产文件,

../_images/image_g6_3.png

配置 URP 以使用EasyAR功能

请注意,不同URP版本配置不同,请参考官方URP文档,本文档说明针对URP 11。

选择 Forward Renderer 资产,在Renderer Features列表中添加一个 EasyARCameraImageRendererFeature 。如果你的工程创建自 URP Project Template ,这个文件位于工程 Assets 目录的 Settings 文件夹中。

../_images/image_g6_4.png

Project Settings 窗口中选择 Graphics (菜单: Edit > Project Settings,并选择Graphics),然后选择 Scriptable Render Pipeline Settings 为 UniversalRenderPipelineAsset

../_images/image_g6_5.png

在部分URP版本中,还需要需要在 Project Settings 窗口中选择 Quality 进行配置选择 Render Pipeline Asset 为 UniversalRenderPipelineAsset (注意不同设备可能使用不同的Level,它们都需要配置)。

如果你在使用EasyAR的样例或在转换一个现有工程,一定要根据 Upgrading your Shaders 的说明来升级样例及其它资产。可以打开菜单 Edit > Render Pipeline > Universal Render Pipeline, 并根据需求选择 Upgrade Project Materials to URP MaterialsUpgrade Selected Materials to URP Materials

../_images/image_g6_6.png

在部分URP版本中,你需要使用不同的菜单工具进行转换,请参考URP官方文档。