你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
快速入门 - Azure 数字孪生的 3D 场景工作室(预览版)入门
Azure 数字孪生 3D 场景工作室(预览版)是一种沉浸式 3D 环境,企业和一线工作人员可在其中根据视觉上下文使用和调查其 Azure 数字孪生解决方案中的操作数据。
在本文中,你将设置使用 3D 场景工作室所需的所有资源,包括带示例数据的 Azure 数字孪生实例和 Azure 存储资源。 然后,你将在工作室中创建一个连接到示例 Azure 数字孪生环境的场景。
本快速入门中使用的示例场景监视工厂中机械臂的搬运效率。 机械臂每小时拾取一定数量的箱子,而视频摄像头将监视每条机械臂,检测机械臂是否未能拾取箱子。 每条机械臂在 Azure 数字孪生中有一个关联的数字孪生,每当机械臂遗漏了箱子时,数字孪生的数据就会更新。 根据此方案,本快速入门将演练如何设置 3D 场景以可视化工厂中的机械臂,以及每当遗漏箱子时发出视觉警报。
场景如下所示:
先决条件
要完成本快速入门,你需要一个 Azure 订阅。 如果还没有 Azure 订阅,可立即免费创建一个。
还需要下载一个示例 glTF(图形语言传输格式)3D 文件用于本快速入门中的场景。 从 GitHub 下载以下示例文件:RobotArms.glb。
设置 Azure 数字孪生和示例数据
要使用 Azure 数字孪生,第一步是创建一个 Azure 数字孪生实例。 创建服务实例后,稍后可以在本快速入门中将其链接到 3D 场景工作室可视化效果。
本部分的余下内容将演练该实例的创建。 如果在前面的快速入门中已设置了一个 Azure 数字孪生实例,则可以跳到下一部分。
创建 Azure 数字孪生实例
在本部分中,将使用 Azure 门户创建新的 Azure 数字孪生实例。 导航到门户,并使用凭据登录。
登录门户后,首先在 Azure 服务的主页菜单中选择“创建资源”。
在搜索框中搜索“Azure 数字孪生”,并从结果中选择“Azure 数字孪生”服务。
将“计划”字段设置为“Azure 数字孪生”,并选择"创建按钮以开始创建服务的新实例。
填写安装程序的“基本信息”选项卡上的字段,包括订阅、资源组、新实例的资源名称和区域。 选中“分配 Azure 数字孪生数据所有者角色”框,以便为你自己授予管理实例中数据的权限。
注意
如果“分配 Azure 数字孪生数据所有者角色”框灰显,则表示你在 Azure 订阅中无权管理用户对资源的访问权限。 你可以根据本部分所述继续创建实例,然后应在完成本快速入门的其余部分之前,让某个拥有所需权限的人员在该实例上为你分配此角色。
满足此要求的常见角色包括“所有者”、“帐户管理员”或“用户访问管理员”和“参与者”的组合。
选择“查看 + 创建”以完成实例创建。
你将看到一个摘要页,其中显示了输入的详细信息。 确认这些信息,然后选择“创建”以创建实例。
随后你会转到“概述”页,可在其中跟踪实例的部署状态。
等待页面显示部署已完成。
收集主机名
部署完成后,使用“转到资源”按钮导航到门户中该实例的“概述”页。
接下来,记下实例的主机名值供稍后使用。
生成示例模型和孪生
在本部分,你将使用 Azure 数字孪生数据模拟器工具生成示例模型和孪生,以填充实例。 然后,使用模拟器将示例数据流式传输到图中的孪生。
注意
本快速入门提供了模型、孪生和模拟数据,以简化创建可在 3D 场景工作室中查看的环境的过程。 设计自己的完整 Azure 数字孪生解决方案时,你需要自行创建模型和孪生来详细描述自己的环境,并相应地设置自己的数据流。
此示例方案表示包含六条机械臂的包裹配送中心。 每条机械臂有一个数字孪生,其属性可用于跟踪机械臂未能拾取的箱子数,以及遗漏的箱子的 ID。
在 Web 浏览器中导航到数据模拟器。
在“实例 URL”空白区域,输入在上一部分记下的 Azure 数字孪生实例的主机名。 将“模拟类型”设置为“机械臂”。
使用“生成环境”按钮创建包含模型和孪生的示例环境。 (如果实例中已包含模型和孪生,将不会删除它们,而只会添加更多模型和孪生。)
向下滚动,选择“开始模拟”,开始将模拟数据发送到 Azure 数字孪生实例。 仅当此窗口保持打开并且“开始模拟”选项处于活动状态时,才会运行模拟。
可以使用 Azure Digital Twins Explorer 的“图形”工具查看已创建的模型和图形。 若要切换到该工具,请在左侧菜单中选择“图形”图标。
然后,使用“运行查询”按钮来查询已在实例中创建的所有孪生和关系。
可以选择每个孪生来更详细地查看它们。
若要查看已上传的模型及其相互关系,请选择“模型图形”。
提示
有关 Azure Digital Twins Explorer 的介绍,请参阅快速入门 Azure Digital Twins Explorer 入门。
创建存储资源
接下来,在存储帐户中创建新的存储帐户和容器。 3D 场景工作室将使用此存储容器来存储 3D 文件和配置信息。
另外,请设置对该存储帐户的读取和写入权限。 为了快速设置这些备份资源,本部分将使用 Azure Cloud Shell。
在浏览器中导航的 Cloud Shell。
运行以下命令,将 CLI 上下文设置为此会话的订阅。
az account set --subscription "<your-Azure-subscription-ID>"
运行以下命令,在订阅中创建存储帐户。 该命令包含供你输入名称并为存储帐户选择区域的占位符,还包含资源组占位符。
az storage account create --resource-group <your-resource-group> --name <name-for-your-storage-account> --location <region> --sku Standard_RAGRS
命令成功完成后,你会在输出中看到新存储帐户的详细信息。 在输出中找到
ID
值,复制该值以便在下一个命令中使用。运行以下命令,为自己授予存储帐户上的存储 Blob 数据所有者角色。 此访问级别允许在 3D 场景工作室中执行读取和写入操作。 此命令包含与 Azure 帐户关联的电子邮件的占位符,以及上一步中复制的存储帐户 ID 的占位符。
az role assignment create --role "Storage Blob Data Owner" --assignee <your-Azure-email> --scope <ID-of-your-storage-account>
命令成功完成后,你会在输出中看到角色分配详细信息。
运行以下命令,为存储帐户配置 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>
此命令没有任何输出。
运行以下命令,在存储帐户中创建一个专用容器。 3D 场景工作室文件将存储在此处。 该命令包含一个存储容器名称占位符和一个存储帐户名称占位符。
az storage container create --name <name-for-your-container> --public-access off --account-name <your-storage-account>
命令成功完成后,将显示
"created": true
输出。
初始化 3D 场景工作室环境
设置所有资源后,接下来可以在 3D 场景工作室中使用它们来创建环境。 在本部分,你将创建一个场景,并根据 Azure 数字孪生实例中的示例图形自定义该场景。
导航到 3D 场景工作室。 该工作室将会打开,并连接到你上次在 Azure Digital Twins Explorer 中访问过的 Azure 数字孪生实例。 关闭欢迎演示。
选择实例名称旁边的“编辑”图标以配置实例和存储容器详细信息。
添加新的 3D 场景
在本部分,你将使用前面在先决条件部分下载的 RobotArms.glb 3D 模型文件来创建新的 3D 场景。 场景由 3D 模型文件以及系统自动为你创建的配置文件组成。
此示例场景包含配送中心及其机械臂的可视化效果。 你要将此可视化效果连接到在生成示例模型和孪生步骤中创建的示例孪生,并在后续步骤中自定义数据驱动的视图。
选择“添加 3D 场景”按钮开始创建新场景。 输入场景的名称和描述,然后选择“上传文件”。
在计算机上浏览“RobotArms.glb”文件并将其打开。 选择“创建”。
上传该文件后,你会看到它重新列在 3D 场景工作室的主屏幕上。
选择场景以打开并查看它。 场景将在“生成”模式下打开。
创建场景元素
接下来,你将在 3D 可视化效果中定义一个元素,并将其链接到前面在 Azure 数字孪生图形中设置的孪生。
在场景可视化效果中选择任一机械臂。 此时会显示可用的元素操作。 选择“+ 创建新元素”。
在“新建元素”面板中,“主要孪生”下拉列表包含连接的 Azure 数字孪生实例中所有孪生的名称。
选择“Arm1”。 这会自动将数字孪生 ID (
$dtId
) 作为元素名称来应用。选择“创建元素”。
该元素现在将显示在场景的元素列表中。
创建行为
接下来,你将为元素创建一个行为。 这些行为允许自定义元素的数据视觉对象和关联的业务逻辑。 然后,你可以浏览这些数据视觉对象以了解物理环境的状态。
切换到“行为”列表并选择“新建行为”。
对于“显示名称”,请输入“包装生产线效率”。 在“元素”下,选择 Arm1。
跳过本快速入门中未使用的“孪生体”选项卡。
切换到“视觉规则”选项卡。视觉规则是元素上数据驱动的叠加对象,可以对其进行配置以指示元素的运行状况或状态。
首先,设置一些条件以指示包装线的效率。
选择“添加规则”。
输入“每小时取件”的“显示名称”。 将“属性表达式”保留设置为“单个属性”,并打开属性下拉列表。 该列表包含 Arm1 元素的主要孪生上所有属性的名称。 选择“PrimaryTwin.FailedPickupsLastHr”。 然后选择“添加条件”。
接下来,你将定义一些边界,以指示每小时取件在何时错过了过多的包裹。 对于这种情况,假设一个臂在一小时内错过了三个以上的取件时需要注意。 为条件 >3 个错过的取件设置标签,然后定义一个介于 4 和无穷大之间的值范围(包含最小值,不含最大值)。 分配红色的元素着色。 选择“保存”。
再次选择“添加条件”,创建一个标记为“1-3 次错过取件”的条件。 定义介于 1 和 4 之间的值范围,并分配橙色的元素着色。 保存条件。
再次选择“添加条件”,创建一个标记为“0 次错过取件”的条件。 定义介于 0 和 1 之间的值范围,并分配绿色的元素着色。 保存条件。
创建好所有三个条件后,保存新的视觉对象规则。
接下来,再创建一个视觉规则来显示错过的包裹的警报。
从“视觉对象规则”选项卡中,再次选择“添加规则”。
输入 PickupFailedAlert 的显示名称。 将属性表达式更改为自定义(高级),输入 PrimaryTwin.PickupFailedAlert 的属性,并将类型设置为布尔值。 它是孪生臂上的布尔值属性,在包裹取件失败时设为 True。 选择“添加条件”。
输入 ${PrimaryTwin.PickupFailedBoxID} 失败的标签。 稍后,在场景视图中,这将动态显示孪生臂的字符串属性 PickupFailedBoxID 的值,它包含一个 ID,代表该臂最近未能取件的箱子。 将“值”设为“True”,然后选择“徽章”的“视觉对象类型。 将“颜色”设为红色,然后选择“图标”。 选择“保存”。
你现在应会看到“视觉对象规则”选项卡中列出了你的两个规则。
切换到“小组件”选项卡。小组件是数据驱动的视觉对象,提供额外的上下文和数据来帮助你了解行为所代表的方案。 在此处,你将添加两个视觉小组件来显示 arm 元素的属性信息。
首先,创建一个小组件来显示机械臂液压值的仪表。
接下来,创建一个小组件并在其中包含机械臂实时摄像头数据流的链接。
选择“添加小组件”。 在“小组件库”中选择“链接”小组件,然后选择“添加小组件”。
在“新建小组件”选项中,输入标签“实时机械臂摄像头”。 对于 URL,可以使用示例 URL http://contoso.armstreams.com/${PrimaryTwin.$dtId}。 此示例的 URL 中未托管实时摄像头,但该链接表示视频源可以在真实方案中托管的位置。
选择“创建小组件”。
行为选项的设置现已完成。 选择“创建行为”保存该行为。
“包装生产线效率”行为现在会显示在场景的行为列表中。
查看场景
到目前为止,你一直在“生成”模式下使用 3D 场景工作室。 现在,请将模式切换为“视图”。
从“元素”列表中,选择创建的“Arm1”元素。 可视化效果将会放大,以显示视觉元素以及为其设置的行为。
将行为应用于其他元素
有时,某个环境可能包含多个相似的元素,而这些元素应在可视化效果中以相似的形式显示(类似于本示例中的六条不同机械臂)。 现在你已为一条机械臂创建了行为并已在查看器中确认其外观,接下来,本部分介绍如何快速将该行为添加到其他机械臂,使它们在查看器中全都显示相同类型的信息。
返回到“生成”模式。 如同在创建场景元素中所做的那样,在可视化效果中选择另一条机械臂,然后选择“创建新元素”。
然后选择“创建元素”以完成创建新的 arm 元素。
切换到“视图”选项卡,查看新 arm 元素的行为方式。 在创建行为时选择的所有信息现在可用于场景中的这两个 arm 元素。
提示
如果需要,你可以重复本部分所述的步骤,以便为剩余的四条机械臂创建元素,并将行为应用于所有这些机械臂以完成可视化。
回顾所学内容并将其置于上下文中进行理解
本快速入门介绍了如何为 Azure 数字孪生数据创建沉浸式仪表板,以便与最终用户共享并让他们更方便地访问有关真实环境的重要见解。
在快速入门中,你创建了一个示例 3D 场景用于表示一个包裹配送中心,其中装配了拾取包裹的机械臂。 此可视化效果已连接到数字孪生图,你已将可视化效果中的机械臂链接到了其自身的、提供支持数据的特定数字孪生。 你还创建了一个视觉行为,以便在查看完整场景时显示有关该机械臂的关键信息,包括该机械臂在过去一小时内的箱子拾取失败次数。
在本快速入门中,使用 Azure 数字孪生数据模拟器为你快速创建了适合工厂方案的示例模型和孪生。 在自己的环境中使用 Azure 数字孪生时,你需要创建自己的模型和孪生,以准确详细地描述环境的元素。 本快速入门还使用数据模拟器模拟了“实时”数据,当遗漏包裹时,这些数据将驱动数字孪生属性更新。 在自己的环境中使用 Azure 数字孪生时,你需要根据自己的环境传感器自行设置引入实时数据的过程。
清理资源
若要在本快速入门完成后进行清理,请根据接下来要做的事情选择要删除的 Azure 数字孪生资源。
- 如果你计划继续学习 Azure 数字孪生教程,可将本快速入门中使用的实例重复用于那些文章,不用将它们删除。
若要继续使用本文中的 Azure 数字孪生实例,但清除其所有模型、孪生体和关系,请运行以下 az dt job deletion CLI 命令:
az dt job deletion create -n <name-of-Azure-Digital-Twins-instance> -y
如果只想删除这些元素中的一些,可以使用 az dt twin relationship delete、az dt twin delete 和 az dt model delete 命令选择性地删除要移除的元素。
如果你不再需要 Azure 数字孪生实例,可以使用 Azure 门户将其删除。
在门户中导航回实例的“概述”页。 (如果已关闭该选项卡,可以在 Azure 门户搜索栏中搜索该实例的名称再次找到它,然后从搜索结果中选择该实例。)
选择“删除”以删除实例,包括所有模型和孪生体。
可以通过导航到 Azure 门户中存储帐户的“概述”页,并选择“删除”来删除存储资源。 这会删除该存储帐户及其包含的容器,以及该容器中的 3D 场景文件。
你可能还想从本地计算机中删除下载的示例 3D 文件。
后续步骤
接下来,请继续学习 Azure 数字孪生教程来生成你自己的 Azure 数字孪生环境。