Unreal 云锚点快速入门

使用云锚点可以打造 Android 和 iOS 用户能够共享的 AR 体验。 本指南将向您介绍如何执行以下操作:

  • 针对云锚点设置您的开发环境
  • 在示例应用中尝试托管和解析锚点

先决条件

  • 本指南假定您已安装并配置
    带 GoogleARCore 插件 1.3+ 的 Unreal Engine 4.19

    否则,请参阅 Unreal 快速入门中的安装和设置步骤。

  • 如果您对锚点的使用不熟悉,请参阅使用锚点,查看介绍。

要求

要使用云锚点,您需要满足以下要求:

硬件

目标 要求
Android
iOS
  • 运行 iOS 11 或更高版本,并且与 ARKit 兼容的以下 iPhone 之一:
    • iPhone X
    • iPhone 8 和 8 Plus
    • iPhone 7 和 7 Plus
    • iPhone 6S 和 6S Plus
    • iPhone SE

  • 一根可以将您的手机连接至开发计算机的 USB 电缆

软件

目标 要求
Android
iOS

使用云锚点

云锚点功能包含在 Unreal 的 GoogleARCoreServices 插件中。

下文将介绍如何执行以下操作:

  • 针对使用云锚点设置您的开发环境
  • 安装并试用示例应用

云锚点命名注意事项

Unreal 以 CloudARPin 形式(类似于 ARPin)实现云锚点 Unreal 的 GoogleARCoreServices 插件和示例应用遵循此命名规范。 在 Unreal 中指示云锚点时,本指南还将使用 CloudARPin 术语。

配置您的开发环境

目标 操作
Android 按照 Unreal Android 快速入门操作
iOS 按照 Unreal iOS 快速入门操作

构建带 GoogleARCore 插件的 Unreal Engine

要使用 CloudARPinSample,请确保先从源代码构建带 GoogleARCore 插件 1.3+ 的 Unreal Engine 4.19

如需了解说明,请参阅 ARCore Unreal 快速入门中的设置您的开发环境

获取示例

获取 CloudARPinSample

  • ARCore for Unreal SDK GitHub 代码库下载并提取 arcore-unreal-sdk-v1.5.0.zip。 。

    –或–

  • 使用以下命令克隆代码库

    git clone https://github.com/google-ar/arcore-unreal-sdk.git

打开示例应用

在 Unreal Editor 中,打开 CloudARPinSample 项目。

下文将介绍如何配置示例以使用云锚点。

关于云锚点 ID 共享

CloudARPin 示例应用使用 Unreal 的网络功能 在本地网络中共享云锚点 ID。

查看 CloudARPin 示例中的 CloudARPinReplicatorARPlayerController,了解实现详细信息。

您可以在自己的应用中使用不同的网络解决方案。

添加 API 密钥

要在您的应用中使用 GoogleARCoreServices 插件中的 CloudARPin API,您需要一个 Google ARCore Cloud Anchor API 密钥。

  1. 获取一个 API 密钥。 如果您对 API 密钥的使用不熟悉,请参阅 Google Cloud Platform Console 帮助中心中的设置 API 密钥

  2. 为您的 Google Cloud Platform 项目启用 ARCore Cloud Anchor API

  3. 在 Unreal 中,将您的 API 密钥添加到项目中:

    • 转到 GoogleARCore Project Settings > GoogleARCoreServices
    • 将密钥添加到 APIKey 字段中。

封装示例

目标 操作
Android 按照 Unreal Android 快速入门中的“部署”说明操作
iOS 按照 Unreal iOS 快速入门中的“部署”说明操作

试用示例应用

构建并运行 CloudARPin 示例应用,尝试托管和解析云锚点。 您可以在一部或多部手机上试用应用。

  1. 安装完成后,在您的手机上查找名为 CloudARPin 的应用并启动它。

  2. 在一部或多部手机上启动会话:

    会话类型 操作
    单部手机
    • 点按 **Start Session**。 会话将开始,屏幕上将显示手机的 IP 地址。
    多部手机
    • 确保通过一个可以访问互联网并允许 P2P 连接的 Wi-Fi 网络连接所有手机。
    • 将一部手机作为主机。 在此手机上启动应用并点按 **Start Session**。 会话将开始,屏幕上将显示手机的 IP 地址。
    • 在其他手机上,请执行以下操作:
      • 启动应用并输入主手机的 IP 地址。
      • 在会话开始后点按 Join

    示例应用将在您的手机上启动,并开始检测您的摄像头前方的平面。

  3. 点按 Host 进入托管模式。

  4. 点按某部手机,开始托管 CloudARPin

    • 应用会将一个 Andy Android 物体放置到平面上,并将其连接到 ARPin
    • 将向 Google 云锚点服务发送一个托管请求,以创建并开始托管 CloudARPin。 托管请求包含表示 ARPin 相对于附近可视特征的位置的数据。
    • 成功的托管请求将在此处创建一个托管的 CloudARPin
    • 应用将显示一个四位的 CloudARPin ID,此 ID 将在托管请求成功后映射到 CloudARPinCloudID
  5. (可选步骤)保持处于托管模式下,您可以重复上一步来托管其他 CloudARPin

  6. 点按 Cancel 以退出托管模式。

  7. 选择之前返回的 CloudARPin ID 并点按 Resolve,将之前托管的 CloudARPin 添加到您的场景中。

    • 系统将创建一个新的 CloudARPin,并将它的跟踪状态设为 Paused
    • 将向 Google 云锚点服务发送一个解析请求。
    • 解析请求包含托管的 CloudARPin 的 ID。 如果 ID 与某个托管的 CloudARPin 匹配,服务器将在您的本地坐标中返回 CloudARPin 的转换。
    • 示例应用使用转换来渲染连接到解析的 CloudARPin 的 Andy Android 物体。
  8. (可选步骤)点按 Cancel,重复上一步以解析更多 CloudARPin

后续步骤