首页 > 解决方案 > RealityKit 或 SceneKit 中是否有 ObjectTracking?

问题描述

我在 SceneKit 中尝试了对象检测,但只有在放置虚拟对象后才开始检测对象,不再检测或跟踪对象。我记得读过对象检测不是一个连续的过程,但再也找不到那个资源了。请分享可能有用的资源。谢谢你。

标签: swiftxcodescenekitarkitrealitykit

解决方案


更新:

ARKit 4 引入了两种符合ARTrackable( ARAppClipCodeAnchor, 和ARGeoAnchor) 的新类型,但ARObjectAnchor.

此外,当我对该主题进行更多研究时,我发现Vision 框架提供了对象跟踪。这在某些情况下可能很有用。


首先,我将尝试澄清一些概念。

SceneKit是一个渲染框架,所以它的工作就是在屏幕上渲染虚拟物体。

RealityKit也是一个渲染框架。这是由 Apple 创建的,旨在帮助开发人员创造更好的 AR 体验。

也就是说,渲染框架实际上并不跟踪真实环境中的任何东西,比如物理对象或图像。负责理解现实世界的是ARKit。ARKit 可以检测物理世界中的真实物体、图像等。

回到您的问题,为了被跟踪,物理对象应该ARAnchor在您的应用程序中有一个符合ARTrackable的对应锚点 ( ) 。正如您在文档中看到的那样,符合标准的类型ARTrackableARBodyAnchorARFaceAnchorARImageAnchor. 对象锚的类型是ARObjectAnchor,并且,正如您在文档中看到的那样,此类不符合ARTrackable,这意味着无法在 ARKit 3.0 上跟踪物理对象。ARKit 只检测对象,但不跟踪它。将来,可能会支持对象跟踪。


推荐阅读