“在混合现实中查看”和“在 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 模型。