Unity 的 AR Foundation 是一个跨平台框架,让您只需编写一次增强现实体验,即可针对 Android 或 iOS 设备构建体验,而无需进行任何其他更改。该框架可通过 Unity 的 AR Foundation 软件包获取。
ARCore 的可选 ARCore Extensions for AR Foundation 软件包可添加其他功能,让您能够在应用中使用云锚点、相机配置过滤器以及录制和播放等功能。
迁移或升级现有项目
- 如需将现有项目从(已废弃的)ARCore SDK for Unity 迁移到 Unity 的 AR Foundation 和(可选的)ARCore Extensions,请参阅迁移指南。
- 如需将现有项目从较低版本的 AR Foundation 升级,请参阅 Unity 的升级和迁移指南。
要求
AR Foundation 软件包需要满足以下要求,具体取决于您的目标平台:
Android
硬件
- 支持 ARCore 的 Android 设备或模拟器
- 用于将设备连接到开发机器的 USB 线
软件
iOS
硬件
- 一台支持 ARCore 的 iOS 设备
- 用于将设备连接到开发机器的 USB 线
软件
安装 AR Foundation
请按照以下步骤安装 AR Foundation Unity 软件包。
打开现有 Unity 项目,或创建新的 3D 项目。
导航到 Window > Package Manager。
在 Packages 旁边,选择 Unity Registry。
在搜索栏中输入“AR Foundation”。
点击 Install。
安装和启用平台专用插件软件包
AR Foundation 软件包提供了一个供 Unity 开发者使用的接口,但本身不会实现任何 AR 功能。如需在目标设备上使用 AR Foundation,您还需要为每个平台分别安装软件包并启用相应的插件。
Android
借助 ARCore XR 插件软件包,您可以为 Android 设备构建增强现实应用。如果您的应用以 Android 设备为目标平台,请按照以下步骤在 Unity 项目中安装该 SDK。请使用与 AR Foundation 软件包相同的版本,以避免任何兼容性问题。
在项目中,前往 Window > Package Manager。
在 Packages 旁边,选择 Unity Registry。
在搜索栏中输入“ARCore XR 插件”。
点击 Install。
前往 Edit > Project Settings。在 XR Plug-in Management 中,打开 Android 标签页并启用 ARCore。
iOS
借助 ARKit XR 插件,您可以为 iOS 设备构建增强现实应用。如果您的应用以 iOS 设备为目标平台,请按以下步骤在 Unity 项目中安装它。使用与 AR Foundation 软件包相同的版本,以避免任何兼容性问题。
在项目中,前往 Window > Package Manager。
在 Packages 旁边,选择 Unity Registry。
在搜索栏中输入“ARKit XR 插件”。
点击 Install。
前往 Edit > Project Settings。在 XR Plug-in Management 中,打开 iOS 标签页并启用 ARKit。
配置 AR 会话并将 AR Foundation 组件添加到场景
场景需要 AR 会话才能启用AR 进程,例如运动跟踪、环境理解和光估测。您需要以下游戏对象才能支持 AR 会话:
AR Foundation 4.x
AR Session:控制 AR 体验的生命周期。
AR Session Origin:将 AR 坐标转换为 Unity 世界坐标。
在添加新的游戏对象之前,请删除默认的 Main Camera。它将在 AR Session Origin 中被新的 AR Camera 取代。
将新的 AR 游戏对象添加到场景中:右键点击 Hierarchy 窗格,然后选择 XR。添加新的 AR Session 和 AR Session Origin 游戏对象。
AR Foundation 5.x
AR Session:控制 AR 体验的生命周期。
XR Origin:将 AR 坐标转换为 Unity 世界坐标。
在添加新的游戏对象之前,请删除默认的 Main Camera。它将在 XR Origin 中被新的 AR Camera 取代。
将新的 AR 游戏对象添加到场景中:右键点击 Hierarchy 窗格,然后选择 XR。添加新的 AR Session 和新的 XR Origin 游戏对象。
配置播放器设置
Android
- 前往 File > Build Settings 以打开 Build Settings 窗口。
- 在 Platform 下,选择 Android 并点击 Switch Platform。
- 点击 Player Settings。
应用以下更改:
Player Settings > … 值 Other Settings > Rendering 取消选中 Auto Graphics API。
如果 Graphics APIs 下列出了 Vulkan,请将其移除,因为 ARCore 尚不支持 Vulkan。Other Settings > Package Name 使用 Java 软件包名称格式创建一个唯一的应用 ID。
例如,使用com.example.helloAR
。Other Settings > Minimum API Level 如果您要构建AR 必备应用,请指定 Android 7.0 'Nougat' (API Level 24) or higher。
如果您要构建AR 可选应用,请指定 Android API Level 19 or higher。Other Settings > Scripting Backend 选择 IL2CPP(而非 Mono),以便在下一步中启用 ARM64 支持。 在开发期间:
- 使用 Mono + 32 位 (ARMv7)
- 安装 FAT(32 位 + 64 位)ARCore APK
将应用提交到 Play 商店时:
- 使用 IL2CPP
- 同时启用 32 位 (ARMv7) 和 64 位 (ARM64),以满足 Play 商店的 64 位要求
- 可选(在 2018.3 及更高版本中支持):在 Build Settings 中,启用 Android App Bundles
Other Settings > Target Architectures 如需满足 Google Play 的 64 位要求,请启用 ARM64(64 位 ARM)。 使 ARMv7(32 位 ARM)保持启用状态,以支持 32 位设备。
iOS
- 前往 File > Build Settings 以打开 Build Settings 窗口。
- 在 Platform 下,选择 iOS,然后点击 Switch Platform。
- 点击 Player Settings。
进行以下设置:
Player Settings > … 值 Other Settings > Bundle Identifier 以逆序 DNS 格式添加应用的名称。
例如,使用com.mycompany.myapp
。Other Settings > Camera usage description 输入说明来解释你如何使用 AR(例如 ARKit)。 Other Settings > Target minimum iOS version 11.0 或更高版本 Other Settings > Architecture ARM64
后续步骤
- 开始使用可选的 ARCore Extensions 软件包,该软件包可为 AR Foundation 框架提供额外的 ARCore 功能。
- 使用 Unity 的 AR Foundation 创建 AR 游戏(Codelab)。