“在混合现实中查看”和“在 3D 中查看”

已完成

若要启用多个 3D 和混合现实 (MR) 场景,可将多个 MR 组件添加到画布应用中。 组件是可用于满足特定要求的控件的集合。 例如,可以使用这些 MR 组件来执行以下操作:

  • 查看和操作 3D 内容。
  • 将 3D 内容和 2D 图像覆盖到来自相机的源。
  • 使用 MR 设备度量距离、区域和体积。
  • 通过 MR 覆盖区识别真实世界中的空间。

我们将在 Easy Sales 应用程序中加入这些混合现实功能

在 MR 中查看

“在 MR 中查看”是该应用程序中包含的主要功能之一。 通过该功能,用户可以在自然世界环境中查看图像和 3D 模型。 用户可以通过单击相应按钮来访问该功能;该功能将选定的 3D 模型或图像覆盖到设备的实时相机源上。

3D 内容须采用 .glb 文件格式,图像须采用 .jpg 或 .png 格式。 Power Apps 中的 MR 组件使用 Babylon React Native。

  • 属性

    • :数据源可识别要显示的 .glb 文件。 “在 MR 中查看”组件支持从以下各项加载模型:

      • 对象宽度:显示的图像或 3D 内容的宽度。

      • 对象高度:显示的图像或 3D 内容的高度。

      • 对象深度:3D 内容的三维深度。

      • 单位:对象宽度、高度和深度字段的单位。

      • 照片 在混合现实会话期间捕获的图像。

  • 如何处理对象缩放

    当使用“在 MR 中查看”组件来放置模型时,将使用模型的原始维度。 这些维度指“对象宽度”、“对象高度”和“对象深度”属性。

    现在使用缩放技术来更改模型的大小。

    • 如果未定义维度,我们视为模型已达到其预期比例,并使其保持不变。
    • 如果定义了一个维度,并且其余值默认为 0,则将根据指定的维度缩放整个对象。
    • 如果定义了两个维度,则会调整模型,使其与给定的维度匹配,然后将其比例的平均值用于第三个维度。

    例如,假设有一个模型,其对象高度为 8,对象宽度为 5,对象深度为 3。 将对象高度设置为 24,对象宽度设置为 10,对象深度保持不变。 高度为原来的 3 倍,宽度为原来的 2 倍。 这两个值的平均值为 2.5。 之后将按此值缩放深度。 缩放后的最终模型的对象高度为 24,对象宽度为 10,对象深度为 7.25。

    • 如果设置了全部三个维度,模型大小将于指定大小匹配。

在 3D 中查看

可以向画布应用添加 3D 模型。 使用简单的手势,用户可以利用“在 3D 中查看”组件旋转和缩放模型。 组件中包含默认形状。 可以通过更改“源”属性将此形状更改为另一个形状。 通过链接到库控件,可以显示单个 3D 模型,也可以让用户从库中进行选择。 “在 3D 中查看”控件适用的文件格式有 .glb、.obj 或 .stl。 用户可以将任何文件格式的 3D 模型转换为要在其应用程序中使用的 .glb。

如果需要 3D 模型的库,请将“在 3D 中查看”组件置于库外,并将其源设置为库的指定属性。 确保 3D 模型已经过优化,能够更好地与 Power Apps 结合使用,帮助缩短加载时间。 可以使用“在 3D 中查看”组件将 Pin(显示为圆形标记)添加到 3D 模型上的指定点。

注意

在同一屏幕上显示“在 3D 中查看”组件的多个实例可能会导致性能问题,因为所有版本的组件会尝试同时加载 3D 模型。