1

我目前正在为 HoloLens 开发一个 Unity 项目。为此,我使用 HoloToolkit 中的 Spatial Mapping Observer 和 Spatial Mapping Manager。我需要访问空间网格,特别是网格中的顶点。现在我的问题是:

  1. HoloLens 如何处理网格?要访问所有顶点,我需要先循环遍历网格列表,然后遍历每个网格以获取它们。为什么 Spatial Mapping Manager 会为我提供多个网格?

  2. 这些顶点在什么坐标系中?如果我想要一个顶点到相机的相对距离,我可以从顶点位置减去世界框架中的相机位置吗?顶点是否在世界框架中?

非常感谢您的宝贵时间!

4

1 回答 1

1

空间映射网格将自动位于第 31 层,因此您可以使用简单的图层蒙版获得它。

为什么 Spatial Mapping Manager 会为我提供多个网格?

Unity 仅处理最多 ~2^16 个顶点/面的网格,因此当它变得比这更大时,它将被拆分。

这些顶点在什么坐标系中?

据我所知,它们不在任何特殊的坐标系中,只是正常的统一坐标。

如果我想要一个顶点到相机的相对距离,我可以从顶点位置减去世界框架中的相机位置吗?

是的,我认为Vector3.Distance应该可以工作。您可以使用 获取主摄像头的位置Camera.mainCamera.gameObject.transform.position

于 2019-05-20T06:40:13.637 回答