Azure空间锚点 - 如何保存和获取锚点?

问题描述 投票:0回答:1

我尝试了 azure-空间锚点-演示包,它对我来说工作得很好。现在我想在我的项目中使用azure。在我目前的理解中,锚的坐标是存储的。关于它是否是一个3D对象,以及它的样子,更精确的信息没有被存储。如果我的理解有误,请纠正我。

假设我有3个不同的对象:汽车、房子和树。

它们都是锚,我在场景中实例化它们。我目前的程序如下。

  1. _anchorModul.StartAzureSession();
  2. 我实例化了汽车、房子和树,然后分别调用它们 CreateAzureAnchor();:

    InstantiatedGo = Instantiate(GoToInstantiate, GetCurrentHitPosition(), Quaternion.FromToRotation(Vector3.back, _gazeProvider.HitInfo.normal)) as GameObject;
    _anchorModul.CreateAzureAnchor(InstantiatedGo);
    
  3. 在该方法中 CreateAzureAnchor() 我通过以下方式设置对象的类型 localCloudAnchor.AppProperties.Add("type", theObject.GetComponent<SomeClass>().Type);.

  4. 然后,我把锚保存到磁盘上,通过 _anchorModul.SaveAzureAnchorIdToDisk();

但现在我想重新启动我的应用程序,并在正确的位置获得对象。正确的 秩序 应该是。

  1. 重新启动应用程序
  2. 从磁盘中获取Azure Anchor
  3. 启动Azure会话
  4. 寻找蔚蓝锚

我的问题: 我如何获得找到的锚,从而可以访问我设置的属性,并在我的三个对象上实例化相关属性?

我的规格:

  • Unity 2019.2.15
  • MRTK 2.2
  • AzureSpatialAnchors.unitypackage.
  • MRTK.HoloLens2.Unity.Tutorials.Assets.AzureSpatialAnchors.2.2.0.0.unitypackage
  • MRTK.HoloLens2.Unity.Tutorials.Assets.GettingStarted.2.2.0.1.unitypackage
unity3d augmented-reality hololens mrtk azure-spatial-anchors
1个回答
1
投票

你需要向Azure服务提出请求,以便 定锚 使用至少一个保存的id。你可以发送一个id数组,也可以发送一个并询问附近的锚。

© www.soinside.com 2019 - 2024. All rights reserved.