我目前正在为HoloLens开发Unity项目。为此,我使用了HoloToolkit中的Spatial Mapping Observer和Spatial Mapping Manager。我需要访问空间网格,尤其是网格中的顶点。现在我的问题是:
HoloLens如何处理网格?要访问所有顶点,我需要先遍历网格列表,然后遍历每个网格以获取它们。为什么“空间映射管理器”为我提供了多个网格?
这些顶点在哪个坐标框中?如果我想要从一个顶点到相机的相对距离,我可以从顶点位置中减去相机在世界帧中的位置吗?顶点在世界框架中吗?
非常感谢您的光临!
答案 0 :(得分:1)
“空间贴图”网格将自动位于第31层上,因此只需使用简单的layermask就可以得到它。
为什么空间映射管理器为我提供了多个网格?
Unity最多只能处理约2 ^ 16个顶点/面的网格,因此当它大于此值时,它将被分割。
这些顶点在哪个坐标系中?
据我所知,它们不在任何特殊的坐标系中,只是普通的统一坐标。
如果我想要一个顶点到相机的相对距离,我可以从顶点位置中减去相机在世界帧中的位置吗?
是的,我认为Vector3.Distance应该有效。您可以使用Camera.mainCamera.gameObject.transform.position
获取主摄像机的位置。