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 4.x
AR Foundation 5.x
AR Foundation 6.x
安装并启用平台专属插件软件包
AR Foundation 软件包为 Unity 开发者提供了一个界面,但本身并未实现任何 AR 功能。如需在目标设备上使用 AR Foundation,您还需要安装单独的软件包,并为每个相应平台启用相应的插件。
Android
借助 ARCore XR 插件 软件包,您可以为 Android 设备构建增强现实应用。 如果您的应用面向 Android 设备,请按照以下步骤在 Unity 项目中安装该软件包。请使用与 AR Foundation 软件包相同的版本,以避免出现任何兼容性问题。
在项目中,依次前往Window > Package Manager。
在 Packages 旁边,选择 Unity Registry 。

在搜索栏中,输入“ARCore XR plugin”。

点击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 plugin”。

点击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 Camera 替换到 AR Session Origin 中。

将新的 AR 游戏对象添加到场景中:右键点击 Hierarchy 面板,然后选择 XR。添加新的 AR Session 和新的 AR Session Origin 游戏对象。
AR Foundation 5.x
AR Session:控制 AR 体验的生命周期。
XR Origin:将 AR 坐标转换为 Unity 世界坐标。
在添加新的游戏对象之前,请删除默认的 Main Camera 。它将被新的 AR Camera 替换在 XR Origin 中。

将新的 AR 游戏对象添加到场景中:右键点击 Hierarchy 面板,然后选择 XR。添加新的 AR Session 和新的 XR Origin 游戏对象。
AR Foundation 6.x
AR Session:控制 AR 体验的生命周期。
XR Origin:将 AR 坐标转换为 Unity 世界坐标。
在添加新的游戏对象之前,请删除默认的 Main Camera 。它将被新的 AR Camera 替换在 XR Origin 中。

将新的 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。
如果 Vulkan 列在 Graphics APIs 下,请将其移除,因为 ARCore 尚不支持 Vulkan。Other Settings > Package Name 使用 Java 软件包名称格式创建唯一的应用 ID。
例如,使用com.example.helloAR。Other Settings > Minimum API Level 如果您要构建 AR Required 应用,请指定 Android 7.0 'Nougat' (API Level 24) or higher。
如果您要构建 AR Optional 应用,请指定 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)。