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

已完成

Easy-Sales 是一款面向销售的混合现实应用程序,旨在改进购物体验。 使用此应用程序的销售人员可以检查并度量客户的周围环境,以确定可以在其空间中布置哪些产品。 该应用程序还可帮助客户通过混合现实来创建产品的可视化效果。

我们将实现 Power Apps 的“在 3D 中查看”和“在 MR 中查看”功能,以准确创建产品的可视化效果。

向 SharePoint 列表添加 3D 对象

应用程序所需的 3D 模型和图像存储在 SharePoint 列表中。 首先向此列表添加所需的资源。

  1. 在创建的名为“Easy Sales”的 SharePoint 列表中,选择“+ 添加列”,然后选择“显示/隐藏列”。

    屏幕截图显示添加列。

  2. 确保选中“附件”,然后按下顶部的“应用”。

    屏幕截图显示应用附件

  3. 在列表中选择某个项,然后选择“添加附件”。 选择“Power Apps 自定义文件夹”中的 3D 模型(.glb 文件)或图像(.jpg 文件)。 为列表中的所有项执行相同的步骤。

    屏幕截图显示添加附件

  4. 选择“附件”列旁边的下拉列表,然后选择“先显示附件”。 我们希望先放置附件以便于访问。

    屏幕截图显示先选择“显示附件”。

创建详细信息页并添加“在 3D 中查看”组件

详细信息页包含有关所选产品的所有详细信息。 可通过该页了解产品的特定功能。 必须连接上一节中设计的产品页和此部分中创建的详细信息页。 在这里,你还会使用 Power Apps 的“在 3D 中查看”组件将 3D 内容添加到画布应用中。 你能够旋转和放大 3D 对象,获得更好的查看效果。

  1. 创建两个新页面,将它们重命名为 Product_details 和 Carpet_details。

    创建详细信息页的屏幕截图。

  2. 在“产品”页面和“地毯”页面包含的库控件中,选择 > 图标。 然后,通过分别在“函数”选项卡中添加以下行来配置“OnSelect”属性。

    Navigate(Product_details,ScreenTransition.Cover,{content : ThisItem})
    
    Navigate(Carpet_details,ScreenTransition.Cover,{content_carpets : ThisItem})
    

    导航到下一详细信息的屏幕截图。

  3. 现在开始构建“Product_details”页面,添加一些标签,如“价格”、“尺寸”、“重量”、“颜色”和“材质”。 可以编辑标签内的文本,在该标签的“文本”属性内插入所需的文本。 相应地重命名标签。

    添加标签的屏幕截图

    注意

    可以自定义应用程序的主题、字体和调色板,改进用户体验和外观。

  4. 插入另一个名为“产品名称‘的标签,以便在顶部显示产品名称,并使其“居中对齐”。 通过添加以下行来配置标签的“文本”属性:

    content.'{Name}'
    

    添加标题标签的屏幕截图。

  5. 选择“媒体”下拉列表,然后选择“图像”,将图像插入 Product_details 屏幕。 按以下方式配置“图像”属性:

    content.ImageLink
    

    添加图像的屏幕截图。

  6. 我们将在“图像”组件上覆盖“在 3D 中查看”组件。 可以通过“图像”组件查看未附加 3D 模型的产品。 若要添加“在 3D 中查看”组件,请选择“媒体”下拉列表,然后选择“在 3D 中查看”。

    添加“在 3D 中查看”的屏幕截图。

    注意

    该组件中包含了一个默认形状。 可以通过更改“源”属性将此形状更改为另一个形状。

  7. 将该组件安置在图像组件上(如图所示)并如下配置“在 3D 中查看”组件的“源”属性,以连接 SharePoint 列表中的 3D 模型。

    First(Gallery_products.Selected.Attachments).Value
    

    配置“在 3D 中查看”的屏幕截图。

  8. 我们将同时改变“图像”和“在 3D 中查看”组件的“可见”属性,以便根据“附件”列中存储的“文件类型”轻松查看产品。 如下配置“图像”和“在 3D 中查看”组件的“可见”属性:

    • 图像:

      If(Gallery_products.Selected.FileType = "Image", true, false)
      

      更改图像可见性的屏幕截图。

    • 在 3D 中查看

      If(Gallery_products.Selected.FileType = "Model", true, false)
      

      改变“在 3D 中查看”可见性的屏幕截图。

  9. 如图所示,在“价格”、“尺寸”、“重量”、“颜色”和“材质”标签旁边添加空白标签,以便在这些标题下显示产品信息。 如下配置以下标签的“文本”属性:

    • 价格

      content.Price
      

      空白价格标签的屏幕截图。

    • 维度:

      content.Dimensions
      

      空白尺寸标签的屏幕截图。

    • 重量:

      content.Weight
      

      空白重量标签的屏幕截图。

    • 颜色:

      content.Color
      

      空白颜色标签的屏幕截图。

    • 材质:

      content.PrimaryMaterial
      

      空白材质标签的屏幕截图。

  10. 现在添加“返回”图标,用于导航到上一个屏幕。 若要添加“返回”图标,请展开“图标”下拉列表,然后选择“返回”图标。 在正确的位置放置“返回”图标,并添加以下内容来配置 OnSelect 属性:

    Navigate('Products',ScreenTransition.Cover)
    

    添加“返回”图标和 OnSelect 的屏幕截图

    为 Carpet_details 执行相同的过程。 相应地自定义“导航”函数。

    提示

    要保存进度,请选择顶部的“文件”选项卡,然后选择“保存”选项。 还可使用 Ctrl+S 来保存进度。

    注意

    避免在“Carpet_details”页面上包含“在 3D 中查看”组件。 不对“地毯”类别使用 3D 模型。

