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

快速入门 - Azure 数字孪生的 3D 场景工作室(预览版)入门

Azure 数字孪生 3D 场景工作室(预览版)是一种沉浸式 3D 环境,企业和一线工作人员可在其中根据视觉上下文使用和调查其 Azure 数字孪生解决方案中的操作数据。

在本文中,你将设置使用 3D 场景工作室所需的所有资源,包括带示例数据的 Azure 数字孪生实例和 Azure 存储资源。 然后,你将在工作室中创建一个连接到示例 Azure 数字孪生环境的场景。

本快速入门中使用的示例场景监视工厂中机械臂的搬运效率。 机械臂每小时拾取一定数量的箱子,而视频摄像头将监视每条机械臂,检测机械臂是否未能拾取箱子。 每条机械臂在 Azure 数字孪生中有一个关联的数字孪生,每当机械臂遗漏了箱子时,数字孪生的数据就会更新。 根据此方案,本快速入门将演练如何设置 3D 场景以可视化工厂中的机械臂,以及每当遗漏箱子时发出视觉警报。

场景如下所示:

3D 场景工作室中的示例场景的屏幕截图。

先决条件

要完成本快速入门,你需要一个 Azure 订阅。 如果还没有 Azure 订阅,可立即免费创建一个

还需要下载一个示例 glTF(图形语言传输格式)3D 文件用于本快速入门中的场景。 从 GitHub 下载以下示例文件:RobotArms.glb

设置 Azure 数字孪生和示例数据

要使用 Azure 数字孪生,第一步是创建一个 Azure 数字孪生实例。 创建服务实例后,稍后可以在本快速入门中将其链接到 3D 场景工作室可视化效果。

本部分的余下内容将演练该实例的创建。 如果在前面的快速入门中已设置了一个 Azure 数字孪生实例,则可以跳到下一部分

创建 Azure 数字孪生实例

在本部分中,将使用 Azure 门户创建新的 Azure 数字孪生实例。 导航到门户,并使用凭据登录。

  1. 登录门户后,首先在 Azure 服务的主页菜单中选择“创建资源”。

    Azure 门户的屏幕截图,突出显示了主页上的“创建资源”图标。

  2. 在搜索框中搜索“Azure 数字孪生”,并从结果中选择“Azure 数字孪生”服务。

    将“计划”字段设置为“Azure 数字孪生”,并选择"创建按钮以开始创建服务的新实例。

    Azure 门户的屏幕截图,突出显示了 Azure 数字孪生服务页面中的“创建”按钮。

  1. 填写安装程序的“基本信息”选项卡上的字段,包括订阅、资源组、新实例的资源名称和区域。 选中“分配 Azure 数字孪生数据所有者角色”框,以便为你自己授予管理实例中数据的权限。

    Azure 门户中 Azure 数字孪生的“创建资源”过程的屏幕截图。已填写所描述的值。

    注意

    如果“分配 Azure 数字孪生数据所有者角色”框灰显,则表示你在 Azure 订阅中无权管理用户对资源的访问权限。 你可以根据本部分所述继续创建实例,然后应在完成本快速入门的其余部分之前,让某个拥有所需权限的人员在该实例上为你分配此角色

    满足此要求的常见角色包括“所有者”、“帐户管理员”或“用户访问管理员”和“参与者”的组合。

  2. 选择“查看 + 创建”以完成实例创建。

  3. 你将看到一个摘要页,其中显示了输入的详细信息。 确认这些信息,然后选择“创建”以创建实例。

随后你会转到“概述”页,可在其中跟踪实例的部署状态。

Azure 门户中 Azure 数字孪生的部署页面的屏幕截图。该页面指示部署正在进行中。

等待页面显示部署已完成。

收集主机名

部署完成后,使用“转到资源”按钮导航到门户中该实例的“概述”页。

Azure 门户中 Azure 数字孪生的部署页的屏幕截图。页面中指示部署已完成。

接下来,记下实例的主机名值供稍后使用。

显示 Azure 数字孪生实例的“概述”页面的 Azure 门户的屏幕截图。突出显示了主机名。

生成示例模型和孪生

在本部分,你将使用 Azure 数字孪生数据模拟器工具生成示例模型和孪生,以填充实例。 然后,使用模拟器将示例数据流式传输到图中的孪生。

注意

本快速入门提供了模型、孪生和模拟数据,以简化创建可在 3D 场景工作室中查看的环境的过程。 设计自己的完整 Azure 数字孪生解决方案时,你需要自行创建模型孪生来详细描述自己的环境,并相应地设置自己的数据流

此示例方案表示包含六条机械臂的包裹配送中心。 每条机械臂有一个数字孪生,其属性可用于跟踪机械臂未能拾取的箱子数,以及遗漏的箱子的 ID。

  1. 在 Web 浏览器中导航到数据模拟器

  2. 在“实例 URL”空白区域,输入在上一部分记下的 Azure 数字孪生实例的主机名。 将“模拟类型”设置为“机械臂”。

  3. 使用“生成环境”按钮创建包含模型和孪生的示例环境。 (如果实例中已包含模型和孪生,将不会删除它们,而只会添加更多模型和孪生。)

    Azure 数字孪生数据模拟器的屏幕截图。突出显示了“生成环境”按钮。

  4. 向下滚动,选择“开始模拟”,开始将模拟数据发送到 Azure 数字孪生实例。 仅当此窗口保持打开并且“开始模拟”选项处于活动状态时,才会运行模拟。

可以使用 Azure Digital Twins Explorer 的“图形”工具查看已创建的模型和图形。 若要切换到该工具,请在左侧菜单中选择“图形”图标。

Azure 数字孪生数据模拟器的屏幕截图,其中突出显示了切换到 Graph 体验的按钮。

然后,使用“运行查询”按钮来查询已在实例中创建的所有孪生和关系。

Azure 数字孪生资源管理器的屏幕截图,突出显示了窗口右上角的“运行查询”按钮。

可以选择每个孪生来更详细地查看它们。

若要查看已上传的模型及其相互关系,请选择“模型图形”。

Azure 数字孪生资源管理器的屏幕截图,突出显示了视图窗格的“模型图形”按钮。

提示

有关 Azure Digital Twins Explorer 的介绍,请参阅快速入门 Azure Digital Twins Explorer 入门

创建存储资源

接下来,在存储帐户中创建新的存储帐户和容器。 3D 场景工作室将使用此存储容器来存储 3D 文件和配置信息。

另外,请设置对该存储帐户的读取和写入权限。 为了快速设置这些备份资源,本部分将使用 Azure Cloud Shell

  1. 在浏览器中导航的 Cloud Shell

    运行以下命令,将 CLI 上下文设置为此会话的订阅。

    az account set --subscription "<your-Azure-subscription-ID>"
    
  2. 运行以下命令,在订阅中创建存储帐户。 该命令包含供你输入名称并为存储帐户选择区域的占位符,还包含资源组占位符。

    az storage account create --resource-group <your-resource-group> --name <name-for-your-storage-account> --location <region> --sku Standard_RAGRS
    

    命令成功完成后,你会在输出中看到新存储帐户的详细信息。 在输出中找到 ID 值,复制该值以便在下一个命令中使用。

    Cloud Shell 输出的屏幕截图。突出显示了存储帐户的 ID。

  3. 运行以下命令,为自己授予存储帐户上的存储 Blob 数据所有者角色。 此访问级别允许在 3D 场景工作室中执行读取和写入操作。 此命令包含与 Azure 帐户关联的电子邮件的占位符,以及上一步中复制的存储帐户 ID 的占位符。

    az role assignment create --role "Storage Blob Data Owner" --assignee <your-Azure-email> --scope <ID-of-your-storage-account>
    

    命令成功完成后,你会在输出中看到角色分配详细信息。

  4. 运行以下命令,为存储帐户配置 CORS。 必须执行此操作,才能使 3D 场景工作室能够访问你的存储容器。 该命令包含一个存储帐户名称占位符。

    az storage cors add --services b --methods GET OPTIONS POST PUT --origins https://explorer.digitaltwins.azure.net --allowed-headers Authorization x-ms-version x-ms-blob-type --account-name <your-storage-account>
    

    此命令没有任何输出。

  5. 运行以下命令,在存储帐户中创建一个专用容器。 3D 场景工作室文件将存储在此处。 该命令包含一个存储容器名称占位符和一个存储帐户名称占位符。

    az storage container create --name <name-for-your-container> --public-access off --account-name <your-storage-account>
    

    命令成功完成后,将显示 "created": true 输出。

初始化 3D 场景工作室环境

