练习 - 电脑全息远程处理入门

已完成

欢迎使用 HoloLens 2 教程。 本教程介绍如何创建具有 UI 元素、3D 模型作、模型剪辑和眼动跟踪功能的混合现实体验。 第二个教程介绍如何创建用于全息远程处理的电脑应用,以便随时连接到 HoloLens 2 并在 3D 中可视化应用。

若要成功完成本教程,应具备 Unity 和混合现实工具包(MRTK)的一些基础知识。 如果没有,建议先完成入门指南教程,然后再继续。

创建并准备 Unity 项目

在本部分中,你将创建新的 Unity 项目,并准备好进行 MRTK 开发。

转到 HoloLens 2 基础知识 路径并完成那里的模块,但在到达 HoloLens 2 模块时停止。 完成这些说明后,你已完成以下作:

  1. 创建了 Unity 项目,并为其指定了合适的名称;例如 ,电脑全息远程处理
  2. 切换了生成平台。
  3. 导入 TextMeshPro Essential 资源。
  4. 导入混合现实工具包并配置了 Unity 项目。
  5. 创建并设置场景,并为其指定了合适的名称,例如 电脑全息远程处理

导入教程资产

下载并导入 MRTK.HoloLens2.Unity.Tutorials.Assets.PCHolographicRemoting.3.0.0.unitypackage

小窍门

有关如何导入 Unity 自定义包的提醒,可参阅 “导入混合现实工具包”说明

导入教程资产后,项目窗口应如下所示:

“项目”窗口的屏幕截图。

配置和准备场景

在本部分中,你将通过添加一些教程预设来布置场景。

  1. 首先,由于某些模型采用 Unity 本身不支持的 glTF 格式,因此我们需要安装允许导入它们的包。

    若要安装开源 glTFast 库,请下载并运行此文件:https://package-installer.glitch.me/v1/installer/OpenUPM/com.atteneder.gltfast?registry=https%3A%2F%2Fpackage.openupm.com&scope=com.atteneder

    导入 glTFast 的屏幕截图。

    选择“导入” 。

    导入的新作用域注册表的屏幕截图。

    选择 关闭

  2. 在“项目”窗口中,导航到“资产”“MRTK.Tutorials.PCHolograhicRemoting”>“Prefabs”文件夹>。 选择 SceneContent 预制件并将其拖动到 “层次结构” 窗口底部。

    添加 Prefab 2 的屏幕截图。

    若要从相机的角度查看场景,请在“层次结构”窗口中右键单击“主相机”对象,然后选择“对齐视图”以选中

    场景上的焦点对象的屏幕截图。

    小窍门

    如果你觉得场景中的大图标让人分心(例如,大型框架的“T”图标),可以通过 将 Gizmos 切换Off 位置来隐藏它们。

配置按钮以控制场景

在本部分中,你将向场景添加脚本,并创建按钮事件,用于演示模型切换和剪辑功能的基础知识。

配置可按按钮(脚本)组件

  1. 在“层次结构”窗口中,展开 SceneContentButtonParent 对象,然后选择“ 下一步 ”按钮。 在检查器窗口中,找到“可按下按钮”组件,然后选择 OnClick () 事件下的+图标()。

    展开可交互脚本的屏幕截图。

  2. 在“层次结构”窗口中仍然选择 NextButton 对象后,将 ButtonParent 对象从“层次结构”窗口拖动到刚刚添加的事件的空 “无”(对象) 字段中,以使 ButtonParent 对象侦听此按钮中的按钮单击事件:

    向 None 对象添加 ButtonParent 的屏幕截图。

  3. 选择同一事件的“无函数”下拉列表,然后选择ViewButtonControl>NextModel(),将NextModel()函数设置为按下按钮时触发的动作。

    选择 ViewButtonControl 和 NextModel 的屏幕截图。

配置剩余按钮

  • 对于每个剩余按钮,请完成上面概述的过程,将函数分配给 OnClick () 事件:

    • 对于 PreviousButton 对象,请分配 ViewButtonControl>PreviousModel () 函数。
    • 对于 ClippingButton,请选择 ToggleButton>ToggleClipping () 函数。

配置视图按钮控件(脚本)和切换按钮(脚本)组件

此时,按钮配置为演示模型切换和剪辑功能。 接下来,将 3D 模型添加到场景,并将剪辑对象添加到脚本。

我们提供了六种不同的 3D 模型进行演示。 展开 ModelParent 对象以公开这些模型。

  1. 在“层次结构”窗口中仍然选择 ButtonParent 对象后,在检查器窗口中找到 “视图按钮控件”(脚本) 组件并展开 “模型 ”变量。

    “大小 ”字段中,输入想要在场景中拥有的 3D 模型数;在本例中为 6。 这会创建用于添加新 3D 模型的字段。

    输入 3D 模型数量的屏幕截图。

  2. 将 ModelParent 对象的每个子对象拖到这些字段中。

    拖放每个子对象的屏幕截图。

  3. ClippingObjects 对象从“层次结构”窗口拖动到 “切换按钮”(脚本) 组件的 “剪辑对象 ”字段。

    注释

    仅停留在 ButtonParent 对象中。

    拖放剪辑对象的屏幕截图。

  4. 在“层次结构”窗口中,选择“ClippingObjects”预制件并在“检查器”窗口中启用它以打开“剪辑对象”

配置剪辑对象以启用剪辑功能

在本部分中,你将将 MarsCuriosityRover 对象的子对象呈现器添加到单个 剪辑对象 中,以演示 MarsCuriosityRover 模型的剪辑。

在“层次结构”窗口中,展开 ClippingObjects 对象以公开你将在此项目中使用的三个不同的剪辑对象。

  1. 若要配置 ClippingSphere 对象,请选择该对象,然后在检查窗口中添加 剪裁球体 组件。 接下来,在“ 大小 ”字段中输入为 3D 模型添加的呈现器数。 在这种情况下,请为 MarsCuriosityRover 子对象添加 10 个。 这将创建用于添加呈现器的字段。 接下来,将 MarsCuriosityRover 对象的子模型对象拖到这些字段中。

    配置剪辑对象以启用剪辑功能的屏幕截图。

  2. 通过在“层次结构”窗口中启用“ClippingObjects”预制件,确保“剪辑对象”处于打开状态