空间感知入门 - MRTK2

空间感知

感知系统在混合现实应用程序中提供现实世界的环境感知。 在 Microsoft HoloLens 上引入后,空间感知提供了一系列网格来代表环境的几何形状,用于在全息影像与现实世界之间实现引人入胜的交互。

注意

目前,混合现实 Toolkit 不会随最初打包在 HoloToolkit 中的空间理解算法一起提供。 空间理解通常涉及到转换空间网格数据来创建简化和/或分组的网格数据,例如平面、墙壁、地面、天花板等。

入门

添加对空间感知的支持需要混合现实工具包的两个关键组件:空间感知系统和受支持的平台提供程序。

  1. 启用空间感知系统
  2. 注册配置一个或多个空间观察器以提供网格数据
  3. 生成并部署到支持空间感知的平台

启用空间感知系统

空间感知系统由 MixedRealityToolkit 对象(或其他服务注册器组件)管理。 按照以下步骤,在 MixedRealityToolkit 配置文件中启用或禁用空间感知系统。

混合现实工具包附带了一些默认预配置的配置文件。 在其中的一些配置文件中,默认已启用或禁用空间感知系统。 这种预配置的意图(具体而言,是在禁用时)是为了避免由于计算和渲染网格而产生的视觉开销。

配置文件 默认已启用系统
DefaultHoloLens1ConfigurationProfile (Assets/MRTK/SDK/Profiles/HoloLens1) False
DefaultHoloLens2ConfigurationProfile (Assets/MRTK/SDK/Profiles/HoloLens2) False
DefaultMixedRealityToolkitConfigurationProfile (Assets/MRTK/SDK/Profiles) True
  1. 在场景层次结构中选择 MixedRealityToolkit 对象,在“检查器”面板中将其打开。

    MRTK 配置的场景层次结构

  2. 导航到“空间感知系统”部分并选中“启用空间感知系统”

    启用空间感知

  3. 选择所需的空间感知系统实现类型。 MixedRealitySpatialAwarenessSystem 是默认提供的类型。

    选择空间感知系统实现

注册观察器

混合现实工具包中的服务可以具有数据提供程序服务,这些服务可以使用平台特定的数据和实现控制来补充主服务。 此类服务的一个示例是混合现实输入系统,它包含多个数据提供程序,用于从各种特定于平台的 API 获取控制器和其他相关输入信息。

空间感知系统的相似之处在于,数据提供程序为系统提供有关现实世界的网格数据。 必须至少为空间感知配置文件注册一个空间观察器。 空间观察器通常是特定于平台的组件,它们充当从特定于平台的终结点(即 HoloLens)呈现各种类型的网格数据的提供程序。

  1. 打开或展开“空间感知系统配置文件”

    空间感知系统配置文件

  2. 单击“添加空间观察器”按钮

  3. 选择所需的“空间观察器实现类型”

    选择空间观察程序实现

  4. 根据需要修改观察器的配置属性

注意

DefaultMixedRealityToolkitConfigurationProfile (Assets/MRTK/SDK/Profiles) 的用户将为使用 WindowsMixedRealitySpatialMeshObserver 类的 Windows Mixed Reality 平台预配置空间感知系统。

生成并部署

为空间感知系统配置了所需的观察器后,便可以生成项目并将其部署到目标平台。

重要

如果以 Windows Mixed Reality 平台(例如 HoloLens)为目标,必须确保启用空间感知功能,以便能够在设备上使用空间感知系统。

警告

包括 Microsoft HoloLens 在内的某些平台支持从 Unity 内部远程执行。 使用此功能可以快速进行开发和测试,而无需执行生成和部署步骤。 确保使用在目标硬件和平台上运行的应用程序生成和部署版本进行最终验收测试。

后续步骤

按照上述步骤启用空间感知系统后,可以更详细地配置和控制系统。

有关在检查器中配置观察器的信息:

有关通过代码控制和扩展观察器的信息:

请参阅