Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Swift 我可以用ARKit一次跟踪4张以上的图像吗?_Swift_Augmented Reality_Arkit_Arcore_Realitykit - Fatal编程技术网

Swift 我可以用ARKit一次跟踪4张以上的图像吗?

Swift 我可以用ARKit一次跟踪4张以上的图像吗?,swift,augmented-reality,arkit,arcore,realitykit,Swift,Augmented Reality,Arkit,Arcore,Realitykit,开箱即用很明显,它不允许一次跟踪超过4张图像。(您可以“跟踪”更多的标记,但一次只能运行4个标记)。有关这方面的更多详细信息,请参阅 不过,我想知道是否有可能的解决办法。比如在计时器上添加和删除锚,或者获取位置信息,然后在没有ARKit的情况下显示相应的模型,等等。我对Swift的了解相当有限,所以我还没有太多的运气进行实验。任何指向正确方向的建议或指针都会有所帮助 相比之下,安卓系统的ARCore限制为20。我还亲自测试了基于web的库,在iPhone上跟踪超过4个标记。我还相信我在某个地方读

开箱即用很明显,它不允许一次跟踪超过4张图像。(您可以“跟踪”更多的标记,但一次只能运行4个标记)。有关这方面的更多详细信息,请参阅

不过,我想知道是否有可能的解决办法。比如在计时器上添加和删除锚,或者获取位置信息,然后在没有ARKit的情况下显示相应的模型,等等。我对Swift的了解相当有限,所以我还没有太多的运气进行实验。任何指向正确方向的建议或指针都会有所帮助

相比之下,安卓系统的ARCore限制为20。我还亲自测试了基于web的库,在iPhone上跟踪超过4个标记。我还相信我在某个地方读到过,任天堂DS的一些变体能够跟踪4个以上的标记。由于硬件限制,这是不可行的。

ARKit 5.0 今天的答案是肯定的,你可以。苹果表示,开发者现在可以在WWDC 2021发布的Arkit5.0中检测到多达100幅图像。让我们看看这个

Arkit4.0 ARKit 4.0中没有解决办法,可以使用会话的
ARImageTrackingConfiguration()中的
ARImageAnchor
子类同时跟踪四个以上的图像。我应该说,尽管在Arkit4.0中,场景中跟踪图像的总数可能高达100,但这种限制仍然有效

如果选择“跳转到定义”选项,则可以在
ArcConfiguration
类中阅读注释

我相信这一功能受到了Cupertino软件工程师的限制,并非偶然
ARImageAnchor
子类继承自
ARAnchor
父类并符合协议,因此它不仅跟踪静态图像,还跟踪运动图像(如车身上的徽标)。因此,如果您跟踪的图像超过4张,则会占用大量CPU/GPU(最臭名昭著的是耗尽手机电池),因为您的设备必须检测并跟踪多个不同的对象

我想用一个更新的ARKit 4.0版本可以同时跟踪4张以上的图像,这个版本可以在相当强大的5nm设备上运行,比如今年秋天我们将看到的iPhone12

因此,苹果软件工程师为了一个强大的AR体验而牺牲了应用程序的功能

p.S.


将ARCore与ARKit进行比较是不正确的,因为这些框架在内部的工作方式不同,即使它们具有类似的基本原理,如世界跟踪场景理解渲染阶段。除此之外,我应该说ARCore的功能比ARKit更为温和,这使得ARCore在CPU计算方面更加“轻量级”(尽管我知道最后一句话听起来非常主观)。

“我想你可以用5nm设备跟踪4+个图像,似乎在2020年后期。”-你能对此进行扩展吗?此外,我完全理解性能和电池消耗会很糟糕,但令人沮丧的是,苹果公司正在从开发人员那里取消这一选择。使用14芯片组的设备将比现有设备强大得多。对于苹果来说,如果用户的AR体验只持续几分钟而不是至少一个小时,那就更令人沮丧了。别忘了,过热会损坏电池。