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

快速入门:从 3D 模型创建 Object Anchors 模型

Azure Object Anchors 是一项托管的云服务,它将 3D 模型转换为 AI 模型,以便为 HoloLens 启用对象感知混合现实体验。 此快速入门介绍如何使用适用于 .NET 的 Azure Object Anchors 转换 SDK 从 3D 模型创建 Object Anchors 模型。

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

先决条件

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

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

创建 Object Anchors 帐户

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

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

    创建新资源

  2. 搜索“Object Anchors”资源。

    搜索“Object Anchors”。

    选择 Object Anchors 资源

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

    创建 Object Anchors 资源

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

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

    输入 Object Anchors 资源帐户详细信息

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

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

    转到资源

  5. 在“概述”页面上:

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

    为 Object Anchors 资源复制帐户域

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

    为 Object Anchors 资源复制帐户 ID

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

    为 Object Anchors 资源复制帐户密钥

获取示例项目

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

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

cd ./azure-object-anchors

转换 3D 模型

现在,可以继续转换 3D 模型。

  1. 在 Visual Studio 中打开 quickstarts/conversion/Conversion.sln。 此解决方案包含一个 C# 控制台项目。

  2. 打开位于项目根目录中的 Configuration.cs 文件,并替换以下字段的 set-me 值:

    字段 说明
    AccountDomain 上面创建的 Object Anchors 帐户的帐户域。
    AccountId 上面创建的 Object Anchors 帐户的帐户 ID。
    AccountKey 上面创建的 Object Anchors 帐户的帐户密钥

    除此之外,还需要验证以下四个字段:

    字段 说明
    InputAssetPath 本地计算机上 3D 模型的绝对路径。 支持的文件格式为 fbxplyobjglb
    AssetDimensionUnit 3D 模型的度量单位。 所有支持的度量单位都可以使用 Azure.MixedReality.ObjectAnchors.Conversion.AssetLengthUnit 枚举进行访问。
    引力 3D 模型的重力向量方向。 此 3D 向量给出了模型坐标系中的向下方向。 例如,如果负数 y 表示模型的 3D 空间中的向下方向,则此值为 Vector3(0.0f, -1.0f, 0.0f)
    DisableDetectScaleUnits 从 Azure.MixedReality.ObjectAnchors.Conversion 0.3.0-beta.6 开始,默认情况下会使用嵌入式缩放单元(如果适用于 fbx 文件)。 可以通过将值设置为 true 来禁用此行为。 对于 fbx 以外的文件格式,将忽略此选项。
  3. 生成并运行项目以上传 3D 模型,向服务注册新的转换作业,并等待其完成。 完成该作业后,将在 InputAssetPath 中指定的文件旁边下载 Object Anchors 模型。 你应会看到类似于下面的控制台输出:

     Asset   : ***********
     Gravity : ***********
     Unit    : ***********
     Attempting to upload asset...
     Attempting to create asset conversion job...
     Successfully created asset conversion job. Job ID: ***********
     Waiting for job completion...
    
     Asset conversion job completed successfully.
     Attempting to download result as '***********'...
     Success!
    

    记下作业 ID 以供将来参考。 调试或排查故障时,这可能很有用。

  4. 成功完成作业后,你应该会在指定的输出位置看到一个格式为 <Model-Filename-Without-Extension>_<JobID>.ou 的文件。 例如,如果你的 3D 模型文件名为 chair.ply,而你的作业 ID 为 00000000-0000-0000-0000-000000000000,则服务输出的文件名将为 chair_00000000-0000-0000-0000-000000000000.ou

错误代码

若要详细了解资产转换作业失败可能导致的不同错误代码以及处理每个错误代码的方式,请参阅转换错误代码页

清理资源

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

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

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

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

后续步骤

在本快速入门中,你创建了一个 Object Anchors 帐户,并转换了 3D 模型来创建 Object Anchors 模型。 若要了解如何在混合现实应用中将该模型与 Object Anchors SDK 集成,请继续阅读以下文章: