На каждой презентации Apple показывает, насколько новые айфоны умеют работать с дополненной реальностью. На MWC 2019 Microsoft анонсировала Hololens 2, с помощью которого можно делать фантастические вещи. Все больше и больше Android-смартфонов поддерживают ARCore. Многие разработчики хотят попробовать свои силы в этой стремительно развивающейся сфере, но не знают, с чего начать. Меня зовут Кирилл Орлов, последние несколько лет я занимаюсь разработкой мобильных приложений. Вместе с ARchy мы создали несколько приложений AR. Я объясню вам простыми словами основные термины, с которыми вы столкнетесь при разработке приложения AR, а также познакомлю вас с основными технологиями и инструментами, которые помогут вам в разработке мобильных приложений. Эта статья может быть интересна тем, кто хочет освежить свои знания или лучше понять AR.

Популярные статьи AR VR:

1. Робототехника с дополненной реальностью

2. Инфографика: будущее виртуальной реальности

3. Mario Kart в реальном транспортном средстве с VR!

4. Как XR может раскрыть познание

Самое замечательное в AR заключается в том, что для пользователя больше нет реальных ограничений. В AR возможно все. Однако сейчас мы сталкиваемся с технологическими ограничениями, но также и с новыми возможностями. Одним из примеров таких ограничений могут быть устаревшие смартфоны, не поддерживающие новейшие технологии дополненной реальности.

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

Основные датчики:

  1. Датчик глубины необходим для расчета глубины и расстояния.
  2. Компас, определяющий направление.
  3. Гироскоп, определяющий угол и положение телефона в пространстве.
  4. Датчик приближения, отвечающий за определение того, насколько близко или далеко что-то находится.
  5. Акселерометр, определяющий изменение ускорения.
  6. Датчик освещенности, предназначенный для измерения интенсивности и яркости света.

Датчики для смартфона - это как органы чувств человека. Они помогают смартфону
видеть и ориентироваться в окружающей среде. Помимо датчиков, камера и технология компьютерного зрения помогают смартфону
видеть, что происходит вокруг него. Самый распространенный способ получить информацию - через камеру.

Недостаточно собрать данные о мире. Собранные данные должны иметь
смысл. Вот для чего нужен процессор. По сути, это мозг
смартфона, который обрабатывает собранные данные и выполняет с ними математические
операции. Одна из задач разработчика - научить смартфон
правильно обрабатывать данные. Библиотека Tensor Flow для машинного обучения
, разработанная Google, может помочь вам с этой задачей.

При работе с AR вам необходимо знать следующие концепции:

  1. Платформа. Платформа относится к операционной системе, для которой разработано приложение
    . В случае мобильных приложений чаще всего упоминаются платформы iOS и
    Android. Обычно приложение
    , разработанное для iOS, не может быть запущено в операционной системе
    Android, и наоборот.
  2. Механизм - это часть программного обеспечения, которое может преобразовывать различные типы данных
    в контент и обрабатывать его.
  3. Фреймворк - это набор предопределенного кода, который позволяет ускорить
    процесс разработки. Например, платформа SceneKit для iOS
    предоставляет возможность использовать встроенные источники освещения, избавляя разработчика от необходимости писать код для источников света с нуля.
  4. SDK (Software Development Kit) - набор инструментов разработки,
    поддерживающих или добавляющих новые функции в приложение.
  5. Искусственный интеллект (ИИ) - это технология, цель которой - научить компьютер или
    смартфон выполнять задачи так же, как это делает человек.
  6. Машинное обучение (ML) - это подмножество искусственного интеллекта, которое включает
    методы для создания и обучения алгоритмов, которые могут учиться на данных для
    решения конкретной проблемы.
  7. Искусственные нейронные сети (ИНС) - один из самых известных методов
    машинного обучения, построенный по образу и подобию нейронных сетей
    живого организма.
  8. Глубокое обучение (DL) - это подмножество ML, которое представляет собой набор методов машинного обучения
    , работающих с многоуровневой искусственной нейронной сетью.

Как упоминалось ранее, существуют такие инструменты, как фреймворки и SDK, которые позволяют разработчикам не писать код с нуля каждый раз, а использовать готовые модули. Фреймворки также предоставляют готовые решения для реализации сложных функций, требующих специальных знаний в области программирования или математики. Отличным примером такого решения является OpenCV, библиотека алгоритмов компьютерного зрения, обработки изображений и универсальных числовых алгоритмов с открытым исходным кодом.

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

Самые популярные фреймворки для дополненной реальности:

  • ARKit - разработан Apple специально для iOS.
  • ARCore - разработан Google для Android и iOS.
  • Vuforia и Wikitude - кроссплатформенные решения для iOS, Android и Windows. Обратите внимание, что при выпуске приложения вам необходимо оплатить лицензию библиотеки, которую вы используете.

Как видите, в AR нет ничего непонятного. Сложность задания зависит от вашего воображения, и начать работу не так сложно, как вы думаете. AR активно развивается, существует множество библиотек и фреймворков, облегчающих жизнь разработчикам. Я надеюсь, что эта статья ответила на некоторые из ваших вопросов. Теперь вы знаете, на что стоит обратить внимание, а также с каких технологий стоит начать знакомство с AR. Ничто не должно мешать вам окунуться в мир AR.

Увидимся в AR;)

Не забудьте передать нам 👏!