【问题标题】:Getting started with Azure Spatial Anchors: CreateAzureAnchor() crash or taking a long time to loadAzure 空间锚点入门:CreateAzureAnchor() 崩溃或需要很长时间才能加载
【发布时间】:2021-05-03 06:12:26
【问题描述】:

我一直在关注本教程: https://docs.microsoft.com/en-us/windows/mixed-reality/develop/unity/tutorials/mr-learning-asa-02

本教程中没有包含一些必要的配置和步骤,例如: 它需要一个 ARCameraManager 错误日志 它需要一个 ARSession 错误日志

  • 它需要 ARAnchorManager 错误日志

当我不断收到错误并在此过程中修复它时,我配置了它

并且能够部署、测试和遵循设备内教程:

  1. 将立方体移动到不同的位置

  2. 启动 Azure 会话

  3. 创建 Azure 锚点(在多维数据集的位置创建锚点)。 ......

但我被困在#3

当我点击创建 Azure 按钮时,它只是崩溃,但是当我检查调试版本时,它实际上并没有崩溃,因为没有实际错误,我认为它只是继续加载和/或在当前主线程上工作因为当我点击创建 Azure 按钮时一切都消失了。

我查看了对应函数的代码,就是这样:

您可能会注意到它有一个错误,这是我下载的包中的实际脚本,但我所要做的就是在“.GetPointer()”之后添加“.Result”

我划分了脚本并添加了日志,以便我可以看到问题所在:

最后记录的是:“tastInpt”,这意味着得到结果就是问题所在。

这可以修复吗?谁能帮我解决这个问题?

【问题讨论】:

    标签: unity3d hololens azure-spatial-anchors


    【解决方案1】:

    您能否提供更多有关您的环境的信息?例如,HoloLens 2 设备的 Unity 版本、Azure Spatial Anchors (ASA) SDK 版本和操作系统版本。

    您是否正在为您的 Unity 使用匹配的 ASA SDK?在您上面提到的教程中有一个指向此页面的链接:https://docs.microsoft.com/en-us/azure/spatial-anchors/how-tos/setup-unity-project?tabs=unity-package-web-ui

    一些常见错误包括版本不匹配 - Unity 2019 需要 ASA SDK 2.7 或更高版本和更低版本 2.9,而 Unity 2020 需要最低版本 2.9。

    【讨论】:

    • 依赖项:Hololens 2 OS:10.0.18362.1042 * Unity 2020.3.5f1 * ASA SDK Core 2.9.0 * ASA SDK for Windows 2.9.0 * MRTK Example 2.6.1 * MRTK Extensions 2.6.1 * MRTK Foundation 2.6.1 * MRTK Standard Assets 2.6.1 * Windows XR Plugin 4.4.2 * XR Plugin Management 4.0.1 包:* MRTK......GettingStarted.2.4.0.unitypackage * MRTK...... ..AzureSpatialAnchors.2.5.3.unitypackage –
    【解决方案2】:

    我可以通过以下方式自行解决此问题: Azure 示例的 github 存储库。我实际上不知道为什么会这样,但微软的样本却没有。但是给你:

    https://github.com/Azure/azure-spatial-anchors-samples

    【讨论】:

    • 很抱歉给您带来不便,但很高兴您找到了解决方案。这是一些上下文 - MRTK 的 ASA 示例使用自 Unity 2020.2 以来 Unity 已弃用的类,这就是您在初次尝试时看到此问题的原因。我们已经更新了您在 GitHub 中找到的示例的脚本,但是 MRTK 教程需要一些时间。
    • 作为记录,MRTK 教程已针对 Unity 2020 进行了更新:docs.microsoft.com/en-us/windows/mixed-reality/develop/unity/… 如果您只想要 ASA,上面的 github 示例很棒。如果您想将其与 MRTK 一起使用,请使用此更新教程。
    【解决方案3】:

    我刚刚意识到我对该错误的修复:

                    gameObject.GetComponent<UnityEngine.XR.WSA.WorldAnchor>().SetNativeSpatialAnchorPtr(currentCloudAnchor.LocalAnchor);
    

    只是将其注释掉,因为我认为这没有必要,因为我还没有开始开发,并且据我所知(通过阅读代码)这只是为了加载锚而不是创建它,但我可能是错的。但无论如何,这是我们必须修复的问题之一才能加载。或创建(如果这确实有助于创建锚点功能)

    此脚本再次来自:

    MRTK.HoloLens2.Unity.Tutorials.Assets.AzureSpatialAnchors.2.5.3.unitypackage

    【讨论】:

    • 依赖项:Hololens 2 OS:10.0.18362.1042 * Unity 2020.3.5f1 * ASA SDK Core 2.9.0 * ASA SDK for Windows 2.9.0 * MRTK Example 2.6.1 * MRTK Extensions 2.6.1 * MRTK Foundation 2.6.1 * MRTK Standard Assets 2.6.1 * Windows XR Plugin 4.4.2 * XR Plugin Management 4.0.1 包:* MRTK......GettingStarted.2.4.0.unitypackage * MRTK...... ..AzureSpatialAnchors.2.5.3.unitypackage
    • 原来 Unity 已弃用自 Unity 2020.2 以来脚本中使用的类。与github.com/Azure/azure-spatial-anchors-samples 不同的示例应该可以工作(您稍后会发现)。
    猜你喜欢
    • 2012-06-24
    • 1970-01-01
    • 1970-01-01
    • 2021-07-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-08-15
    • 2015-04-22
    相关资源
    最近更新 更多