Notifications
Article
AR开发套件AR Foundation现已支持轻量级渲染管线
Published a month ago
78
0
随着AR技术发展以广泛运用,Unity开发了一个多平台API和一些实用工具,我们把这些工具称为:AR Foundation。它通过资源包管理器在Unity中集成,很容易便可将它集成到你的新项目中,它支持ARCore、ARKit以及未来新平台的的核心功能。
最近我们发布了支持LWRP轻量级渲染管线的AR Foundation Preview 18版本。这意味着开发者可以在全新Shader Graph着色器视图中创建着色器,并在AR应用程序中进行渲染。我们加入了ARFoundationRendererAsset,它用于控制自定义ARFoundationRenderer,从而让开发者更好地控制渲染效果。
AR Foundation对原有渲染管线及其资源和着色器的支持没有发生变化,它为项目加入了方法用于支持带有AR Foundation的LWRP。

示例项目

为了说明如何使用全新的ARFoundationRendererAsset,我们创建了arfoundation-samples项目。该项目拥有LWRP支持所需的组件,需要使用Unity 2018.3,因为它依赖LWRP 3.3.0。
下载arfoundation-samples项目:
https://github.com/Unity-Technologies/arfoundation-samples/tree/lwrp_support

操作步骤

如果你想查看适用于LWRP的入门项目,请打开SampleLWRPSCene,将其构建到设备上,该项目会正常运行。
为了使其适用于已有项目,请按照以下步骤进行操作:

1.更改为使用LWRP的项目

首先必须将整个项目改为使用LWRP的项目,了解详细过程请查看:《轻量级渲染管线:优化实时性》。
简单而言,该过程为:创建LightweightRenderpipelineAsset,在Graphics settings将该资源设为Renderpipeline的参数。
这会使部分已有材质无法使用,即使尝试更新这些资源也不行。如果要修复这些材质,将这些材质替换为支持LWRP的新材质即可。
项目的根目录有个LWRPSupport 文件夹。其中包含支持LWRP的所有组件,用于AR Foundation背景渲染。

2.设置参数

在ARSessionOrigin 游戏对象下找到ARCamera 游戏对象,并在检视窗口查看该对象。
注意ARCameraBackground 组件,AR Foundation v1.0.0.0-preview.18加入了CustomRenderAsset,可以在ARCameraBackground 组件上使用。
勾选组件上的“Use Custom Renderer Asset”后,会显示“Custom Renderer Asset”参数。将LWRPBackgroundRendererAsset 资源从LWRPSupport 文件夹拖入该参数。

3.修改材质

CustomRendererAsset 的功能不仅能修改用于渲染背景的材质。本示例中,它还可以修改已使用的材质,将材质改为LWRPSupport 文件夹中的材质。
该资源还会添加辅助组件到摄像机游戏对象上,这些辅助组件允许将该资源关联到LWRP中执行摄像机渲染的部分,并通过设置渲染,使渲染在渲染管线中的正确时间进行。
了解该资源工作原理的更多信息,可以查看LWRPSupport 文件夹中的源文件。AR Foundation中添加了一些功能,用于将背景渲染器从默认行为改为使用指定的CustomRendererAsset 。

4.创建资源

LWRPSupport 文件夹包含支持上述渲染器的着色器、材质和脚本,它还包含一个LWRPBackgroundRendererAsset ,用于将渲染器和其设置提供给AR Foundation。
为了创建这类资源,选择Assets>Create>XR>LWRPBackgroundRendererAsset ,然后会在项目文件夹中创建该资源。
为了在构建项目时包含背景渲染着色器,需要引用该资源,该资源还允许你引用使用这些着色器的材质,从而包含这些着色器。

5.使用Shader Graph 3.3.0

如果你打算使用Shader Graph着色器视图,需要导入3.3.0 - preview版本。
打开资源包管理器,点击Advanced -> Show preview packages,然后找到Shader Graph着色器视图,在窗口右上方选择版本号,在All Versions分类中找到3.3.0 - preview,单击Install进行安装。
请关注arfoundation-samples项目,未来我们将加入包含Shader Graph着色器视图的示例,请使用AR Foundation和LWRP享受创作的快乐。
更多Unity最新功能介绍尽在Unity官方中文论坛(UnityChina.cn)!

Unity China
350
Comments