На каждой презентации Apple показывает, насколько новые айфоны умеют работать с дополненной реальностью. На MWC 2019 Microsoft анонсировала Hololens 2, с помощью которого можно делать фантастические вещи. Все больше и больше Android-смартфонов поддерживают ARCore. Многие разработчики хотят попробовать свои силы в этой стремительно развивающейся сфере, но не знают, с чего начать. Меня зовут Кирилл Орлов, последние несколько лет я занимаюсь разработкой мобильных приложений. Вместе с ARchy мы создали несколько приложений AR. Я объясню вам простыми словами основные термины, с которыми вы столкнетесь при разработке приложения AR, а также познакомлю вас с основными технологиями и инструментами, которые помогут вам в разработке мобильных приложений. Эта статья может быть интересна тем, кто хочет освежить свои знания или лучше понять AR.
Популярные статьи AR VR:
Самое замечательное в AR заключается в том, что для пользователя больше нет реальных ограничений. В AR возможно все. Однако сейчас мы сталкиваемся с технологическими ограничениями, но также и с новыми возможностями. Одним из примеров таких ограничений могут быть устаревшие смартфоны, не поддерживающие новейшие технологии дополненной реальности.
Проблема в том, что камеры смартфона не всегда хватает для работы с AR. Для большинства функций, связанных с AR, в смартфоне должны быть установлены определенные датчики, и не все такие датчики присутствуют в более старых моделях смартфонов.
Основные датчики:
- Датчик глубины необходим для расчета глубины и расстояния.
- Компас, определяющий направление.
- Гироскоп, определяющий угол и положение телефона в пространстве.
- Датчик приближения, отвечающий за определение того, насколько близко или далеко что-то находится.
- Акселерометр, определяющий изменение ускорения.
- Датчик освещенности, предназначенный для измерения интенсивности и яркости света.
Датчики для смартфона - это как органы чувств человека. Они помогают смартфону
видеть и ориентироваться в окружающей среде. Помимо датчиков, камера и технология компьютерного зрения помогают смартфону
видеть, что происходит вокруг него. Самый распространенный способ получить информацию - через камеру.
Недостаточно собрать данные о мире. Собранные данные должны иметь
смысл. Вот для чего нужен процессор. По сути, это мозг
смартфона, который обрабатывает собранные данные и выполняет с ними математические
операции. Одна из задач разработчика - научить смартфон
правильно обрабатывать данные. Библиотека Tensor Flow для машинного обучения
, разработанная Google, может помочь вам с этой задачей.
При работе с AR вам необходимо знать следующие концепции:
- Платформа. Платформа относится к операционной системе, для которой разработано приложение
. В случае мобильных приложений чаще всего упоминаются платформы iOS и
Android. Обычно приложение
, разработанное для iOS, не может быть запущено в операционной системе
Android, и наоборот. - Механизм - это часть программного обеспечения, которое может преобразовывать различные типы данных
в контент и обрабатывать его. - Фреймворк - это набор предопределенного кода, который позволяет ускорить
процесс разработки. Например, платформа SceneKit для iOS
предоставляет возможность использовать встроенные источники освещения, избавляя разработчика от необходимости писать код для источников света с нуля. - SDK (Software Development Kit) - набор инструментов разработки,
поддерживающих или добавляющих новые функции в приложение. - Искусственный интеллект (ИИ) - это технология, цель которой - научить компьютер или
смартфон выполнять задачи так же, как это делает человек. - Машинное обучение (ML) - это подмножество искусственного интеллекта, которое включает
методы для создания и обучения алгоритмов, которые могут учиться на данных для
решения конкретной проблемы. - Искусственные нейронные сети (ИНС) - один из самых известных методов
машинного обучения, построенный по образу и подобию нейронных сетей
живого организма. - Глубокое обучение (DL) - это подмножество ML, которое представляет собой набор методов машинного обучения
, работающих с многоуровневой искусственной нейронной сетью.
Как упоминалось ранее, существуют такие инструменты, как фреймворки и SDK, которые позволяют разработчикам не писать код с нуля каждый раз, а использовать готовые модули. Фреймворки также предоставляют готовые решения для реализации сложных функций, требующих специальных знаний в области программирования или математики. Отличным примером такого решения является OpenCV, библиотека алгоритмов компьютерного зрения, обработки изображений и универсальных числовых алгоритмов с открытым исходным кодом.
Сегодня доступно множество SDK и фреймворков для дополненной реальности. Некоторые из них предназначены для конкретной платформы, другие могут работать на нескольких платформах.
Самые популярные фреймворки для дополненной реальности:
- ARKit - разработан Apple специально для iOS.
- ARCore - разработан Google для Android и iOS.
- Vuforia и Wikitude - кроссплатформенные решения для iOS, Android и Windows. Обратите внимание, что при выпуске приложения вам необходимо оплатить лицензию библиотеки, которую вы используете.
Как видите, в AR нет ничего непонятного. Сложность задания зависит от вашего воображения, и начать работу не так сложно, как вы думаете. AR активно развивается, существует множество библиотек и фреймворков, облегчающих жизнь разработчикам. Я надеюсь, что эта статья ответила на некоторые из ваших вопросов. Теперь вы знаете, на что стоит обратить внимание, а также с каких технологий стоит начать знакомство с AR. Ничто не должно мешать вам окунуться в мир AR.
Увидимся в AR;)