你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
快速入门:在 C++/WinRT 和 DirectX 中使用 Azure Object Anchors 创建 HoloLens 应用
此快速指南介绍如何在 C++/WinRT 和 DirectX 中使用 Azure Object Anchors 创建 HoloLens 应用。 Object Anchors 是一项托管的云服务,它将 3D 资产转换为 AI 模型,以便为 HoloLens 启用对象感知混合现实体验。 完成本教程后,你将拥有一个 HoloLens 应用,可在全息版 DirectX 11(通用 Windows)应用程序中检测对象及其姿势。
将了解如何执行以下操作:
- 创建和旁加载 HoloLens 应用程序
- 检测对象并将其模型可视化
如果没有 Azure 订阅,请在开始之前创建一个 Azure 免费帐户。
先决条件
若要完成本快速入门,请确保具备以下项:
- 环境中存在一个物理对象及其 3D 模型(CAD 或扫描的)。
- 安装了以下内容的 Windows 计算机:
- 用于 Windows 的 Git
- 包含“通用 Windows 平台开发”工作负荷和“Windows 10 SDK (10.0.18362.0 或更高版本)”组件的 Visual Studio 2019
- 已启用开发人员模式的最新 HoloLens 2 设备。
- 若要在 HoloLens 上更新为最新版本,请打开“设置”应用,转到“更新和安全”,然后选择“检查更新”。
创建 Object Anchors 帐户
首先,需要创建一个 Object Anchors 服务帐户。
转到 Azure 门户,然后选择“创建资源”。
搜索“Object Anchors”资源。
搜索“Object Anchors”。
在搜索结果中的“Object Anchors”资源中,选择“创建”->“Object Anchors”。
在“Object Anchors 帐户”对话框中:
- 输入唯一的资源名称。
- 选择要将资源附加到的订阅。
- 创建资源组或使用现有资源组。
- 选择希望资源所在的区域。
选择“创建”开始创建资源。
创建资源后,选择“转到资源”。
在“概述”页面上:
记下帐户域。 稍后需要用到此信息。
记下帐户 ID。 稍后需要用到此信息。
转到“访问密钥”页,并记下主密钥。 稍后需要用到此信息。
上传模型
在运行应用之前,需要使模型可供应用使用。 如果尚无 Object Anchors 模型,请按照创建模型中的说明进行操作,以创建一个模型。 然后,返回此处。
打开 HoloLens 的电源并将其连接到开发设备 (PC) 后,按照以下步骤将模型上传到 HoloLens 上的“3D 对象”文件夹:
同时按 Ctrl 和 C (Ctrl + C),选择并复制要使用的模型。
同时按 Windows 徽标键和 E (Win + E) 启动文件资源管理器。 你应会在左窗格中看到 HoloLens 与其他驱动器和文件夹一起列出。
点击 HoloLens 链接,在右窗格中显示 HoloLens 设备上的存储。
在文件资源管理器中,转到“内部存储”>“3D 对象”。 现在,可以通过同时按 Ctrl 键和 V (Ctrl + V) 将模型粘贴到“3D 对象”文件夹中。
打开示例项目
通过运行以下命令克隆示例存储库:
git clone https://github.com/Azure/azure-object-anchors.git
cd ./azure-object-anchors
在 Visual Studio 中打开快速入门/apps/directx/DirectXAoaSampleApp.sln。
将“解决方案配置”更改为“发布”,将“解决方案平台”更改为 ARM64,并从部署目标选项中选择“设备” 。
配置帐户信息
接下来是将应用配置为使用你的帐户信息。 记下“创建 Object Anchors 帐户”部分中的“帐户密钥”、“帐户 ID”和“帐户域”值 。
打开 Assets\ObjectAnchorsConfig.json。
找到 AccountId
字段,并将 Set me
替换为帐户 ID。
找到 AccountKey
字段,并将 Set me
替换为帐户密钥。
找到 AccountDomain
字段,并将 Set me
替换为帐户域。
现在,右键单击该项目并选择“生成”,生成“AoaSampleApp”项目 。
将应用部署到 HoloLens
成功编译示例项目后,可以将应用部署到 HoloLens。
确保 HoloLens 设备已打开并通过 USB 电缆连接到电脑。 请确保“设备”是选择的部署目标(参见上文)。
右键单击“AoaSampleApp”项目,然后从快捷菜单中选择“部署”以安装应用。 如果 Visual Studio 的“输出窗口”中没有显示任何错误,则会在 HoloLens 上安装应用。
在启动应用之前,应先将对象模型(例如 chair.ou)上传到 HoloLens 上的“3D 对象”文件夹 。 如果未上传,请按照“上传模型”部分中的说明进行操作。
若要启动和调试应用,请选择“调试”>“开始调试”>。
引入对象模型并检测其实例
AoaSampleApp 应用现已在 HoloLens设备上运行。 走近(2 米距离内)目标对象(椅子),并从多个角度观察以进行扫描。 应该会看到对象周围出现一个粉红色的边框,一些黄色的点呈现在对象表面的附近,这表示检测到了该对象。 还应看到一个黄色框,指示搜索区域。
你可以通过右手或左手的手指在空中点击,来定义应用中对象的搜索空间。 搜索空间将在半径为 2 米的球形、4 米 ^3 的边框和视锥之间切换。 对于汽车等大型对象,最佳选择通常是在面对对象的一角站立在大约 2 米的距离时,使用视锥选择。 每次搜索区域更改时,应用都会删除当前正在跟踪的实例。 然后,它会尝试在新搜索区域中再次找到它们。
此应用可一次跟踪多个对象。 为此,请将多个模型上传到设备的“3D 对象”文件夹,并设置一个涵盖所有目标对象的搜索区域。 检测和跟踪多个对象可能需要更长时间。
应用将 3D 模型紧密地对齐到其物理对应项。 用户可以在空中使用左手点击以启用高精度跟踪模式,这可以计算出更准确的姿势。 该功能仍以试验版提供。 它会消耗更多的系统资源,并可能会导致估计姿势的抖动更剧烈。 在空中使用左手再次点击即可切换回正常跟踪模式。