unity3d - Unity World Anchors 如何在 HoloLens 上工作?
问题描述
我目前正在构建一个 HoloLens 应用程序,并考虑了一个需要动态创建、放置和在会话之间保持全息图的功能。这些全息图不需要在设备之间共享。
我做了一场噩梦,试图为 Unity WorldAnchors 找到(工作)实现和文档,Azure Spatial Anchors 似乎消除了它的大部分痕迹。值得庆幸的是,我已经克服了这一点,并通过使用较旧的 HoloToolkit 来实现 WorldAnchors,因为较新的 MRTK 中的 WorldAnchors 文档似乎也消失了。
我的问题(因为我找不到任何文档)是WorldAnchors 是如何工作的?
我冒昧地猜测它是基于空间映射的,它提出了一个限制,即如果您有 2 个相同的房间或在原始房间中移动的物体,则锚点/s 将会丢失。
我想听到的是,它是一种神奇的转换管理,这意味着我的应用程序了解它在使用之间的真实世界位置的变化,即使应用程序每次都是从不同的位置启动的。
有没有人知道答案或者我可能会在哪里寻找(除了有限的 Unity 和 MS Docs 之外)以找出实现细节?
谢谢你。
解决方案
我冒昧地猜测它是基于空间映射的,这存在一个限制,即如果您有 2 个相同的房间或在原始房间中移动的物体,则锚点/s 将会丢失。
我们不会透露 World Anchor 内部编码的内部实现细节,但我们可以声明它不是基于当前使用 HoloLens v1 或 HoloLens v2 的 GPS。目前,世界锚点使用空间地图中的数据进行放置。关键的底层部分是anchors依赖空间扫描,扫描可以使用wifi来提高速度和准确性,请参阅这两个参考:1 & 2
我想听到的是,它是一种神奇的转换管理,这意味着我的应用程序了解它在使用之间的真实世界位置的变化,即使应用程序每次都是从不同的位置启动的。
当然有可能有两个完全相同的房间,它们的布局完全相同,以欺骗映射认为它是同一个房间。我们在这里记录: https ://docs.microsoft.com/en-us/windows/mixed-reality/coordinate-systems#headset-tracks-incorrectly-due-to-identical-spaces-in-an-environment
推荐阅读
- r - 如何将数据(csv)从fileInput()闪亮上传到S3?
- scala - 无法将 String[][] 中的元素包含在 Scala 的单个数据结构中
- python - Python 正则表达式仅匹配字母数字字符后的单个“/”
- enterprise-architect - Enterprise Architect - 如何将列键设置为 Autonum?
- excel - 如何删除单元格开头和结尾的空格?
- angularjs - 使用chart.js在同一页面中绘制多个饼图时仅显示一次图例
- android - GraphQL 查询在 .graphQl 文件中显示错误
- angular - Angularfire 错误:“Promise 类型不存在属性 'subscribe'
’。” - orocrm - 您系统上安装的 intl ICU 版本 (64.1) 与 Symfony (57.1) 捆绑的 ICU 数据不匹配”
- excel - VBA自动过滤器 - 两种方法之间的区别