Могу ли я отслеживать более 4 изображений одновременно с помощью ARKit? - PullRequest
3 голосов
/ 30 января 2020

Из коробки видно, что ARKit не позволяет отслеживать более 4 изображений одновременно. (Вы можете «отслеживать» больше маркеров, но только 4 будут работать одновременно). См. этот вопрос для более подробной информации.

Однако мне интересно, есть ли возможный обходной путь. Что-то вроде добавления и удаления якорей по таймеру или получения информации о положении и последующего отображения соответствующих моделей без ARKit, et c. Мои знания о Swift довольно ограничены, поэтому мне еще не повезло экспериментировать. Любые предложения или указатели в правильном направлении будут полезны.

Для сравнения, ARCore для Android имеет ограничение в 20 в соответствии с документацией . Я также лично тестировал веб-библиотеки, отслеживающие более 4 маркеров на iPhone. Я также полагаю, что где-то читал, что какой-то вариант Nintendo DS смог отследить более 4 маркеров. Нет, это невозможно из-за аппаратных ограничений.

1 Ответ

4 голосов
/ 30 января 2020

На данный момент в ARKit 3.0 нет обходного пути для одновременного отслеживания более ЧЕТЫРЕХ изображений с использованием подкласса ARImageAnchor внутри ARImageTrackingConfiguration() сеанса. Я должен сказать, что это ограничение работает, несмотря на то, что общее количество отслеживаемых изображений в сцене может быть до 100 в ARKit 3.0.

Вы можете прочитать комментарии в ARConfiguration класс, если вы выберете Jump to Definition вариант.

enter image description here

Я считаю, что эта функция была ограничена программным обеспечением Купертино Инженеры не случайно. Подкласс ARImageAnchor наследуется от родительского класса ARAnchor и соответствует протоколу ARTrackable , поэтому он отслеживает не только статичные c изображения, но и движущиеся изображения (например, lo go на кузове автомобиля) , Следовательно, если вы отслеживаете более 4 изображений - это сильно загружает процессор / графический процессор (самая печально известная вещь для разрядки аккумулятора телефона), потому что ваше устройство должно обнаруживать и отслеживать несколько различных объектов.

Полагаю, можно будет одновременно отслеживать более 4 изображений с более новой версией ARKit 4.0, которая может быть запущена на очень мощной 5nm devices, например, iPhone 12, что мы увидим этой осенью.

Таким образом, разработчики программного обеспечения Apple пожертвовали функциональностью приложений ради надежного опыта AR.

PS

Неправильно сравнивать ARCore с ARKit, потому что эти фреймворки работают по-разному внутри, даже если они имеют схожие фундаментальные принципы - как World Tracking , Понимание сцены и Рендеринг этапов. И в дополнение к вышесказанному, я должен сказать, что ARCore обладает более скромной функциональностью, чем ARKit, что делает ARCore более «легковесным» для вычислений ЦП (хотя я понимаю, что последняя фраза звучит очень субъективно).

...