Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/unity3d/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Unity3d 使用MRTK中的WorldAnchorManager_Unity3d_Spatial_Hololens - Fatal编程技术网

Unity3d 使用MRTK中的WorldAnchorManager

Unity3d 使用MRTK中的WorldAnchorManager,unity3d,spatial,hololens,Unity3d,Spatial,Hololens,目前,我尝试使用MRTK 2.4的实验性WorldAnchorManager。总的来说,一切看起来都很简单。首先,您必须创建管理器的实例,并将其分配给要使用它的脚本。之后,应该可以使用以下代码将锚点加载到对象中: public string AttachAnchor(GameObject gameObjectToAnchor, string anchorName = null) 这段代码还保存了API中提到的锚 如果我想从游戏对象中移除锚,我可以调用: public void RemoveAn

目前,我尝试使用MRTK 2.4的实验性WorldAnchorManager。总的来说,一切看起来都很简单。首先,您必须创建管理器的实例,并将其分配给要使用它的脚本。之后,应该可以使用以下代码将锚点加载到对象中:

public string AttachAnchor(GameObject gameObjectToAnchor, string anchorName = null)
这段代码还保存了API中提到的锚

如果我想从游戏对象中移除锚,我可以调用:

public void RemoveAnchor(GameObject gameObjectToUnanchor)
在我的Unity项目2019.3.7中,我计算了一些游戏对象的位置,然后通过上述方法为它们分配锚。如果我移动游戏对象,我会移除锚并在移动过程完成后再次连接它们

如果我在HoloLens2上部署解决方案,定位游戏对象,连接锚,并获得成功连接锚的日志,那么这些锚应该可以在HoloLens2上跨会话本地访问。不幸的是,在我的情况下,在设备上重新启动应用程序并重新加载锚后,无法加载锚。无法为“GO name”加载管理器日志锚。。。创建一个新的锚


我不确定我做错了什么,这个经理应该已经开始工作了吗?我必须在Unity项目中配置一些东西才能使用Manager吗?也许有人已经使用了该管理器,可以帮助我解决这个问题。

好的,我编写了一个小示例应用程序,使用MRTK的world anchor管理器。 基于以下步骤:,该应用程序使用户能够在任何位置放置多维数据集,并在每次释放多维数据集时自动创建和保存锚定。 当应用程序关闭并重新启动时,将加载锚定并将立方体放置在其保存的位置

可在此处找到来源:

于Unity 2019.4.9f1、Visual Studio 2019、HoloLens 2 Build 10.0.19041.1377进行验证


除了上述步骤之外,我还根据上的MRTK入门教程添加了基本MRTK组件。我还添加了这个示例中的一个简单调试预置:,以及这个示例中的操纵处理程序:。

即使已经太晚了,我还是想完成这个问题。WorldAnchorManager仅在使用旧版XR为WSA平台构建时才起作用。它在编辑器中或Unity XR插件中不起作用。我试着将它与XR插件一起使用。

因为WorldAnchorManager是一个实验性功能,它处于开发周期的早期,还没有将其升级到核心MRTK代码中。目前还没有文档说明如何使用它。但是,根据WorldAnchorManager的源代码,您会遇到这个问题,因为WorldAnchorStore.Load在中返回null。因此,您应该再次检查第568行中的WorldAnchorStore.Save方法是否返回true。感谢您的回复。我已经在调试过程中。您可以排除我的HoloLens的OS版本可能是问题的原因吗?不应该是,它使用Unity API,与OS版本无关。此外,对于Unity版本,我们建议使用Unity LTS长期支持流作为最佳版本,当前建议使用Unity 2019.4.10f1:嘿,谢谢你的回答。我导入了你的MakeAngle脚本。不幸的是,保存锚仍然会导致错误。在我写这个问题之前,我已经尝试过你在第一个链接中提到的方法,但在那个时候它不起作用,现在仍然不起作用。我正在使用Unity 2019.4.7和xr插件。目前我真的不知道这背后的原因是什么。