Как отслеживать только один объект с помощью AR Foundation?

Пытаюсь реализовать отображение по одному 3D объекту для каждой целевой картинки. Под Android и iOS.

Звучит просто, а на деле мне не хватает данных об уровне детекции картинки. ARTrackedImageManager.trackablesChanged выдает 3 списка - added, updated, removed и казалось бы - строй логику. Но, added вызывается один раз для картинки, которая ниразу еще не трекалась. removed я не встречал еще ниразу. updated вызывается каждый тик детекции(а не когда данные действительно изменились) и предоставляет 3 стейта для каждого ранее добавленного изображения - None, Limited, Tracking.

Казалось бы, ну реагируй на то, что кто-то перешел в стейт Tracking. Но нет.

При переключении изображений(перевороте страниц в книжке) Android сообщает, что оба изображения в стейте Tracking, но не всегда, но часто. Какой из них лучше "Tracking" не понятно. Отображать только новый - нельзя будет отобразить предыдущий.

Для iPhone ситуация аналогичная по синусе, но сдвинута на фазу. Если Android уверен в тех изображениях, которых уже нет перед камерой, то iPhone вечно не уверен, что перед ним та же картинка что и была и постоянно щелкает между Limited/Tracking.

Мне кажется, я что-то упускаю. Может быть где-то есть информация о рейтинге распознавания картинок с библиотеки? Я бы хотел брать "самую вероятную", а не получать обрезанную информацию о всех картинках.

Помогите, кто чем может. Я уже не знаю куда читать,а сроки горят.

UDP. Чуть расширю вопрос с куском кода для иллюстрации.

void OnChanged(ARTrackedImagesChangedEventArgs eventArgs)
{
    foreach (var newImage in eventArgs.added)
    {
        // Handle added event
        // по факту срабатывает не при обнаружении картинки вообще, а по первому обнаружению и только
    }

    foreach (var updatedImage in eventArgs.updated)
    {
        // Handle updated event
        // updatedImage.trackingState = (None/Limited/Tracking)
        // Часто ситуации когда картинки уже нет перед камерой, а она все равно Tracking. Или как у iPhone, картинка еще перед камерой в фокусе и не частично - а все равно щелкает между Limited/Tracking.
    }

    foreach (var removedImage in eventArgs.removed)
    {
        // Handle removed event
        // Работаю над проектом уже 2 недели и ниразу не видел что бы объект удалился
    }
}

Ответы (0 шт):