gpt4 book ai didi

ios - ARKit anchor 在暂停后是否仍然存在并再次运行?

转载 作者:行者123 更新时间:2023-12-01 19:48:35 25 4
gpt4 key购买 nike

我正在考虑开发一个 ARKit 应用程序,但在决定购买 iPhone 之前,我想问两个对我来说至关重要的问题。请让我知道这是否已经被问过,因为我在网上的其他地方找不到它。

问题:
1. 假设运动跟踪丢失(例如,当指向白墙时)然后再次恢复。它是在同一引用系中定位还是从头开始?另外, anchor 是否保留?
2. 假设我暂停了 session ,然后再次运行它(例如,离开应用程序然后返回)。是否从暂停前定位回引用系?另外, anchor 是否保留?

我问这个是因为我知道本地化在 ARCore 中还不起作用,我想知道它在 ARKit 中的状态。

谢谢!

最佳答案

ARKit 有两种或三种丢失跟踪的方式(取决于你如何看待它们);每个对 anchor 都有不同的影响。

1.临时跟踪质量问题

(老实说,我在那个词的中间摸索了大写锁定。我的键盘正在为我制作双关语!)

在您提到的第一种情况以及类似的情况下——指着一堵空白的墙,让手机突然发生碰撞,从黑暗的区域移动到明亮的光线,反之亦然——你的应用程序将收到关于 ARKit 的 tracking state 更改的通知这会影响相机姿势跟踪的质量。

当跟踪状态为 limited 时,ARKit 关于世界在哪里的想法可能与现实世界不同步,但它仍然有足够的信息能够在情况过去时重新定位。这包括 anchor 。 (亲自尝试;运行 Apple 的 ARKit 示例代码项目之一,并在移动手机时盖住相机镜头。)

如果影响跟踪状态的任何情况持续很长时间,则重新定位不太可能成功。它可以帮助跟踪您进行有限跟踪的时间,并为用户提供一种在事情变得太不正常时重新启动 session 的方法。

2和3. session 中断和恢复或重启

如果发生某些事情中断了 ARKit 接收摄像头和运动数据的能力——比如 iPhone 上的来电屏幕,或者用户响应交互式通知,你的应用会收到 sessionWasInterrupted 信息。在这种情况下(就 session 管理而言),除了等待相应的 sessionInterruptionEnded 之外,您无能为力。信息。

如果中断是短暂的并且设备此后没有移动太多,则有可能自动重新定位。当然,由于运动跟踪关闭,您无法判断设备移动了多少……您可以根据中断的持续时间以及您的 AR 体验对跟踪精度的敏感程度做出有根据的猜测,并据此决定是否重新启动 session 。 (例如,让太空入侵者漂浮在空中的游戏比让用户通过标记墙壁来追踪平面图的应用程序受到的影响要小。)

Aside: Traditional iOS UI patterns like modal view controllers, tab views, and navigation controllers can push the view hosting an AR session away, interrupting the session and losing tracking. Like Apple’s Human Interface Guidelines for AR suggest, it can be good to use things like popover views instead, so that you keep the AR experience onscreen and the session running.



何时/如果你这样做 restart your AR session ,您可以选择是保留 anchor 还是重置跟踪。如果您已经失去了定位,这真正意味着您是在任意坐标空间中跟踪它们定义的 anchor (即使该空间不再与现实世界对齐),还是只是丢失所有 anchor 。

但是,除了重新启动 session 之外,没有什么会导致 anchor 被删除。如果您暂时失去跟踪以进行重新定位,那么即使坐标系不完全一致,跟踪真实世界对象的 anchor (即平面 anchor ,而不是您手动创建的 anchor )也应该调整回实际位置像以前一样。

关于ios - ARKit anchor 在暂停后是否仍然存在并再次运行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47018366/

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