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

快速入门:在 Unity 中使用 Azure Object Anchors 创建 HoloLens 应用

本快速入门介绍如何创建使用 Azure Object Anchors 的 Unity HoloLens 应用。 Azure Object Anchors 是一项托管的云服务,它将 3D 资产转换为 AI 模型,以便为 HoloLens 启用对象感知混合现实体验。 完成本教程后,你将拥有一个使用 Unity 生成的 HoloLens 应用,该应用可检测到物理世界中的物体。

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

  • 准备 Unity 生成设置。
  • 导出 HoloLens Visual Studio 项目。
  • 在 HoloLens 2 设备上部署并运行应用。

先决条件

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

  • 环境中存在一个物理对象及其 3D 模型(CAD 或扫描的)。
  • 安装了以下内容的 Windows 计算机:
  • 已启用开发人员模式的最新 HoloLens 2 设备。
    • 若要在 HoloLens 上更新为最新版本,请打开“设置”应用,转到“更新和安全”,然后选择“检查更新”

创建 Object Anchors 帐户

首先,需要创建一个 Object Anchors 服务帐户。

  1. 转到 Azure 门户,然后选择“创建资源”。

    Create a new resource

  2. 搜索“Object Anchors”资源。

    搜索“Object Anchors”。

    Select the Object Anchors Resource

    在搜索结果中的“Object Anchors”资源中,选择“创建”->“Object Anchors”。

    Create an Object Anchors Resource

  3. 在“Object Anchors 帐户”对话框中:

    • 输入唯一的资源名称。
    • 选择要将资源附加到的订阅。
    • 创建资源组或使用现有资源组。
    • 选择希望资源所在的区域。

    Enter Object Anchors resource account details

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

  4. 创建资源后,选择“转到资源”。

    Go to resource

  5. 在“概述”页面上:

    记下帐户域。 稍后需要用到此信息。

    Copy the account domain for your Object Anchors resource

    记下帐户 ID。 稍后需要用到此信息。

    Copy the account ID for your Object Anchors resource

    转到“访问密钥”页,并记下主密钥。 稍后需要用到此信息。

    Copy the account key for your Object Anchors resource

设置设备

若要将应用部署到 HoloLens,需要将 HoloLens 与计算机配对。

  1. 在 HoloLens 中,导航到面向开发人员的 设置 -> 更新和安全性>。
  2. 单击“配对”,将屏幕保持打开状态,直到在第一次部署期间将 PIN 输入到 Visual Studio 中。

上传模型

在运行应用之前,需要使模型可供应用使用。 如果尚无 Object Anchors 模型,请按照创建模型中的说明进行操作,以创建一个模型。 然后,返回此处。

打开 HoloLens 的电源并将其连接到开发设备 (PC) 后,按照以下步骤将模型上传到 HoloLens 上的“3D 对象”文件夹:

  1. 同时按 Ctrl 和 C (Ctrl + C),选择并复制要使用的模型。

  2. 同时按 Windows 徽标键和 E (Win + E) 启动文件资源管理器。 你应会在左窗格中看到 HoloLens 与其他驱动器和文件夹一起列出。

    file explorer

  3. 点击 HoloLens 链接,在右窗格中显示 HoloLens 设备上的存储。

    open HoloLens internal storage

  4. 在文件资源管理器中,转到“内部存储”>“3D 对象”。 现在,可以通过同时按 Ctrl 键和 V (Ctrl + V) 将模型粘贴到“3D 对象”文件夹中。

    paste models in 3D Objects folder

打开示例项目

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

git clone https://github.com/Azure/azure-object-anchors.git

cd ./azure-object-anchors

下一步是下载适用于 Unity 的 Azure Object Anchors 包。

此处找到适用于 Unity (com.microsoft.azure.object-anchors.runtime) 的 Azure Object Anchors 包。 选择所需的版本,并使用“下载”按钮下载该包。

在 Unity 中,打开 quickstarts/apps/unity/basic 项目。

按照此处的说明,使用 Unity 包管理器导入已下载到 Unity 项目中的 Azure Object Anchors 包。

配置帐户信息

接下来是将应用配置为使用你的帐户信息。 记下“创建 Object Anchors 帐户”部分中的“帐户密钥”、“帐户 ID”和“帐户域”值 。

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

选择“ObjectAnchorsConfig”。 在“检查器”窗格中,输入 Account Key 作为“Object Anchors 帐户密钥”的值,输入 Account ID 作为“Object Anchors 帐户 ID”的值,然后输入 Account Domain 作为“Object Anchors 帐户域”的值 。

生成并运行应用

生成示例场景

在 Unity 编辑器中,导航到“Assets/MixedReality.AzureObjectAnchors/Scenes”,然后打开“AOASampleScene”,并将其添加到“场景生成”列表中。

选择“文件”->“生成设置”。 依次选择“通用 Windows 平台”、“切换平台”。 如果 Unity 编辑器指出需要先下载某些组件,请下载并安装这些组件。 按照下面的屏幕截图配置生成设置。 确保只有“AOASampleScene”旁边有一个选中标记:不应包含所有其他场景。

build settings

选择“生成”并选择一个输出文件夹。 现在可以在输出文件夹中生成 VS 项目。

生成并部署应用

打开 Unity 生成的 .sln 文件。 将生成配置更改为以下配置。

build configuration

接下来,需要配置“远程计算机 IP 地址”,以便部署和调试应用。

右键单击“应用”项目,然后选择“属性”。 在“属性”页中,选择“配置属性”->“调试”。 将“计算机名称”值更改为 HoloLens 设备的 IP 地址,然后单击“应用”。

remote debug

关闭“属性”页。 单击“远程计算机”。 应用应开始生成并部署到远程设备。 请确保设备处于活动状态。

在 Unity 初始屏幕后,你将看到一条消息,指示对象观察程序已经初始化。

应用在当前视野中查找对象,然后在检测到对象后进行跟踪。 当某个实例与用户的位置相距 6 米时,它将被删除。 调试文本显示有关实例的详细信息,例如 ID、更新的时间戳和表面覆盖率。

疑难解答

提示

如果未检测到对象,则可以尝试以下步骤:

  1. 仔细检查你为对象使用的是否是正确的模型。
  2. 可视化搜索区域并确保它涵盖目标对象。
  3. 尝试降低 MinSurfaceCoverage
  4. 在 Windows 设备门户中,单击“视图”->“3D 视图”,并验证扫描是否已完成。

后续步骤