Сначала я попытаюсь прояснить некоторые понятия.
SceneKit - это среда рендеринга, поэтому ее работа заключается в рендеринге виртуальных объектов на экране.
RealityKit также является средой рендеринга. Этот был создан Apple, чтобы помочь разработчикам в улучшении восприятия AR.
При этом платформы рендеринга фактически не отслеживают ничего в реальной среде, например, физических объектов или изображений. Ответственный за понимание реального мира - ARKit . ARKit может обнаруживать реальные объекты, изображения и т. Д. c. В физическом мире.
Возвращаясь к вашему вопросу, для отслеживания физический объект должен иметь соответствующую привязку (ARAnchor
) в вашем приложении, которое соответствует ARTrackable . Как видно из документации, соответствующие типы ARTrackable
: ARBodyAnchor
, ARFaceAnchor
и ARImageAnchor
. Якоря объектов имеют тип ARObjectAnchor , и, как вы можете видеть из документов, этот класс не соответствует ARTrackable
, что означает, что физические объекты не могут отслеживаться в ARKit 3.0. ARKit только обнаруживает объект, но не отслеживает его. В будущем может поддерживаться отслеживание объектов.
Если вам интересно узнать, не находится ли обнаруженный объект в кадре камеры, вы можете проверить мой ответ на этот другой вопрос.