“在 MR 中查看”组件

“在 MR 中查看”是 Power Apps 提供的一项混合现实功能,使用户能够在真实环境中放置 3D 对象或图像。 应用程序所需的 3D 模型和图像存储在 SharePoint 列表中。 首次,在 SharePoint 列表中添加必需的资源。

  1. 将“在 MR 中查看”组件添加到 Product_details 屏幕。 打开“插入”选项卡,然后展开“混合现实”下拉列表,再选择“在 MR 中查看”组件。

    添加“在 MR 中查看”按钮的屏幕截图。

  2. 在“在 MR 中查看”组件的“属性”选项卡中,选择“源”字段并输入相应内容以访问存储在 SharePoint 列表中的 3D 模型:

    First(Gallery_products.Selected.Attachments).Value
    

    为“在 MR 中查看”添加源的屏幕截图。

    注意

    不为“地毯”类别包含“在 MR 中查看”功能。 而是根据“在 MR 中度量”会话中计算的面积来估算地毯的价格。

“在 MR 中查看”组件提供的另一个独特属性是“对象缩放”。 通过更改“对象宽度”、“对象高度”和“对象深度”属性,可以从外部编辑 3D 模型的大小。

  • 在“属性”窗格中设置以下属性,如图所示:

    • 对象宽度 = 1.5
    • 对象高度 = 1
    • 对象深度 = 1
    • 度量单位 = 米

    根据此应用程序中包含的 3D 模型来设置这些值。

    设置对象比例以便在 MR 中查看的屏幕截图。

    注意

    还可以根据需求来自定义传递给对象宽度、对象高度和对象深度的值。 传递的值采用“度量单位”中指定的单位。 从下拉列表中选择合适的度量单位,并在稍后输入值。

    提示

    要保存进度,请选择顶部的“文件”选项卡,然后选择“保存”选项。 还可使用 Ctrl+S 来保存进度。

实现上述步骤将生成一个应用程序,该应用程序带有包含详细产品信息的详细页面。 该应用程序还将包括“在 3D 中查看”组件,让你能包括 3D 内容。 还可以通过“在 MR 中查看”组件将 3D 模型置于真实环境中。 现在你已了解如何实现这些功能,可以将它们整合到以后的应用程序中。

实现“在 3D 中查看”和“在 MR 中查看”后的应用程序演示动画。