ARCore от Google. Знакомимся с платформой дополненной реальности
Начнём с самого начала. Итак, ARCore – платформа от компании Google, позволяющая создать дополненную реальность на Android. Посредством различных API, сервис открывает для пользователя совсем другое взаимодействие с данными в реальном времени. Также можно сказать, что мы имеем дело со своеобразным цифровым контентом, который мы можем включать в нашу реальность. Программный интерфейс API используется как для Android-, так и для iOS-платформ.
Немного о том, что внутри
В самой основе ARCore лежат три базовые функции, которые и позволяют виртуальному контенту перенестись в реальное пространство посредством камеры. Вот и они:
- Motion tracking, или отслеживание движение объекта в виртуальном пространстве
Случается это, когда ARCore собирает все визуальные данные с камеры вашего устройства, после определяя ориентацию и местоположение движущегося объекта в пространственно-временном соотношении. При чём здесь же необходимо выделить основные калибровки: оптическую (или фотометрическую калибровку) и ту, которая связана с моделированием на основе инерции (здесь же измеряется именно ускорение, а не скорость или дистанция). Заводская калибровка IMU изготавливается в пределах различных температурных режимов, поэтому и данные на девайсах могут отличаться.
- Environmental understanding, или мониторинг окружающей среды
Этот принцип помогает мобильному телефону оценить размер и местоположение поверхностей: горизонтальные, вертикальные, наклонные – возьмите любую и ARCore отыщет характерные точки на самой поверхности, тем самым делая их доступными для вашего приложения в качестве различных плоскостей. В основе так называемого «environmental understanding» – технология SLAM (Simultaneous Localization and Mapping). Карта SLAM представляется графиком 3D-точек, где условная метка соответствует определённым координатам оптического объекта. В целом, SLAMстремится построить и обновить карту неизвестной среды, одновременно с этим отслеживая местоположение агента.
- Light estimation, или определение освещённости
Если вкратце, ARCore наблюдает за окружающим освещением, а у вас появляется возможность осветить виртуальный объект, согласовать подсветку с фоном и добиться реалистичного отображения.
На каких устройствах использовать?
ARCore создан для платформ Android 7.0 и выше (Android Oreo включительно).
Как использовать?
Прилагаем вам небольшую инструкцию о том, как использовать ARCore на Android и что для этого нужно:
- Загрузка и установка ARCore
- Общее представление о разработке под Android с OpenGL спецификацией
- Знакомство с Android framework
Обобщив, выводим основные классы в ARCore:
- Session (проверка того, поддерживает ли устройство ARCore. Если поддерживает, создаём конфигурацию);
- Frame (заполучение объекта камеры и обновление кадра. Чем руководствоваться? Тут два варианта: Blocking и последнее изображение камеры);
- Anchors (проверяем, существовало ли касание в полигоне. В случае с «да» - располагаем якори (не более 20);
- Projection Matrix (получение матрицу проекций, соответственно указывая те самые рамки, в пределах которых и будут они располагаться);
- Render object (пробегаемся по всем существующим якорям, обновляем объект, который хотим изобразить, обновляем матрицу самого объекта и тени)
Очень интересно, но где вы предлагаете это применять?
A
«Наверное, тут всё и заканчивается» – подумаете вы, но не спешите с выводами. Да, скорее всего, основная задача ARCore на сегодня – завлечь, удержать пользователя в приложении. Но стоит признать, что речь идёт не только о контенте, с которым можно «поиграть» разок-другой и благополучно забыть. Тут приведём вам в качестве примера довольно полезные приложения, которые, к примеру, способны расставлять мебель, подбирать цвета, интерьеры и прочее-прочее. В отдельное направление стоит поместить детские приложения.
Мы также верим в идею о том, что технология ARCore раскроет весь свой необъятный потенциал с помощью «умных очков» Google Glass. Довольно перспективно, согласитесь? Кажется, выбрав именно это направление, AR-развлечение сможет в будущем перерасти в эффективную технологию.