房间扫描可视化

需要空间映射的应用程序依赖于使用设备来收集不同时间的跨会话数据。 映射数据的完整性和质量取决于许多因素,包括用户完成的探索量、探索后经过了多长时间,以及自设备扫描区域后家具和门等对象是否已移动。

为确保空间映射数据有用,应用程序开发人员有多种选择:

  • 依赖于可能已收集的数据。 这些数据最初可能不完整。
  • 要求用户使用开花手势进入 Windows Mixed Reality 主页,然后探索他们想要用于体验的区域。 他们可以使用隔空敲击来确认设备是否知道所有必要的区域。
  • 在他们自己的应用程序中构建自定义探索体验。

在所有这些情况下,在探索过程中收集的实际数据将由系统存储,应用程序不需要存储数据。 若要查看房间扫描可视化的实际运用情况,请查看下面的“设计全息影像 - 空间感知”视频演示

此视频取自“设计全息影像”HoloLens 2 应用。 请在此处下载并畅享完整体验。

设备支持

功能 HoloLens 沉浸式头戴显示设备
房间扫描可视化

构建自定义扫描体验

应用程序可能会在体验开始时分析空间映射数据,以判断是否需要用户执行额外的步骤来改善其完整性和质量。 如果分析表明应改善质量,开发人员应提供一种要叠加在环境上的可视化效果,以指示:

  • 用户附近的总体积有多少需要成为体验的一部分
  • 用户应在何处改善数据

用户不知道“好的”扫描的要素是什么。 如果要求他们评估扫描,则需要展示或告知他们要查找哪些内容 - 平整度、与实际墙壁的距离,等等。 开发人员应实现一个反馈循环,其中包括在扫描或探索阶段刷新空间映射数据。

在许多情况下,最好告诉用户他们需要怎样做才能获得所需的扫描质量。 例如,看看天花板、看看家具后面,等等。

缓存与连续空间映射

空间映射数据是应用程序可以使用的最重要数据源。 为了避免丢帧或卡顿等性能问题,请慎用此数据。

体验期间的活动扫描可能有益也可能有害,因此需要根据经验决定使用哪种方法。

缓存空间映射

如果存在缓存的空间映射数据,应用程序通常会创建空间映射数据的快照,并在体验期间使用此快照。

优点

  • 在体验运行时降低系统开销,从而显著提高功率、热量和 CPU 性能。
  • 主要体验的更简单实现,因为它不会被空间数据的变化中断。
  • 出于物理学、图形和其他目的对空间数据进行任何后处理只会产生一次性成本。

缺点

  • 缓存的数据不会反映真实世界中对象或人员的运动。 例如,应用程序可能认为一扇门是打开的,但现在它是关闭的。
  • 可能需要更多的应用程序内存来保留数据的缓存版本。

此方法的一个典型例子是受控环境或桌面游戏。

连续空间映射

某些应用程序可能依赖于连续扫描来刷新空间映射数据。

优点

  • 无需在应用程序中预先构建单独的扫描或探索体验。
  • 游戏可以反映真实世界中的物体的运动,不过会有一定的延迟。

缺点

  • 主要体验的实现复杂度更高。
  • 额外的图形和物理处理可能会产生开销,因为这些系统需要以增量方式引入更改。
  • 更大的功率、热量和 CPU 影响。

此方法的典型例子是全息影像预期与运动物体交互,例如,一辆在地面上行驶的全息汽车可能会撞到一扇门,这取决于这扇门是打开还是关闭的。

另请参阅