gpt4 book ai didi

android - ARCore – Anchors 附加到 Trackable 时的作用是什么?

转载 作者:行者123 更新时间:2023-11-29 23:16:04 24 4
gpt4 key购买 nike

我有一个示例 ARCore 代码,我在其中将 anchor 附加到我检测到的每个新可跟踪对象。我不明白附加这些 anchor 的效用,也不明白将多个 anchor 附加到单个 Trackable 的需要是什么。

我已经查看了文档。我找不到太多解释。

Collection<AugmentedImage> updatedAugmentedImages =
frame.getUpdatedTrackables(AugmentedImage.class);

// Iterate to update augmentedImageMap, remove elements we cannot draw.
for (AugmentedImage augmentedImage : updatedAugmentedImages) {
switch (augmentedImage.getTrackingState()) {
case PAUSED:
// When an image is in PAUSED state, but the camera is not PAUSED, it has been detected,
// but not yet tracked.
String text = String.format("Detected Image %d", augmentedImage.getIndex());
messageSnackbarHelper.showMessage(this, text);
break;

case TRACKING:
// Have to switch to UI Thread to update View.
this.runOnUiThread(
new Runnable() {
@Override
public void run() {
fitToScanView.setVisibility(View.GONE);
}
});

// Create a new anchor for newly found images.
if (!augmentedImageMap.containsKey(augmentedImage.getIndex())) {
Anchor centerPoseAnchor = augmentedImage.createAnchor(augmentedImage.getCenterPose());
augmentedImageMap.put(
augmentedImage.getIndex(), Pair.create(augmentedImage, centerPoseAnchor));
}

最佳答案

...嗨帕鲁尔,

Anchors 将现实世界映射到增强世界,让您在特定位置看到模型。事实上, anchor 是虚拟内容和传感器获取的内容之间的接触点。

我将尝试更好地解释这个概念:

当您将 3d 模型放置在某处时,您需要根据原点定义模型的位置 (x,y,z) 和方向。你知道起源在哪里,因为你在隐含地创造这个世界。每次您移动手机并且 ArCore 正在运行时,手机都会使用传感器(例如相机、陀螺仪、加速度计等)存储一些关于您的运动的信息,从而创建您周围空间的内存表示(通常是稀疏点云) ).

我怎么能说虚拟世界中的一个点与手机生成的这个新空间中的点相同?我使用 anchor 。

在您的示例中,此点是计算机视觉算法检测到的引用图像的点。在其上放置一个 anchor 假设您放置增强内容的虚拟世界具有对该真实点的引用,并且当您移动手机时该内容出现在正确的位置。

ArCore 将根据您的 Action 在每一帧更新 anchor ,使内容根据现实世界更加逼真。

what is the need of attaching multiple anchors to a single trackable.

通常你攻击多个Anchor到一个trackable上以获得更多的引用点并让ArCore减少虚拟世界位置和空间之间的误差。

没有必要为每个对象创建一个新的 anchor 。对具有某种空间关系的模型使用相同的 anchor 是一个很好的提示,同时假设这些对象距离不太远。还请记住,使用和创建 anchor 会在手机使用的资源方面产生成本。这可能会导致您的应用性能下降,从而破坏用户体验。

希望这对您有所帮助。

干杯。

你也可以引用这篇文章:

https://developers.google.com/ar/develop/developer-guides/anchors

另外一定要检查Visual Inertial OdometrySLAM如果您想更多地了解这些技术背后的过程。只需谷歌即可了解更多信息。

关于android - ARCore – Anchors 附加到 Trackable 时的作用是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55333373/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com