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.2以上版本的Unity6。

非兼容模式下的已知问题包括:

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

对于所有版本的Unity6,可以使用 部分缓解措施 ,默认开启。

对于 Unity 6000.2.0f1及更新版本,可以将你的Universal Render Pipeline Asset中的Render Scale设置为0.96-1.05以外的数值来规避这个问题。

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

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

导入 URP Unity Package

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

../_images/image_g6_1.png

创建 URP 渲染管线资产

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

如果你的工程是使用 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 12。

选择 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的样例或在转换一个现有工程,一定要根据 Converting your shaders 的说明来升级样例及其它资产。可以打开菜单 Window > Rendering > Render Pipeline Converter 使用文档请见 Render Pipeline Converter

../_images/image_g6_6.png

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