8 платформ разработки дополненной AR-реальности — их преимущества и недостатки

Дополненная реальность (augmented reality, AR)

Дополненная реальность (augmented reality, AR)

Обзор лучших платформ для AR-разработки

vuforiaVuforia — одна из лучших платформ для разработки дополненной реальности, поскольку она предлагает впечатляющий набор функций. Поддерживает Android, iOS, UWP, Unity Editor и Smart Glasses.

Особенности:

    • распознавание 2D/3D объектов;
    • распознавание текста (более 100 000 слов из

английской лексики + возможность использования личного словаря);

  • воспроизведение видео при обнаружении поверхности цели;
  • локальное (on-device) или облачное распознавание;
  • VuMark (комбинация изображения и QR кода) и др.

Недостатки:

  • слабый трекинг;
  • иногда дёргается 3D-модель;
  • нет хорошего руководства по работе с платформой
kudanKudan — популярный SDK, являющийся основным конкурентом Vuforia. Поддерживает только Android и iOS.

Особенности:

  • распознавание простых изображений и 3D-объектов;
  • лёгкое генерирование базы данных в редакторе Unity;
  • отслеживание объектов без маркеров;
  • безлимитное количество распознаваемых изображений.

Недостатки:

  • сбои редактора;
  • порой не подходит лицензионный ключ.
EasyAREasyAR (2.0 SDK Basic) — достаточно простой в использовании движок, поддерживающий Android, iOS, UWP, Windows, OS X и Unity.

Особенности:

  • распознавание 3D-объектов;
  • хранение до 1000 целей на устройстве;
  • облачное распознавание;
  • работа на смарт-очках;
  • легкая интеграция;
  • интуитивно понятные документы и примеры.

Недостатки:

  • платная версия стоит 499$.
wikitudeWikitude — мощный инструмент для создания AR-приложений. Помимо Unity, Wikitude AR SDK поддерживает другие среды разработки: Cordova, Appcelerator Titanium и Xamarin.

Особенности:

  • первоклассное распознавание и отслеживание изображений;
  • трёхмерное слежение на базе SLAM;
  • облачное распознавание и др.

Недостатки:

  • высокая цена – от €1990.
ARTOOLKITARtoolKIt — отличный набор инструментов с открытым исходным кодом для разработки AR-приложений. Кроме Android и iOS также поддерживает Linux, Windows, OS X и смарт-очки.

Особенности:

  • автоматические утилиты калибровки камеры и стереоскопической оптики;
  • интеграция с GPS и компасами;
  • поддержка оптических шлемов и очков;
  • бесплатная лицензия для всех конфигураций

Недостатки:

  • скудная информация для разработчиков.
MAXSTMaxst — легко управляемое решение для создания AR-приложений. Кроме Android и iOS также поддерживает Windows и Mac OS. Бесплатная версия доступна только с водяными знаками.

Особенности:

  • Maxst AR SDK 3D обладает такими характеристиками, как SLAM, физический движок (используемый, например, для создания эффекта падения снега и накапливания на крыше) и эффекта окклюзии (когда виртуальный контент полностью или частично экранируется реальным объектом).
  • Maxst AR SDK 2D поставляется с несколькими распознаваниями изображений (до 200 изображений на канал), увеличением видео и т.д.

Недостатки:

  • работает только с 32-разрядной версией редактора Unity.
  • цена PRO-версии — $999.
XZIMGXzimg включает в себя 3 инструмента: Augmented Face, Augmented Vision и Magic Face. Поддерживает платформы ПК, Android, iOS, Windows, WebGL.

Недостатки:

  • Бесплатная версия позволяет опробовать лишь некоторые функции (например, инвертирование цвета и замена изображений). Платная версия стоит €1600.
ARKitARKit — отличный набор инструментов для работы с дополненной реальностью от компании Apple.

Особенности:

  • Распознавание вертикальных и плоских горизонтальных поверхностей;
  • Быстрое, стабильное отслеживание движений;
  • Автоматическая оценка освещенности;
  • Поддерживает Unity и Unreal;
  • Отличная поддержка сообщества.

Недостатки:

  • ограничен только iOS 11.

Сравнение функциональных возможностей SDK

Vuforia Kudan EasyAR WikiTude ARtoolKit Maxst XZIMG ARKit
Лицензия Free/Commercial Free/Commercial Free/Commercial Commercial Free Open Source Free/Commercial Free/Commercial Free
Поддерживаемые платформы
  • Android
  • iOS
  • UWP
  • Android
  • iOS
  • Android
  • iOS
  • UWP
  • Mac OS
  • Android
  • iOS
  • Android
  • iOS
  • Windows
  • Mac OS
  • Linux
  • Android
  • iOS
  • Windows
  • Mac OS
  • Android
  • iOS
  • Windows
  • Mac OS
  • iOS 11
Смарт-очки + + + + +
Unity + + + + + + + +
Облачное распознавание + + + +
3D распознавание + + + + + +
Геолокация + + + +
SLAM + + + + +

Чем руководствоваться при выборе SDK?

При выборе оптимального инструмента для создания приложений дополненной реальности стоит учитывать следующие критерии:

Тип лицензии

Есть бесплатные и коммерческие лицензии. Конечно, функциональность бесплатных инструментов достаточно ограничена, так что для разработки многофункционального приложения потребуется платная версия SDK.

Поддерживаемые платформы

При выборе SDK учитывайте то, с какими платформами он работает. Как правило, все SDK поддерживают Android и iOS.

Но если в планах разработка приложения для Windows Mobile или для Mac OS, то не все SDK подойдут.

Поддержка смарт-очков

Не все SDK для дополненной реальности поддерживают смарт-очки. Однако в последнее время смарт-очки становятся все более популярными, а значит, возможность создания мобильных AR-приложений, совместимых с ними, безусловно, является преимуществом.

Поддержка Unity

С помощью Unity можно создать графику gee-whiz в своих мобильных приложениях AR, поэтому проверьте совместимость SDK с Unity.

Облачное распознавание

Для разработки AR-приложения, способного распознавать большое количество разных маркеров, потребуется SDK с функцией облачного распознавания.

Некоторые платформы распознают 100 маркеров, в то время как другие — до 1000. Конечно, чем больше SDK может распознать маркеров, тем больше возможностей открывается перед разработчиком.

Отслеживание 3D-объектов

Лучшие платформы поддерживают отслеживание 3D-изображений, что означает, что они могут распознавать 3D-объекты: чашки, цилиндры, коробки, игрушки и др. Это значительно расширяет возможности для разработки приложений дополненной реальности.

Геолокация

Поддержка геолокации необходима для добавления виртуальных точек интереса к вашему приложению и для разработки некоторых мобильных игр.

Окончательный выбор среды разработки зависит от предпочтительного принципа распознавания маркеров и предыдущего опыта команды AR-разработчиков!