设置所有资源后,接下来可以在 3D 场景工作室中使用它们来创建环境。 在本部分,你将创建一个场景,并根据 Azure 数字孪生实例中的示例图形自定义该场景。

  1. 导航到 3D 场景工作室。 该工作室将会打开,并连接到你上次在 Azure Digital Twins Explorer 中访问过的 Azure 数字孪生实例。 关闭欢迎演示。

    带有欢迎演示的 3D 场景工作室的屏幕截图。

  2. 选择实例名称旁边的“编辑”图标以配置实例和存储容器详细信息。

    3D 场景工作室的屏幕截图,突出显示了编辑环境图标,该图标看起来像一支铅笔。

    1. 对于 Azure 数字孪生实例 URL,请将收集主机名步骤中实例的主机名填入此 URL:https://<your-instance-host-name>

    2. 对于“Azure 存储帐户 URL”,请将创建存储资源步骤中的存储帐户的名称填入此 URL:https://<your-storage-account>.blob.core.windows.net

    3. 对于“Azure 存储容器名称”,请输入创建存储资源步骤中的存储容器的名称。

    4. 选择“保存”。

    突出显示环境的“保存”按钮的 3D 场景工作室的屏幕截图。

添加新的 3D 场景

在本部分,你将使用前面在先决条件部分下载的 RobotArms.glb 3D 模型文件来创建新的 3D 场景。 场景由 3D 模型文件以及系统自动为你创建的配置文件组成。

此示例场景包含配送中心及其机械臂的可视化效果。 你要将此可视化效果连接到在生成示例模型和孪生步骤中创建的示例孪生,并在后续步骤中自定义数据驱动的视图。

  1. 选择“添加 3D 场景”按钮开始创建新场景。 输入场景的名称和描述,然后选择“上传文件”。

    在 3D 场景工作室中创建新场景过程的屏幕截图。

  2. 在计算机上浏览“RobotArms.glb”文件并将其打开。 选择“创建”。

    在 3D 场景工作室中创建新场景的屏幕截图。机械臂文件已上传,突出显示了“创建”按钮。

    上传该文件后,你会看到它重新列在 3D 场景工作室的主屏幕上。

  3. 选择场景以打开并查看它。 场景将在“生成”模式下打开。

    3D 场景工作室中工厂场景的屏幕截图。

创建场景元素

接下来,你将在 3D 可视化效果中定义一个元素,并将其链接到前面在 Azure 数字孪生图形中设置的孪生。

  1. 在场景可视化效果中选择任一机械臂。 此时会显示可用的元素操作。 选择“+ 创建新元素”。

    3D 场景工作室中工厂场景的屏幕截图。突出显示了机械臂,并带有创建新元素的选项。

  2. 在“新建元素”面板中,“主要孪生”下拉列表包含连接的 Azure 数字孪生实例中所有孪生的名称。

    1. 选择“Arm1”。 这会自动将数字孪生 ID ($dtId) 作为元素名称来应用。

    2. 选择“创建元素”。

    3D 场景工作室中新元素选项的屏幕截图。

该元素现在将显示在场景的元素列表中。

创建行为

