如何在Unity编辑器中将HoloLens全息图相对于锚点对齐

时间:2019-04-08 17:37:03

标签: c# unity3d hololens

我试图相对于WorldAnchors对齐全息图,而无需手动将其放置在应用程序内。有什么方法可以在Unity编辑器中可视化WorldAnchors来使对象相对于其位置对齐?我在设备门户中看到锚数据,这与WorldAnchors完全相关吗?

理想的工作流程是:

1)第一次扫描房间,通过设备门户获取房间网格.obj。同时运行Unity助手应用程序并放置锚点以供以后参考(例如,在房间的角落)。

2)将.obj和Device Portal定位符(如果可能)导入Unity。

3)将这些WorldAnchors转移到新的Unity项目中,并相对于锚点对齐全息图。

4)首次在HoloLens上运行此新应用,并且全息图正确放置在空间中,而无需用户额外调整锚点。


以下是使用Vuforia的示例,但我想使用WorldAnchors(或以某种方式在Device Portal中使用锚点)来实现无标记的解决方案:https://youtu.be/W7z2sggDGoo?t=1689

此处引用的脚本为404s:https://github.com/Microsoft/MixedRealityToolkit-Unity/issues/530

https://forums.hololens.com/discussion/10725/placing-holograms-at-predefined-locations-in-spatial-mapping-hololens几乎可以提供一种解决方案,但是仍然无法解释如何在开发中将锚点和房间网格对齐以在打开应用程序时进行精确放置。

谢谢!

编辑-这是一个类似的问题:Placing objects at set locations in a pre-scanned room是否有比“在应用程序的某些配置首次运行中手动放置所有对象”更好的解决方案?

2 个答案:

答案 0 :(得分:1)

据我所知,世界锚仅在运行时存在,无法将它们导出为统一的或已经在统一中添加预定义的。

我遇到了类似的问题,并使用了vuforia ImageTargets,效果很好。

答案 1 :(得分:0)

听起来您想使用 WorldAnchorStore UnityEngine.XR.WSA.Persistence)。这样一来,锚就可以在会话之间和应用程序之间持久保存在设备上,而且(在我的头顶)可能是您在设备门户中看到的锚的来源。

如果您在项目中使用混合现实工具包,则有一个帮助程序 WorldAnchorManager (位于Common / Scripts中)可以包装基本功能。

>