【问题标题】:ARCore - Augment Images increase stability of trackingARCore - 增强图像增加跟踪的稳定性
【发布时间】:2019-08-27 14:06:31
【问题描述】:

根据官方文档Recognize and Augment Images

从 ARCore 1.9 开始,如果您的图像永远不会从它的 位置(例如,贴在墙上的海报),您可以附加一个 图像的全局锚点,以增加跟踪的稳定性。

但没有给出如何在代码中实际执行的进一步提示或说明。请指教。

【问题讨论】:

  • 您是否在其他地方找到了您的问题的答案?我也在寻找这个信息,但它不存在。

标签: arcore


【解决方案1】:

他们的意思可能是创建一个普通的锚。

Trackable.createAnchor()

这将强制 ARCore 在内存中保留更多与该位置相关的数据。

【讨论】:

    【解决方案2】:

    您可以像这样创建附加到图像的锚点:

     // Create a new anchor for newly found images.
              if (!augmentedImageMap.containsKey(augmentedImage)) {
                AugmentedImageNode node = new AugmentedImageNode(this);
                node.setImage(augmentedImage);
                augmentedImageMap.put(augmentedImage, node);
                arFragment.getArSceneView().getScene().addChild(node);
              }
              break;
    

    在此处查看完整示例,包括在 Sceneforms 中的上述摘录:https://github.com/google-ar/sceneform-android-sdk/blob/master/samples/augmentedimage/app/src/main/java/com/google/ar/sceneform/samples/augmentedimage/AugmentedImageActivity.java

    在 ARCore 代码实验室中详细描述了将锚点托管为云锚点 - 请参阅此处的链接:https://codelabs.developers.google.com/codelabs/arcore-cloud-anchors/#2

    整个代码实验室值得一看,因为它简短明了,但托管您创建的锚点的关键行如下:

    snackbarHelper.showMessage(getActivity(), "Now hosting anchor...");
    cloudAnchorManager.hostCloudAnchor(
        getArSceneView().getSession(), anchor, this::onHostedAnchorAvailable);
    

    【讨论】:

    • 问题不是如何创建锚点,而是附加一个 global 锚点,如文档中所述。
    • @AndersEmil - 实际上没有称为“全局锚点”的特定 ARCore 实体,所以如果 OP 想要一个在应用程序的“世界”中可用的锚点,答案的第一部分显示这是因为它没有包含在 OP 提供的链接中,如果请求是针对“云锚”,那么我已经更新了答案以提供一些关于云锚的信息。
    • 问题与云主播无关
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-04-07
    • 1970-01-01
    • 2019-11-05
    • 1970-01-01
    • 2019-02-06
    • 2019-10-24
    相关资源
    最近更新 更多