ARFoundation已支持LWRP
简介:
虽然现在做网游,对以前做的AR始终念念不忘,今天看到了ARFoundation对LWRP的支持,意味着可以使用最新的轻量级渲染管线进行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进行安装。