Notifications
Article
ARFoundation已支持LWRP 4.8.0-preview
Published a month ago
51
0
随着AR技术发展以广泛运用,Unity发布了AR Foundation,其简单易用,跨平台的特性,让AR开发变得更加轻松,在《使用AR Foundation制作圣诞AR小游戏》中,我们介绍如何仅仅十分钟可以制作一款AR小游戏。
《使用AR Foundation制作圣诞AR小游戏》
随着不断的发展,AR Foundation也支持了轻量级渲染管线LWRP,这意味着开发者可以在全新Shader Graph着色器视图中创建着色器,并在AR应用程序中进行渲染。
我们在《AR开发套件AR Foundation现已支持轻量级渲染管线》中介绍过AR Foundation对LWRP的支持情况,现在AR Foundation将支持最新的轻量级渲染管线LWRP 4.8.0-preview。

示例项目

简而言之,arfoundation-samples项目代码库的“lwrp-support”分支已经更新为支持最新的LWRP 4.8.0-preview。示例代码库的“lwrp-support”分支有LWRPSupport文件夹,里面包含所有需要的文件。
下载arfoundation-samples项目:
https://github.com/Unity-Technologies/arfoundation-samples/tree/lwrp_support

操作步骤

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

1.更改为使用LWRP的项目

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

2.设置参数

我们在ARSessionOrigin游戏对象下找到ARCamera游戏对象,并在检视窗口查看该对象。
请注意ARCameraBackground组件,AR Foundation加入了CustomRenderAsset,我们可以在ARCameraBackground组件上使用它。
勾选组件上的“Use Custom Renderer Asset”后,会显示“Custom Renderer Asset”参数。将LWRPBackgroundRendererAsset资源从LWRPSupport文件夹拖入该参数。
这样设置会让我们使用LWRP正确渲染场景所需的一切内容,有关工作原理的更多信息,请查看LWRPSupport文件夹中的源文件。
ARFoundation中添加了一些功能,用于将背景渲染器从默认行为更改为使用指定的CustomRendererAsset。

3.创建资源

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

4.使用Shader Graph 4.8.0-preview

如果你打算使用Shader Graph着色器视图,需要导入和所使用LWRP相同的版本,即Shader Graph 4.8.0-preview。
打开资源包管理器,点击Advanced -> Show preview packages,然后找到Shader Graph着色器视图,在窗口右上方选择版本号。在All Versions分类中找到4.8.0-preview,单击Install进行安装。

小结

请关注arfoundation-samples项目,未来我们将加入包含Shader Graph着色器视图的示例,请使用AR Foundation和LWRP享受创作的快乐。
更多Unity最新功能介绍尽在Unity官方中文论坛(UnityChina.cn)!

Unity China
454
Comments