Я пытаюсь использовать ARKit для проверки положения игрушки. У меня есть ресурс сканирования ARObject, и размещение игрушки в поле зрения камеры работает довольно хорошо. Другими словами, didAdd
и didUpdate
из SCNScene
и ARSession
вызываются, как и ожидалось, в разумное время после того, как игрушка будет помещена в поле зрения камеры. Но когда я отодвигаю игрушку от камеры, didRemove
не вызывается , а не , ни для SCNScene
, ни для ARSession
.
Я читал пропаганду такого поведения Говоря «хорошо, ARKit не может знать, действительно ли он был удален, и он все еще может быть не за горами», но это довольно непрактичное предположение. Вся документация Apple об этой функции: «ARKit может автоматически удалять якоря», но не говорит ни слова о том, когда и почему. Я знаю о isTracked , но ARObjectAnchor
кажется единственным подклассом ARAnchor, который не реализует ARTrackable .
Единственный отчаянный хак, о котором я могу думать, это какой-то нечеткого тайм-аута, когда didUpdate
перестает вызываться, потому что это единственный эффект удаления объекта AFAIK. Я пропустил что-то в ARWorldTrackingConfiguration
? Пожалуйста