我可以使用 ARKit 一次跟踪 4 个以上的图像吗?
Can I track more than 4 images at a time with ARKit?
开箱即用,很明显 ARKit 不允许同时跟踪 4 个以上的图像。 (您可以 "track" 更多标记,但一次只能使用 4 个标记)。有关详细信息,请参阅 。
但是,我想知道是否有可能的解决方法。比如在计时器上添加和删除锚点或获取位置信息然后在没有 ARKit 的情况下显示相应的模型等。我对 Swift 的了解相当有限,所以我还没有太多运气进行试验。任何正确方向的建议或指示都会有所帮助。
相比之下,Android 的 ARCore 根据 documentation 限制为 20。我还亲自测试了基于 Web 的库在 iPhone 上跟踪超过 4 个标记。我还相信我在某处读到过 Nintendo DS 的某些变体能够跟踪超过 4 个标记。由于硬件限制,这不可能不可行。
ARKit 5.0
今天的答案是肯定的,你可以。 Apple 表示开发者现在可以在 WWDC 2021 上宣布的 ARKit 5.0 中检测多达 100 张图像 at a time。让我们来看看这个。
ARKit 4.0
ARKit 4.0 中没有使用 ARImageAnchor
subclass 同时跟踪超过 4 个图像的解决方法在会话的 ARImageTrackingConfiguration()
内。我应该说,尽管在 ARKit 4.0 中场景中跟踪的图像总数可以达到 100,但这个限制仍然有效。
You can read comments in ARConfiguration
class if you choose Jump to Definition
option.
我相信此功能并非偶尔受到 Cupertino 软件工程师的限制。 ARImageAnchor
subclass 继承自 ARAnchor
parent class 并符合 ARTrackable 协议,因此它不仅可以跟踪静态图像,还可以跟踪运动图像(如徽标在汽车的车身上)。因此,如果您跟踪 超过 4 张图像 – 这是高度 CPU/GPU 密集的(最臭名昭著的耗尽 phone 的电池),导致您的设备必须检测并跟踪几个不同的对象。
我想使用较新的 ARKit 4.0
版本可以同时跟踪 4 个以上的图像,该版本可以 运行 相当强大 5nm devices
,比如 iPhone 12,我们将在今年秋天看到。
Thus, Apple software engineers sacrificed apps functionality for the sake of a robust AR experience.
P.S.
将 ARCore 与 ARKit 进行比较是不正确的,因为这些框架在内部工作方式不同,即使它们具有相似的基本原理 – 例如 World Tracking、场景理解和渲染阶段。除了上述之外,我应该说 ARCore 比 ARKit 具有更适度的功能,这使得 ARCore 在 CPU 计算方面更加“轻量级”(尽管我知道最后一句话听起来很主观)。
开箱即用,很明显 ARKit 不允许同时跟踪 4 个以上的图像。 (您可以 "track" 更多标记,但一次只能使用 4 个标记)。有关详细信息,请参阅
但是,我想知道是否有可能的解决方法。比如在计时器上添加和删除锚点或获取位置信息然后在没有 ARKit 的情况下显示相应的模型等。我对 Swift 的了解相当有限,所以我还没有太多运气进行试验。任何正确方向的建议或指示都会有所帮助。
相比之下,Android 的 ARCore 根据 documentation 限制为 20。我还亲自测试了基于 Web 的库在 iPhone 上跟踪超过 4 个标记。我还相信我在某处读到过 Nintendo DS 的某些变体能够跟踪超过 4 个标记。由于硬件限制,这不可能不可行。
ARKit 5.0
今天的答案是肯定的,你可以。 Apple 表示开发者现在可以在 WWDC 2021 上宣布的 ARKit 5.0 中检测多达 100 张图像 at a time。让我们来看看这个。
ARKit 4.0
ARKit 4.0 中没有使用 ARImageAnchor
subclass 同时跟踪超过 4 个图像的解决方法在会话的 ARImageTrackingConfiguration()
内。我应该说,尽管在 ARKit 4.0 中场景中跟踪的图像总数可以达到 100,但这个限制仍然有效。
You can read comments in
ARConfiguration
class if you chooseJump to Definition
option.
我相信此功能并非偶尔受到 Cupertino 软件工程师的限制。 ARImageAnchor
subclass 继承自 ARAnchor
parent class 并符合 ARTrackable 协议,因此它不仅可以跟踪静态图像,还可以跟踪运动图像(如徽标在汽车的车身上)。因此,如果您跟踪 超过 4 张图像 – 这是高度 CPU/GPU 密集的(最臭名昭著的耗尽 phone 的电池),导致您的设备必须检测并跟踪几个不同的对象。
我想使用较新的 ARKit 4.0
版本可以同时跟踪 4 个以上的图像,该版本可以 运行 相当强大 5nm devices
,比如 iPhone 12,我们将在今年秋天看到。
Thus, Apple software engineers sacrificed apps functionality for the sake of a robust AR experience.
P.S.
将 ARCore 与 ARKit 进行比较是不正确的,因为这些框架在内部工作方式不同,即使它们具有相似的基本原理 – 例如 World Tracking、场景理解和渲染阶段。除了上述之外,我应该说 ARCore 比 ARKit 具有更适度的功能,这使得 ARCore 在 CPU 计算方面更加“轻量级”(尽管我知道最后一句话听起来很主观)。