目前,我尝试使用MRTK2.4的实验性WorldAnchorManager (参见官方API条目)。总的来说,一切看起来都很安静。首先,您必须创建Manager的一个实例,并将其分配给要使用它的脚本。之后,应该可以使用以下代码将锚加载到对象中:
public string AttachAnchor(GameObject gameObjectToAnchor, string anchorName = null)此代码还保存API中提到的Anchor。
如果我想从GameObject中删除锚,我可以调用:
public void RemoveAnchor(GameObject gameObjectToUnanchor)在我的团结项目(2019.3.7)中,我计算了一些游戏对象的位置,然后通过上面的方法给它们分配锚。如果我移动游戏对象,我将移除锚,并在移动过程结束后再次对其进行修补。
如果我将解决方案部署在HoloLens2上,定位游戏对象,对锚点进行修补,并获得锚点已成功访问的日志,则这些锚点应该可以在hololens2上跨会话本地访问。不幸的是,在我的示例中,在重新启动设备上的应用程序并重新加载锚后,它们无法加载。Manager记录“无法加载”GO name“.创建新锚”。
我不知道我做错了什么,这个经理应该已经工作了吗?我是否必须在Unity中配置一些东西来使用Manager?也许有人已经使用了经理,可以帮助我解决这个问题。
发布于 2021-05-20 09:03:04
即使为时已晚,我也想结束这个问题。WorldAnchorManager仅在使用遗留XR为WSA平台构建时才起作用。它不工作在编辑器或统一-XR-插件。我试着把它和XR插件一起使用。
发布于 2020-09-21 20:26:44
好的,我编写了一个小示例应用程序,它使用了MRTK中的world锚管理器。根据这些步骤:https://learn.microsoft.com/en-us/windows/mixed-reality/develop/unity/persistence-in-unity,该应用程序允许用户在任意位置放置多维数据集,每次发布多维数据集时都会自动创建和保存锚。当应用程序关闭并重新启动时,将加载锚点,并将多维数据集放在其保存的位置。
在这里可以找到源:https://github.com/anders-lundgren/mrtk-world-anchors
在Unified2019.4.9f1、VisualStudio2019、HoloLens 2上验证(Build10.0.19041.1377)。
除了上述步骤之外,根据https://learn.microsoft.com/en-us/windows/mixed-reality/develop/unity/tutorials/mr-learning-base-02的MRTK入门教程,我还添加了基本的MRTK组件。我还从本例中添加了一个简单的调试预置程序:https://learn.microsoft.com/en-us/windows/mixed-reality/develop/unity/tutorials/mr-learning-asa-02#importing-the-tutorial-assets,以及本例中的操作处理程序:ManipulationHandler.html。
https://stackoverflow.com/questions/63847593
复制相似问题