Разрабатываем 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офт скилы: как получать больше за красивые глаза