Version: 2017.2
空间映射
空间映射基本低级 API 用法

空间映射概念

空间映射 (Spatial mapping) 是将真实世界对象映射到虚拟世界的过程。这是为 Windows Holographic 应用程序提供更出色的真实世界交互体验的好方法。

映射

HoloLens 设备不断扫描周围环境,并根据新传感器数据优化对世界的理解。更新将频繁进行以便捕捉到环境变化,例如有人出入房间或开关门。世界映射数据集保存到设备上,并且将在多个应用程序之间以及设备重新启动后持续保留。

透明、黑色和反射表面在很大程度上对设备不可见。如果设备无法检测到某些内容,则通常会在空间映射数据中留下一个空洞。对于设备尚未看到或未能看到的世界部分,也是如此。例如,未观察到的房间将不存在任何数据。

数据组织

设备的世界映射被切割成常规大小的块,称为__表面。系统以一种对自身而言非常方便的方式在世界中定位__表面。无法保证系统会以任何特定方向排列__表面__,而表面也可能与给定的真实世界空间(例如房间)不正确地相交。为某个__表面__生成的数据会与相邻的__表面__轻微重叠。

请注意,不存在与任何__表面__数据相关联的语义或解释。系统不知道也无法报告__表面__上是什么。

例如:系统无法分辨出桌子上的斑点是一个杯子,也不能判断房间中间的模糊椅子状物体到底是什么。系统仅根据自身对世界的理解(使用传感输入数据构建对世界的认知)报告该区域中几何体的配置。

观察者

应通过 SurfaceObserver 访问空间映射数据。这是一个描述系统空间映射世界视图的体积。SurfaceObserver 可以报告已添加、更改或删除的与之相交的一组__表面__。这是处理空间映射数据的主要 API 点。

注意事项

您需要了解以下问题。它们取决于系统的工作方式。

1.空间映射数据量可能非常庞大,因此会在可扩展性方面带来挑战。 2.在房间内快速移动的物体或人可能会使数据非常不规则。 3.数据中的空洞有时会导致问题,特别是出于设计原因需要连续数据时。

请参阅 Microsoft 关于空间映射 (Spatial mapping) 的文档以进一步了解空间映射概念。

空间映射
空间映射基本低级 API 用法