1

通过在 Unity 2018.4.12f 中使用 MRTK_V2,我尝试使用第一代 hololens 对多层建筑进行空间映射。hololens 提供了我希望在远程位置(在扫描的建筑物外运行统一应用程序的计算机)近乎实时(大约 10 秒)呈现的空间映射数据。这样做的想法是,远程位置的人可以跟踪扫描过程并在他/她的眼前看到建筑物的 3D 模型,同时也可以在 3D 模型中跟踪 hololens 用户。

我已经拥有映射和跟踪功能,并且能够通过套接字发送序列化网格并在另一端反序列化它们。但是,我无法在接收端的正确位置渲染网格。

在发送网格之前,我尝试将单个网格的顶点从本地空间转换到世界空间,但这不起作用,因为网格的位置由连接到它的世界锚点控制。断开锚点似乎不利,因为这会导致数据出现大量漂移。我想将所有网格连接到空间中的一个点,将它们转换为世界空间,但在我目前对空间映射概念的理解中,这是不可能的。

现在我想知道我是否可以在接收端渲染相对于世界锚点的网格,例如通过使用天蓝色的空间锚点。我可以想象这是不可能的,因为锚点可能需要与现实世界建立联系。此外,锚点在运行时确实会改变它们的位置,因此需要不断更新,使得锚点的使用不太理想。

任何帮助将不胜感激!

4

1 回答 1

0

对于这个,我们现在确实有了答案,可以通过 Azure Spatial Anchors 2.0 SDK 更新来完成。

作为 ASA2.0 的一项新功能添加的粗略重定位,在创建和查询锚点时,我们的新 SDK 利用非视觉传感器信号来实现您所期望的这些场景,GPS、Wi-Fi 接入点和蓝牙信标数据作为一部分的这个新功能。

有关如何使用设备上的传感器创建和定位锚点,请在此处阅读更多信息。

于 2019-12-17T08:01:31.030 回答