Unity 的 AR 基础是 一个跨平台框架,支持您编写增强现实体验 然后针对 Android 或 iOS 设备构建应用,无需在 更改。该框架可通过 Unity 的 AR Foundation 软件包获取。
ARCore 可选 面向 AR 基础的 ARCore 扩展 软件包可额外增加一些功能,让您能够使用 Cloud Anchors、相机配置过滤器以及“录制和播放”功能 应用。
迁移或升级现有项目
- 从(已弃用的)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 基础软件包提供了一个接口以供 Unity 开发者使用,但 本身不实现任何 AR 功能。对目标使用 AR 基础 您还需要安装单独的软件包并启用 每个相应平台的对应插件。
Android
ARCore XR 插件 软件包可让您为 Android 设备构建增强现实应用。 如果您的应用 以 Android 设备为目标平台。使用与 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 设备。使用与 AR Foundation 软件包相同的版本 避免任何兼容性问题
在您的项目中,转到 Window > Package Manager。
选择“Packages”旁边的“Unity Registry”。
在搜索栏中输入“ARKit XR 插件”。
点击 Install。
前往 Edit > Project Settings。在 XR Plug-in Management 中,打开 iOS 标签页并启用 ARKit。
配置 AR 会话并向场景添加 AR 基础组件
场景需要 AR 会话才能启用 AR 流程。 例如运动跟踪、环境理解和光照估测。 您需要以下游戏对象来支持 AR 会话:
AR 基础 4.x
AR Session:控制 AR 体验的生命周期。
AR Session Origin:将 AR 坐标转换为 Unity 世界坐标。
在添加新的游戏对象之前,请删除默认的 Main Camera。在AR Camera AR Session Origin。
向场景中添加新的 AR 游戏对象:右键点击 Hierarchy 窗格,然后选择 XR。将 新的AR Session和新的 AR Session Origin Game 对象。
AR 基础 5.x
AR Session:控制 AR 体验的生命周期。
XR Origin:将 AR 坐标转换为 Unity 世界坐标。
在添加新的游戏对象之前,请删除默认的 Main Camera。在AR Camera XR Origin。
向场景中添加新的 AR 游戏对象:右键点击 Hierarchy 窗格,然后选择 XR。将 新的AR Session和新的 XR Origin Game 对象。
配置播放器设置
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)。