根据官方文档Recognize and Augment Images
从ARCore 1.9开始,如果您的图像永远不会离开其位置 位置(例如,贴在墙上的海报)上,您可以附加一个 图像的全局锚点,以提高跟踪的稳定性。
,但未提供有关如何在代码中实际执行操作的进一步提示或说明。请指教。
答案 0 :(得分:0)
他们可能的意思是创建一个普通锚点。
Trackable.createAnchor()
这将迫使ARCore将与该位置有关的更多数据保留在内存中。
答案 1 :(得分:-1)
您可以像这样创建锚定图像:
// 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;
在此处查看完整的示例,其中包括上述场景摘录中的上述摘录: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);