1

我尝试了 azure-spatial-anchor-demo-package,它对我来说效果很好。现在我想在我的项目中使用 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 锚点
  3. 启动 Azure 会话
  4. 查找 Azure 锚点

我的问题:如何获取找到的锚点,以便访问我设置的属性并实例化我的三个对象的相关属性?

我的规格

  • 团结 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
4

1 回答 1

1

您需要向 Azure 服务发出请求,以使用至少一个保存的 id来定位锚点。您可以发送一组 id 或发送一个并询问附近的锚点。

于 2020-05-06T22:44:16.510 回答