你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

运行示例应用:Android - Unity (C#)

本快速入门介绍如何使用 Unity (C#) 为 Android 设备运行 Azure 空间定位点示例应用。 Azure 空间定位点是一种跨平台开发人员服务。通过该服务,可以使用能够随时间推移跨设备保存自己位置的对象创建混合的现实体验。 完成后,将获得一个使用 Unity生成的 ARCore Android 应用,该应用可以保存和重新调用空间定位点。

将了解如何执行以下操作:

  • 创建空间定位点帐户
  • 准备 Unity 生成设置
  • 配置空间定位点帐户标识符和帐户密钥
  • 导出 Android Studio 项目
  • 在 Android 设备上部署和运行

如果没有 Azure 订阅,请在开始之前创建一个 Azure 免费帐户

先决条件

若要完成本快速入门,请确保具备以下项:

  • 支持开发人员ARCore 功能的 Android 设备。
    • 你的计算机可能需要其他设备驱动程序才能与 Android 设备通信。 有关其他详细信息和说明,请参阅此处
  • Windows 或 macOS 计算机。
    • 如果在 Windows 上运行,则还需要 Git for WindowsGit LFS
    • 如果在 macOS 上运行,请通过 HomeBrew 安装 Git。 在终端的一行中输入以下命令:/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"。 然后,运行 brew install gitbrew install git-lfs
  • Unity 安装,包括 Android 版本支持Android SDK 和 NDK 工具以及 OpenJDK 模块。 有关受支持的版本和所需的功能,请访问 Unity 项目设置页面

创建空间定位点资源

转到 Azure 门户

在左窗格中,选择“创建资源”。

使用搜索框以搜索“空间定位点”。

显示空间定位点搜索结果的屏幕截图。

选择“空间定位点”,然后选择“创建” 。

在“空间定位点帐户”窗格中,执行以下操作:

  • 使用常规字母数字字符输入唯一的资源名称。

  • 选择想要将资源附加到的订阅。

  • 选择“新建”可创建资源组。 将其命名为 myResourceGroup,然后选择“确定” 。

    资源组是在其中部署和管理 Azure 资源(例如 Web 应用、数据库和存储帐户)的逻辑容器。 例如,可以选择在使用完之后通过一个简单的步骤删除整个资源组。

  • 选择可在其中放置资源的位置(区域)。

  • 选择“创建”开始创建资源。

用于创建资源的“空间定位点”窗格的屏幕截图。

创建资源后,Azure 门户显示部署已完成。

显示资源部署已完成的屏幕截图。

选择“转到资源”。 你现在可以查看资源属性。

将资源的“帐户 ID”值复制到文本编辑器中,供稍后使用。

“资源属性”窗格的屏幕截图。

另外,将资源的“帐户域”值复制到文本编辑器中,供稍后使用。

显示资源的帐户域值的屏幕截图。

在“设置”下,选择“访问密钥” 。 将“帐户密钥”的“主密钥”值复制到文本编辑器中,供稍后使用 。

帐户的“密钥”窗格的屏幕截图。

下载示例项目并导入 SDK

克隆示例存储库

通过运行以下命令克隆示例存储库

git clone https://github.com/Azure/azure-spatial-anchors-samples.git
cd ./azure-spatial-anchors-samples

导入 ASA SDK

按照此处的说明下载并导入 Android 平台所需的 ASA SDK 包。

配置 Unity

在 Unity 中,打开 Unity 文件夹中的项目。 Unity 可能会提示项目使用的版本和计算机上安装的版本有所不同。 只要你的 Unity 编辑器版本比创建项目时所用的版本新,就可以忽略这个警告。 如果你的版本较新,请选择“继续”。 如果你的版本比项目所需的版本旧,请选择“退出”,并升级 Unity 编辑器。

Unity 窗格的屏幕截图。

通过选择“文件”>“生成设置”,打开“生成设置”。

在“平台”部分中,选择“Android”,然后选择“切换平台”将平台更改为 Android 。 Unity 可能会提示你安装 Android 支持组件(若缺少这些组件)。

“Unity 生成设置”窗格的屏幕截图 - Android

关闭“生成设置”窗口 。

配置帐户信息

接下来是将应用配置为使用你的帐户信息。 你之前已在“创建空间定位点资源”部分中,将“帐户密钥”、“帐户 ID”和“帐户域”值复制到文本编辑器中 。

在“项目”窗格中,转到 Assets\AzureSpatialAnchors.SDK\Resources

选择“SpatialAnchorConfig”。 在“检查器”窗格中,输入 Account Key 作为“空间定位点帐户密钥”的值,输入 Account ID 作为“空间定位点帐户 ID”的值,然后输入 Account Domain 作为“空间定位点帐户域”的值 。

导出 Android Studio 项目

通过选择“文件”>“生成设置”,打开“生成设置” 。

在“生成中的场景”下,确保所有场景旁边都有复选标记。

在“运行设备”中选择你的设备,然后选择“生成并运行” 。 系统将要求你保存 .apk 文件,你可为它选取任何名称。

在应用中,使用箭头选择“BasicDemo”,然后按“开始!”按钮以运行演示。 按说明放置并重新调用定位点。

屏幕截图 1屏幕截图 2屏幕截图 3

按照应用中的说明,放置并重新调用定位点。

疑难解答

呈现问题

运行应用时,如果没看到作为背景的照相机(例如,你看到的是空白、蓝色或其他纹理),则可能需要重新导入 Unity 中的资产。 停止应用。 在 Unity 中的顶部菜单中,选择“资产”->“重新导入全部”。 然后再次运行应用。

清理资源

在前面的步骤中,你在资源组中创建了 Azure 资源。 如果将来不再需要这些资源,可以通过删除资源组来删除它们。

从 Azure 门户菜单或“主页”页上,选择“资源组” 。 然后,在“资源组”页上,选择“myResourceGroup” 。

在“myResourceGroup”页中,确保列出的资源是要删除的资源。

选择“删除资源组” ,在文本框中键入“myResourceGroup” 以确认,然后选择“删除” 。

后续步骤

在本快速入门中,你已创建空间定位点帐户。 然后,你配置并部署了应用来保存和重新调用空间定位点。 要详细了解如何改进应用使其可以与其他设备共享空间定位点,请继续学习下一个教程。