如何在Unity中使用AR Foundation和ARCore创建一个项目并编译到Android 11手机设备中

最近又开始学如何使用Unity进行AR开发,因为Unity开发的AR Foundation在各种设备(例如Android、iOS、HoloLens)的原生AR SDK(例如ARCore、ARKit、Windows 10 SDK)上进行了封装,允许一次开发、多平台分发,十分方便。但是,虽然写代码方便了,写代码之前的开发环境配置和写完代码之后的编译部署却因平台而易。所以,有必要记录一下,方便日后查阅。本文参考了汪祥春老师的《AR开发权威指南:基于AR Foundation》。

本文介绍以下内容:

  1. 为安卓手机开发AR应用,如何在Unity中开发环境配置?
  2. 如何连接USB的方式连接安卓手机和电脑并进行开发者设置?
  3. 如何在Unity中编译AR应用到安卓手机?

我的环境说明:

使用MacBook Pro 进行开发,版本为MacOS Big Sur 11.6
Unity 版本为: 2019.4.32f1
App部署到小米10, 其安卓版本为Android 11

为Android AR APP配置Unity开发环境

Step 1: 新建一个3D项目
Step 2: 导入AR Foundation和ARCore XR Plugin插件。方式为:单击Unity菜单栏Window -> Package Manager,分别找到AR Foundation和ARCore XR Plugin后,点击"Install" 安装。
Step 3: 点击Unity菜单栏 File -> Build Settings…进入到设置窗口, 点击“Platform”下的“Android”选项,然后点击“Switch Platform”切换到Android平台。

如何在Unity中使用AR Foundation和ARCore创建一个项目并编译到Android 11手机设备中_第1张图片
Step 4: 点击上图左下角的 “Player Settings”, 然后选择左侧的 “Player”,然后点击右侧的Android小图标。可以看到有各种各样的设置选项,比如设置APP在手机上的图标 (Icon)等。
如何在Unity中使用AR Foundation和ARCore创建一个项目并编译到Android 11手机设备中_第2张图片
我更改了以下设置:

  1. Other Settings->Rendering->Graphics APIs, 删掉 Vulkan.
    如何在Unity中使用AR Foundation和ARCore创建一个项目并编译到Android 11手机设备中_第3张图片

  2. Other Settings->Identification->Minimum API Level 设置为 Android 7.0 ‘Nougat’ (API level 24) 或以上,因为ARCore支持的最低版本为24。
    如何在Unity中使用AR Foundation和ARCore创建一个项目并编译到Android 11手机设备中_第4张图片3. 不要勾选 XR Settings中的 ARCore Support
    在这里插入图片描述
    Step 5:由于ARCore 要求 Gradle (不知道这是什么东西?没关系,目前不需要知道) 的版本最低为5.6.4,但是Unity 2019.4.32f1安装时自带的Gradle是5.1.1,所以需要进行额外的设置。官网给出了详细的指导,请依据这个网页的1-3步进行设置。其中,应该可以把下载下来的Gradle随便找个地方放,我放在了和原来Gradle一个目录下。

到这里之后就完成开发环境的设置啦。接下来就可以在Unity中开始编程了。编程完成之后,就可以将应用编译到手机上。下面介绍如何将应用编译到手机上,分为两步:连接手机和进行编译。

连接安卓手机

以小米10为例,首先需要将手机设置为开发者模式。方式为:

  1. 设置 -> 我的设备 -> 全部参数 -> MIUI 版本,连续点击MIUI版本几次,就可以进入开发者模式
  2. 设置 -> 更多设置 -> 开发者选项 (如果不进行上一步,则看不到开发者选项)
  3. 进行以下设置:
    1)打开 USB 调试
    2)打开 USB 安装 (这样电脑可以直接将编译好的应用安装到手机上)

然后通过USB连接手机和电脑就可以了。

在Unity中编译

点击Unity菜单栏 File -> Build Settings…,点击下图标红的地方,就会开始编译,编译后的apk会安装在手机上。
如果编译不成功,在Unity Console上看报错信息,多是开发环境没有设置好,再上网查一下解决。
如何在Unity中使用AR Foundation和ARCore创建一个项目并编译到Android 11手机设备中_第5张图片

搭建基本AR项目结构

配置好之后,就可以开始编程了,不过,还需要通过Hierarchy窗口中添加XR-> AR Session 和 XR-> AR Session Origin。关于这两个组件的说明可参见AR Foundation的官方文档。

另外还需要删除Hierarchy窗口下的Main camera,因为AR Session Origin中有一个AR camera。

参考资料

  1. 汪祥春. AR开发权威指南:基于AR Foundation
  2. Build for Android 11 with Unity. https://developers.google.com/ar/develop/unity/android-11-build

你可能感兴趣的:(Unity,ARFoundation,AR开发,ARFoundation,ARCore,Unity,安卓增强现实,AR)