Разрабатываем AR приложение с ARCore

Разрабатываем AR приложение с ARCore

22.12.2020
# AR/VR Для_разработчиков Разработка
Author avatar
Сергей АлексеевiOS разработчик

Есть вещи, за которыми можно наблюдать бесконечно: как горит огонь, и как течёт вода. В наши дни сюда можно смело добавить «как развиваются технологии». Однако зачем просто смотреть, когда есть замечательный шанс применять их на практике? Если раньше VR и AR приложение было чем-то неизведанным и доступным далеко не всем, то теперь его можно активно использовать не только в развлекательных, но и в полезных целях.

Как работает технология AR?

Технология дополненной реальности (Augmented Reality) – одна из наиболее быстроразвивающихся IT-сред. В режиме онлайн она дополняет привычный нам мир компьютерной графикой.

Для построения мира дополненной реальности используются различные модели. Например, трёхмерные или двумерные, управляемые или статические, разработанные заранее или генерируемые в процессе функционирования программного продукта. Чтобы привязать виртуальные предметы к реальному миру, могут применяться различные метки:

  • маркеры (физические единицы: картинка, логотип, фото);
  • плоскости;
  • геолокация;
  • а также трёхмерные копии существующих предметов.

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

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

Как мы её применили?

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

Наше AR приложение состоит из меню навигации и трёх экранов. Рассмотрим его работу на следующем примере. 

AR приложение

1.Устанавливаем приложение и даём все разрешения.

2. Нижняя панель отображает экраны и позволяет пользователю переключаться с одного на другой.

3. Переходим в первый раздел «Добавить пин». Видим несколько полей, которые нужно заполнить. Здесь пишем название и описание, добавляем фото, которым хотим поделиться. А также опорное изображение, которое будет распознавать система.

Важно! Метка, на которую будет впоследствии опираться интерфейс, должна быть контрастной. Для этого идеально подойдёт QR-код.

4. Сохраняем и получаем готовый пин. Его можно найти в третьем разделе «Мои пины». Там его можно отредактировать или удалить.

5. Теперь проверим, как это работает. Заходим в раздел «Смотреть карту», наводим на опорное изображение и получаем информацию, фотографию и дату.

AR приложение

Используемые технологии

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

Связывание моделей с элементами интерфейса реализовано в соответствии с архитектурным паттерном MVVM (Model – View – ViewModel). Применение такой архитектуры позволяет разрабатывать независимые слои, которые взаимодействуют посредством механизма связывания данных. К примеру, изменения во ViewModel автоматически меняют отображаемое во View и наоборот. Это позволяет не хранить явные ссылки во View и ViewModel, а также держать эти компоненты очень слабо связными. Поэтому такой подход удобен при разработке и тестировании.

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

ARCore

Загрузка опорных изображений

Помимо всего прочего, остановимся также на загрузке пользователем опорных изображений. В частности, метка, распознаваемая мобильным устройством – это образ, к которому впоследствии прикрепляется виртуальный объект. Технология ARCore не даёт распознавать любой рисунок как образ, поскольку он должен соответствовать требованиям по разрешению, контрастности, размеру и другим характеристикам. Для оценки качества корпорацией Google разработан инструмент Arcoreimg. Он предполагает работу в операционных системах Windows, Linux и MacOS.

Результат

В итоге, разработанное нами AR приложение является актуальным, востребованным программным продуктом и имеет широкие перспективы развития. С появлением таких технологий, как ARCore от Google и Arkit от Apple, стоимость разработки программ с дополненной реальностью снижается, а объёмы на рынке только увеличиваются. Поэтому необходимо подготовиться к тому, чтобы сделать выгодное и качественное предложение на растущий объём спроса.

Хотите создать нечто похожее? Пишите нам, и мы реализуем ваш проект!

Author avatar
Сергей АлексеевiOS разработчик
Поделись статьей в соцмедиа:
Рекомендуемые статьи
Joy Dev в топе рейтинга Tagline 2023 среди лучших IT-компаний России

Joy Dev в топе рейтинга Tagline 2023 среди лучших IT-компаний России

Joy Dev в топе рейтинга Tagline 2023 среди лучших IT-компаний России

Joy Dev в топе рейтинга Tagline 2023 среди лучших IT-компаний России

Joy Dev в топе рейтинга Tagline 2023 среди лучших IT-компаний России

Joy Dev в топе рейтинга Tagline 2023 среди лучших IT-компаний России

Призовое место “Real Cosmetology” в конкурсе Золотое Приложение

Призовое место “Real Cosmetology” в конкурсе Золотое Приложение

Призовое место “Real Cosmetology” в конкурсе Золотое Приложение

Призовое место “Real Cosmetology” в конкурсе Золотое Приложение

Призовое место “Real Cosmetology” в конкурсе Золотое Приложение

Призовое место “Real Cosmetology” в конкурсе Золотое Приложение

Золото в конкурсе Workspace Digital Awards 2023

Золото в конкурсе Workspace Digital Awards 2023

Золото в конкурсе Workspace Digital Awards 2023

Золото в конкурсе Workspace Digital Awards 2023

Золото в конкурсе Workspace Digital Awards 2023

Золото в конкурсе Workspace Digital Awards 2023

Хронофаги и как их усмирить

Хронофаги и как их усмирить

Хронофаги и как их усмирить

Хронофаги и как их усмирить

Хронофаги и как их усмирить

Хронофаги и как их усмирить

Шаг за шагом: настройка окружения для Kotlin Multiplatform Mobile

Шаг за шагом: настройка окружения для Kotlin Multiplatform Mobile

Шаг за шагом: настройка окружения для Kotlin Multiplatform Mobile

Шаг за шагом: настройка окружения для Kotlin Multiplatform Mobile

Шаг за шагом: настройка окружения для Kotlin Multiplatform Mobile

Шаг за шагом: настройка окружения для Kotlin Multiplatform Mobile

Cофт скилы: как получать больше за красивые глаза

Cофт скилы: как получать больше за красивые глаза

Cофт скилы: как получать больше за красивые глаза

Cофт скилы: как получать больше за красивые глаза

Cофт скилы: как получать больше за красивые глаза

Cофт скилы: как получать больше за красивые глаза

Площадки для видеостриминга: обзор-сравнение

Площадки для видеостриминга: обзор-сравнение

Площадки для видеостриминга: обзор-сравнение

Площадки для видеостриминга: обзор-сравнение

Площадки для видеостриминга: обзор-сравнение

Площадки для видеостриминга: обзор-сравнение