可选的 ARCore Extensions for AR Foundation 软件包向 Unity 的 AR Foundation 软件包添加了功能,让您可以在应用中使用云锚点、相机配置过滤器以及录制和播放等功能。
要求
要使用 ARCore Extensions for AR Foundation 进行开发,您需要具备以下条件:
Android
硬件
- 一台支持 ARCore 的 Android 设备
- 一根用于将设备连接到开发机器的 USB 线
软件
- 提供 Android Build 支持的 Unity 2019.4.3f1 或更高版本
- AR Foundation 4.1.5 或更高版本(随 ARCore Extensions for AR Foundation SDK 自动安装)
- ARCore XR 插件 4.1.5 或更高版本(随 ARCore Extensions for AR Foundation SDK 自动安装)
iOS
硬件
- 一台兼容 ARKit 且支持 ARCore 的设备
- 一根用于将设备连接到开发机器的 USB 线
软件
- Unity 2019.4.3f1 或更高版本(支持 iOS Build Support)
- AR Foundation 4.1.5 或更高版本(随 ARCore Extensions for AR Foundation SDK 自动安装)
- ARKit XR 插件 4.1.5 或更高版本(随 ARCore Extensions for AR Foundation SDK 自动安装)
- Xcode 11.0 或更高版本
安装 ARCore 扩展软件包
请按照以下步骤安装 ARCore Extensions for AR Foundation。
捆绑依赖项
- 确保在开发环境中安装并配置了 AR Foundation。
- 打开或创建一个新的 Unity 项目。
- 选择所需的目标构建平台:
- 从 File 菜单中选择 Build Settings。
- 根据所需的目标平台,选择 Android 或 iOS。
- 点击 Switch Platform。
导入最新的 ARCore 扩展软件包:
- 导航到 Window > Package Manager。
点击 按钮,然后从下拉菜单中选择 Add package from git URL... 选项。
将以下网址粘贴到文本字段中:
https://github.com/google-ar/arcore-unity-extensions.git
点击 Add。
不使用 EDM4U
默认情况下,ARCore 扩展程序捆绑了其他依赖项。当使用其他库(例如 Firebase Analytics)时,如果其他库依赖于不同版本的 External Dependency Manager for Unity,则可能会发生未定义的行为,从而导致依赖项无法正常工作。
安装不带捆绑依赖项的 ARCore 扩展程序,以防止库版本冲突冲突:
- 下载不带 EDM4U 版本的 ARCore Extensions 和
com.google.external-dependency-manager
, - 按照导入包含
.tgz
文件的 UPM 软件包的说明进行操作,并按以下顺序安装软件包:com.google.external-dependency-manager
,- ARCore 扩展(不带 EDM4U)。
安装 ARCore Extensions 时,Unity 还会自动安装所需依赖项的合适版本:
- AR Foundation
- ARCore XR Plugin(在以 Android 为目标平台时使用)
- ARKit XR Plugin(在以 iOS 为目标平台时使用)
这些依赖项可能不会显示在 Package Manager > Package: In project 视图中。不过,您可以在 Project 窗口中的 Packages 下查看这些软件包
设置 ARCore Extensions
AR Foundation 4.x
在 Hierarchy 窗格中,右键点击并添加以下游戏对象(如果尚未添加):
- XR > AR Session
- XR > AR Session Origin
- XR > ARCore Extensions
在 Hierarchy 窗格中,选择 ARCore Extensions 软件包。
在 Inspector 窗格中,对于以下每个字段,点击目标 按钮,然后将每个字段与其对应的游戏对象相关联,如下所示:
- Session:使用场景的 AR Session。
- AR Session Origin:使用场景的 AR Session Origin。
- Camera Manager:使用场景的 AR Camera。
(可选)为云锚点和相机配置过滤器创建和连接以下资源。
在 Project > Assets 窗格中,右键点击并选择 Create > XR > ARCore Extensions Config。
在 Project > Assets 窗格中,右键点击并选择 Create > XR > Camera Config Filter。
在 Hierarchy 窗格中,选择 ARCore Extensions 软件包。
在 Inspector 窗格的 ARCore Extensions Config 字段中,点击目标 按钮,然后连接到 ARCoreExtensionsConfig 资源。
在 Inspector 窗格的 Camera Config Filter 字段中,点击目标 按钮,然后连接到 ARCoreExtensionsCameraConfigFilter 资源。
如果您使用的是低于 2020.3 的 Unity 版本:
- 依次选择 Project Settings > Player > Android > Publishing Settings > Build,然后依次选择 Custom Gradle Properties Template。
在正确连接上述所有 ARCore Extensions 字段后,您的 ARCore Extensions Inspector 窗格将如下所示:
AR 基础 5.x
在 Hierarchy 窗格中,右键点击并添加以下游戏对象(如果尚未添加):
- XR > AR Session
- XR > XR Origin (Mobile AR)
- XR > ARCore Extensions
在 Hierarchy 窗格中,选择 ARCore Extensions 软件包。
在 Inspector 窗格中,对于以下每个字段,点击目标 按钮,然后将每个字段与其对应的游戏对象相关联,如下所示:
- Session:使用场景的 AR Session。
- XR Origin:使用场景的 XR Origin。
- Camera Manager:使用场景的 AR Camera。
(可选)为云锚点和相机配置过滤器创建和连接以下资源。
在 Project > Assets 窗格中,右键点击并选择 Create > XR > ARCore Extensions Config。
在 Project > Assets 窗格中,右键点击并选择 Create > XR > Camera Config Filter。
在 Hierarchy 窗格中,选择 ARCore Extensions 软件包。
在 Inspector 窗格的 ARCore Extensions Config 字段中,点击目标 按钮,然后连接到 ARCoreExtensionsConfig 资源。
在 Inspector 窗格的 Camera Config Filter 字段中,点击目标 按钮,然后连接到 ARCoreExtensionsCameraConfigFilter 资源。
如果您使用的是低于 2020.3 的 Unity 版本:
- 依次选择 Project Settings > Player > Android > Publishing Settings > Build,然后依次选择 Custom Gradle Properties Template。
在正确连接上述所有 ARCore Extensions 字段后,您的 ARCore Extensions Inspector 窗格将如下所示:
如需详细了解如何设置属性,请参阅 Unity 的修改属性指南。
示例项目
ARCore Extensions for AR Foundation 中捆绑的是示例项目,可供您用来开始构建自己的项目。
从 Window 菜单中,打开 Package Manager 并选择 ARCore Extensions 软件包。
在 Samples 下,点击示例项目的 Import,如下所述。
以下示例项目是从 GitHub 代码库导入的:
地理空间(仅限 Android)- 打造全球范围的 AR 体验,并远程将内容附加到 Google 街景覆盖的任何区域。如需了解详情,请参阅 Geospatial API 简介。
PersistentCloudAnchors(Android 和 iOS)- 通过锚定在实际位置的数字信息交互层,在现实世界中打造持久的 AR 体验,并设计可以在许多不同设备上由多人长期共享的体验。如需了解详情,请参阅云锚点简介。
后续步骤
借助 ARCore Extensions for AR Foundation,您现在可以在应用中使用云锚点和摄像头配置。