【问题标题】:SpatialAnchors can't find AR anchor on gameobjectSpatialAnchors 在游戏对象上找不到 AR 锚点
【发布时间】:2019-10-18 22:28:52
【问题描述】:

我正在尝试使用空间锚点 API 和他们网站上提供的示例来实现我自己的 iOS 项目。我非常密切地关注这些示例,但由于某种原因,当我尝试保存锚点时,我的应用程序崩溃了。 Xcode 显示“在游戏对象上找不到 AR 锚点”,然后发生 InvalidOperationException 异常。

我已经尝试调试并发现 SessionGetArAnchorPointerForId 返回 InPtr.Zero,这被解释为给定 GameObject 上缺少 AR Anchor。当我尝试获取游戏对象的本机锚指针时发生错误。

public async void SaveAnchorInCloud(GameObject localAnchor)
   {
       localAnchor.AddARAnchor();//local Anchor is just a Cube instance
       Debug.Log("Added AR Anchor to local Anchor");
       CloudSpatialAnchor cloudAnchor = new CloudSpatialAnchor();
       cloudAnchor.LocalAnchor = localAnchor.GetNativeAnchorPointer(); //error occures here
       await this.cloudSession.CreateAnchorAsync(cloudAnchor);
       Debug.Log("Cloud Anchor erstellt: " + cloudAnchor.Identifier);
   }

我已经与空间锚点示例项目进行了比较,但我似乎无法发现云锚点的保存方式有什么不同。

【问题讨论】:

    标签: unity3d arkit azure-spatial-anchors


    【解决方案1】:

    @Chris,您遇到此问题的原因是在 iOS Unity 中创建本地锚点后创建锚点,您需要让框架继续并在之后使用它。如果您查看我们的示例,在我们获得本机指针之前会经过一段时间。如果您在创建锚点后调度代码,这可确保通过一帧,您将不会看到此问题。

    【讨论】:

      【解决方案2】:

      如果您看不到放置的 Anchor,只需确保其上具有 CloudNativeAnchor 脚本的 Anchor GameObject 在层次结构中处于活动状态。该游戏对象未激活时发生此错误。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2023-03-31
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多