接下来,你将为元素创建一个行为。 这些行为允许自定义元素的数据视觉对象和关联的业务逻辑。 然后,你可以浏览这些数据视觉对象以了解物理环境的状态。

  1. 切换到“行为”列表并选择“新建行为”。

    3D 场景工作室中“新行为”按钮的屏幕截图。

  2. 对于“显示名称”,请输入“包装生产线效率”。 在“元素”下,选择 Arm1。

    3D 场景工作室中“新行为”选项的屏幕截图,显示了“元素”选项。

  3. 跳过本快速入门中未使用的“孪生体”选项卡。

  4. 切换到“视觉规则”选项卡。视觉规则是元素上数据驱动的叠加对象,可以对其进行配置以指示元素的运行状况或状态。

    1. 首先,设置一些条件以指示包装线的效率。

      1. 选择“添加规则”。

        3D 场景工作室中“新建行为”选项的屏幕截图,显示了“视觉规则”选项。

      2. 输入“每小时取件”的“显示名称”。 将“属性表达式”保留设置为“单个属性”,并打开属性下拉列表。 该列表包含 Arm1 元素的主要孪生上所有属性的名称。 选择“PrimaryTwin.FailedPickupsLastHr”。 然后选择“添加条件”。

        3D 场景工作室中“新建行为”选项的屏幕截图,显示了“新建视觉规则”选项。

      3. 接下来,你将定义一些边界,以指示每小时取件在何时错过了过多的包裹。 对于这种情况,假设一个臂在一小时内错过了三个以上的取件时需要注意。 为条件 >3 个错过的取件设置标签,然后定义一个介于 4无穷大之间的值范围(包含最小值,不含最大值)。 分配红色的元素着色。 选择“保存”。

        3D 场景工作室中“添加条件”选项的屏幕截图,正在创建着色条件。

      4. 再次选择“添加条件”,创建一个标记为“1-3 次错过取件”的条件。 定义介于 14 之间的值范围,并分配橙色的元素着色。 保存条件。

        再次选择“添加条件”,创建一个标记为“0 次错过取件”的条件。 定义介于 01 之间的值范围,并分配绿色的元素着色。 保存条件。

        创建好所有三个条件后,保存新的视觉对象规则。

        在 3D 场景工作室中保存已完成的条件的屏幕截图。

    2. 接下来,再创建一个视觉规则来显示错过的包裹的警报。

      1. 从“视觉对象规则”选项卡中,再次选择“添加规则”。

        在 3D 场景工作室中添加第二条规则的屏幕截图。

      2. 输入 PickupFailedAlert显示名称。 将属性表达式更改为自定义(高级),输入 PrimaryTwin.PickupFailedAlert 的属性,并将类型设置为布尔值。 它是孪生臂上的布尔值属性,在包裹取件失败时设为 True。 选择“添加条件”。

        在 3D 场景工作室中添加第二个视觉规则条件的屏幕截图。

      3. 输入 ${PrimaryTwin.PickupFailedBoxID} 失败标签。 稍后,在场景视图中,这将动态显示孪生臂的字符串属性 PickupFailedBoxID 的值,它包含一个 ID,代表该臂最近未能取件的箱子。 将“”设为“True”,然后选择“徽章”的“视觉对象类型。 将“颜色”设为红色,然后选择“图标”。 选择“保存”。

        3D 场景工作室中“添加条件”选项的屏幕截图,正在创建徽章条件。

      你现在应会看到“视觉对象规则”选项卡中列出了你的两个规则。

      3D 场景工作室中已完成的视觉规则的屏幕截图。

  5. 切换到“小组件”选项卡。小组件是数据驱动的视觉对象,提供额外的上下文和数据来帮助你了解行为所代表的方案。 在此处,你将添加两个视觉小组件来显示 arm 元素的属性信息。

    1. 首先,创建一个小组件来显示机械臂液压值的仪表。

      1. 选择“添加小组件”。

        3D 场景工作室中“新行为”选项的屏幕截图,显示了“小组件”选项。

        在“小组件库”中选择“仪表”小组件,然后选择“添加小组件”。

      2. 在“新建小组件”选项中,添加显示名称“Hydraulic Pressure”、度量单位“m/s”和单属性属性表达式“PrimaryTwin.HydraulicPressure”。

        设置三个值范围,其中值 0-40 以一种颜色显示,40-80 以第二种颜色显示,80-Infinity 以第三种颜色显示(请记住,最小范围值包括边界值,最大值不包括边界值)。

        3D 场景工作室中仪表小部件的“新小部件”选项的屏幕截图。

        选择“创建小组件”。

    2. 接下来,创建一个小组件并在其中包含机械臂实时摄像头数据流的链接。

      1. 选择“添加小组件”。 在“小组件库”中选择“链接”小组件,然后选择“添加小组件”。

      2. 在“新建小组件”选项中,输入标签“实时机械臂摄像头”。 对于 URL,可以使用示例 URL http://contoso.armstreams.com/${PrimaryTwin.$dtId}。 此示例的 URL 中未托管实时摄像头,但该链接表示视频源可以在真实方案中托管的位置。

      3. 选择“创建小组件”。

        3D 场景工作室中链接小部件的“新小部件”选项的屏幕截图。

  6. 行为选项的设置现已完成。 选择“创建行为”保存该行为。

    3D 场景工作室中“新行为”选项的屏幕截图,突出显示了“创建行为”。

“包装生产线效率”行为现在会显示在场景的行为列表中。

查看场景

