空间对象网格观察程序 — MRTK2

在 Unity 编辑器中提供环境网格数据的一种简便方法是使用 SpatialObjectMeshObserver 类。 空间对象网格观察程序是用于空间感知系统的仅限编辑器的数据提供程序,可用于导入 3D 模型数据以表示空间网格。 空间对象网格观察程序的一个常见用途是导入通过 Microsoft HoloLens 扫描的数据,以测试体验如何适应 Unity 中的不同环境。

使用入门

本指南将逐步介绍如何设置空间对象网格观察程序。 启用此功能有三个关键步骤。

  1. 向空间感知系统配置文件添加空间对象网格观察程序
  2. 设置环境网格数据对象
  3. 配置其他网格观察程序配置文件属性

设置空间对象网格观察程序配置文件

  1. 选择所需的混合现实工具包配置文件,或者在场景中选择混合现实工具包对象

  2. 打开或展开“空间感知系统”选项卡

  3. 单击“添加空间观察程序”按钮

    Add Spatial Observer

  4. 选择 SpatialObjectMeshObserver 类型

    Select Spatial Object Mesh Observer

  5. 选择所需的空间网格对象。 默认情况下,使用示例模型配置观察程序。 此模型是使用 Microsoft HoloLens 创建的,但也可以创建新的扫描网格对象

  6. 配置其他网格观察程序配置文件属性

    Select the Mesh Object

空间对象网格观察程序配置文件说明

由于空间对象网格观察程序从 3D 模型加载数据,因此它不遵循下面所述的一些标准网格观察程序设置。

更新间隔

加载模型时,空间对象网格观察程序会将所有网格发送到应用程序。 它不模拟更新之间的时间增量。 应用程序可以通过调用 myObserver.ClearObservation()myObserver.Resume() 重新接收网格事件。

是静止观察程序

空间对象网格观察程序会将所有 3D 网格对象视为静止的,而忽略原点。

观察程序形状和盘区

空间对象网格观察程序将整个 3D 网格发送到应用程序。 不考虑观察程序形状和盘区。

详细级别和三角形/立方米

将网格发送到应用程序时,观察程序不会尝试查找 3D 模型 LOD。

获取环境扫描

本部分概述了用于创建和收集空间网格对象文件以与空间对象网格观察程序一起使用的附加信息。

Windows 设备门户

Windows 设备门户可用于从 Microsoft HoloLens 设备以 .obj 文件的形式下载空间网格。

  1. 只需使用 HoloLens 边走边查看所需的环境即可进行扫描
  2. 使用 Windows 设备门户连接到 HoloLens
  3. 导航到“3D 视图”页面
  4. 单击“空间映射”部分下的“更新”按钮
  5. 单击“空间映射”部分下的“保存”按钮,将 obj 文件保存到电脑

注意

HoloToolkit .room 文件

许多开发人员以前使用 HoloToolkit 来扫描环境并创建 .room 文件。 混合现实工具包现在支持将这些文件作为 Unity 中的 GameObjects 导入,并在观察程序中将它们用作空间网格对象

另请参阅