【问题标题】:Hololens Spectator View Android Spatial FailureHololens Spectator View Android 空间故障
【发布时间】:2019-11-21 02:21:46
【问题描述】:

我需要将 Android 设备连接到 Hololens 以进行“旁观者”查看,如示例 'Build 2019 Demo' 代码中所示。但是,当我启动 Android 和 Hololens 构建并在 Android 端输入 Hololens IP 地址时,我看到的只是一个“ArUco”代码。安卓设备上看不到任何视频和 3D 内容。

我应该补充一点,与我的项目相比,我已经仔细审查了示例项目,并且无法确定任何相关差异。

当然,我想跳过这个屏幕代码,但我也对这个 ArUco 代码在应用程序流中的位置感到困惑,因为它不是我所知道的任何场景(或流)的一部分。

【问题讨论】:

    标签: unity3d hololens mrtk


    【解决方案1】:

    出现 ArUco 代码是为了对这两个设备进行本地化。如果一切编译正确,HoloLens 将开始使用其摄像头检测 ArUco 代码。一旦检测到,ArUco 代码将被关闭,内容将在两个设备上正确定位。您可能缺少 ArUco 标记检测所需的 OpenCV 本机插件。可以在here 找到有关如何构建这些插件的说明。您特别需要 x86 版本的 SpectatorView.OpenCV.dll 来进行 ArUco 检测,才能在 HoloLens 1 设备上工作。

    与 ArUco 标记相比,Build2019 示例使用 Azure 空间锚点进行本地化。如果你想使用 Azure Spatial Anchors,你需要去 Spectator View -> Edit Settings 并添加一个 SpatialAnchorsCoordinateLocalizationInitializer 到 prefab。您还需要在 SpatialLocalizationInitializationSettings 中声明一个引用此 SpatialAnchorsCoordinateLocalizationInitializer 的 Prioritized Initializer。与默认的 ArUco 本地化初始化程序相比,这将导致使用 SpatialAnchorsCoordinateLocalizationInitializer。

    如果您已设置这些设置,则可能是 SpatialAnchorsLocalizer 未在您的 Android 或 HoloLens 设备上注册为可用。您需要将 SPATIALALIGNMENT_ASA 预处理器指令添加到您的 Android 和 WSA 播放器设置中,以使 SpatialAnchorsLocalizer 将自己声明为受支持。

    【讨论】:

    • 感谢您的快速回复!启动所需的应用程序+SDK 步骤/流程是否记录在任何地方?
    • 克里斯,我还应该指出,我在我的项目中执行了这些步骤(添加了 SpatialAnchorsCoordinateLocalizationInitializer 并将其链接到 SpatialLocalizationInitializationSettings),但 android 端仍在使用 aruco 代码。我不清楚这是否是使用天蓝色空间锚的正常过程的一部分。
    • Azure 空间锚设置在 SpectatorView.Setup.md 文档中有一个部分。
    • 听起来您遇到了一个问题,即 Android 或 HoloLens 设备未配置为支持 Azure 空间锚。我建议确保您已将 SPATIALALIGNMENT_ASA 预处理器指令添加到 AndroidHoloLens 播放器设置中。
    • 为了进一步调试问题,Android 设备应该为两个设备启动本地化here。 HoloLens 将向 Android 设备报告它支持的定位器。这就是可能出现问题的地方/ArUco 标记视觉/ArUco 标记检测器本地化配置被选中,而不是您在观众视图设置中配置的 Azure 空间锚本地化。
    猜你喜欢
    • 1970-01-01
    • 2018-09-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-06-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多