到目前为止,你一直在“生成”模式下使用 3D 场景工作室。 现在,请将模式切换为“视图”。

3D 场景工作室中工厂场景的屏幕截图,突出显示了“视图模式”按钮。

从“元素”列表中,选择创建的“Arm1”元素。 可视化效果将会放大,以显示视觉元素以及为其设置的行为。

3D 场景工作室中工厂场景的屏幕截图,显示了机械臂的查看器。

将行为应用于其他元素

有时,某个环境可能包含多个相似的元素,而这些元素应在可视化效果中以相似的形式显示(类似于本示例中的六条不同机械臂)。 现在你已为一条机械臂创建了行为并已在查看器中确认其外观,接下来,本部分介绍如何快速将该行为添加到其他机械臂,使它们在查看器中全都显示相同类型的信息。

  1. 返回到“生成”模式。 如同在创建场景元素中所做的那样,在可视化效果中选择另一条机械臂,然后选择“创建新元素”。 3D 场景工作室中工厂场景的屏幕截图。突出显示了不同机械臂,并带有创建新元素的选项。

  2. 为新元素选择一个 Arm2主要孪生,然后切换到“行为”选项卡。3D 场景工作室中 Arm2 的“新建元素”选项的屏幕截图。

  3. 选择“添加行为”。 选择在本快速入门中创建的“包装生产线效率”行为。 3D 场景工作室中 Arm2 的“新元素行为”选项的屏幕截图。

  4. 然后选择“创建元素”以完成创建新的 arm 元素。

切换到“视图”选项卡,查看新 arm 元素的行为方式。 在创建行为时选择的所有信息现在可用于场景中的这两个 arm 元素。

3D 场景工作室中工厂场景的屏幕截图,显示了第二个机械臂的查看器。

提示

如果需要,你可以重复本部分所述的步骤,以便为剩余的四条机械臂创建元素,并将行为应用于所有这些机械臂以完成可视化。

回顾所学内容并将其置于上下文中进行理解

本快速入门介绍了如何为 Azure 数字孪生数据创建沉浸式仪表板,以便与最终用户共享并让他们更方便地访问有关真实环境的重要见解。

在快速入门中,你创建了一个示例 3D 场景用于表示一个包裹配送中心,其中装配了拾取包裹的机械臂。 此可视化效果已连接到数字孪生图,你已将可视化效果中的机械臂链接到了其自身的、提供支持数据的特定数字孪生。 你还创建了一个视觉行为,以便在查看完整场景时显示有关该机械臂的关键信息,包括该机械臂在过去一小时内的箱子拾取失败次数。

在本快速入门中,使用 Azure 数字孪生数据模拟器为你快速创建了适合工厂方案的示例模型和孪生。 在自己的环境中使用 Azure 数字孪生时,你需要创建自己的模型孪生,以准确详细地描述环境的元素。 本快速入门还使用数据模拟器模拟了“实时”数据,当遗漏包裹时,这些数据将驱动数字孪生属性更新。 在自己的环境中使用 Azure 数字孪生时,你需要根据自己的环境传感器自行设置引入实时数据的过程。

清理资源

若要在本快速入门完成后进行清理,请根据接下来要做的事情选择要删除的 Azure 数字孪生资源。

  • 如果你计划继续学习 Azure 数字孪生教程,可将本快速入门中使用的实例重复用于那些文章,不用将它们删除。
  • 如果你不再需要 Azure 数字孪生实例,可以使用 Azure 门户将其删除。

    在门户中导航回实例的“概述”页。 (如果已关闭该选项卡,可以在 Azure 门户搜索栏中搜索该实例的名称再次找到它,然后从搜索结果中选择该实例。)

    选择“删除”以删除实例,包括所有模型和孪生体。

    Azure 门户中 Azure 数字孪生实例的“概述”页面的屏幕截图。突出显示了“删除”按钮。

可以通过导航到 Azure 门户中存储帐户的“概述”页,并选择“删除”来删除存储资源。 这会删除该存储帐户及其包含的容器,以及该容器中的 3D 场景文件。

Azure 门户中 Azure 存储帐户的“概述”页面的屏幕截图。突出显示了“删除”按钮。

你可能还想从本地计算机中删除下载的示例 3D 文件。

后续步骤

接下来,请继续学习 Azure 数字孪生教程来生成你自己的 Azure 数字孪生环境。