Unity World Anchors 如何在 HoloLens 上工作?

HOW do Unity World Anchors work on the HoloLens?

我目前正在构建一个 HoloLens 应用程序,并且考虑到一个功能,即需要动态创建、放置全息影像,并在会话之间保持全息影像。这些全息图不需要在设备之间共享。

我一直在努力寻找 Unity WorldAnchors 的(有效)实现和文档,而 Azure Spatial Anchors 似乎消除了它的大部分痕迹。值得庆幸的是,我已经克服了这一点,并设法通过使用较旧的 HoloToolkit 来实现 WorldAnchors,因为较新的 MRTK 中的 WorldAnchors 文档似乎也已经消失了。

我的问题(因为我找不到任何文档)是如何 WorldAnchors 工作?

有没有人知道答案或我可能会去哪里(除了有限的 Unity 和 MS 文档之外)找出实现细节?

谢谢。

I'd hazard a guess that it's based on spatial mapping, which presents the limitation that if you have 2 identical rooms or objects that move in the original room, the anchor/s is/are going to be lost.

我们不会透露 World Anchor 内部编码的内部实现细节,但我们可以声明它不是基于目前使用 HoloLens v1 或 HoloLens v2 的 GPS。目前,World Anchor 使用空间地图中的数据进行放置。关键的底层部分是锚点依赖空间扫描,扫描可以使用wifi来提高速度和准确性,参见这两个参考:1 & 2

What I'd LIKE to hear is that it's some magical management of transforms, which means my app has an understanding of its change in real-world location between uses even if the app is launched from a different location each time.

当然有可能有两个布局完全相同的房间来欺骗映射认为它们是同一个房间。我们在这里记录: https://docs.microsoft.com/en-us/windows/mixed-reality/coordinate-systems#headset-tracks-incorrectly-due-to-identical-spaces-in-an-environment