Как создать дополненную реальность своими руками?

Дополненная реальность / Создание простого AR приложения

Благодаря совместным стараниям многих крутых компаний технология дополненной реальности плотно вошла в нашу жизнь и сегодня простым AR приложением никого не удивить.

Несмотря на столь большое распространение для многих данная тема до сих пор является очень страшной и непонятной.

AR программа

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

Разработка приложения

Первое что нужно сделать, так это скачать Unity. Заходим на официальный сайт , нажимаем на «Get Started» и скачиваем Unity версии «Personal». Как ни странно, вместо Unity у нас скачается Unity Hub, через который вы как раз и можете установить саму программу Unity. Здесь главное не забудьте указать поддержку Android и iOS устройств, чтобы будущее приложение можно было скомпилировать под эти платформы.

Далее через тот же Unity Hub создаем новый проект, при чём название, расположение, а также формат проекта — это всё нам не особо важно.

Технология Vuforia

После создания проекта нам необходимо подключить в него технологию Vuforia.

Не знаете что такое Vuforia? Vuforia — это отдельная библиотека, которая обеспечивает полную работу с дополненной реальностью. Чтобы её установить необходимо в Unity зайти в Window -> Package Manager. В нём прописываем Vuforia и нажимаем на Install.

Создание программы

Следующий этап, удаляем основную камеру на сцене и вместо неё добавляем AR камеру. Такая камера идет от библиотеки Vuforia и она позволяет обрабатывать различные поверхности для расположения на них объектов.

Чтобы всё работало нужно в AR камере нажать на «Open Vuforia configuration» и далее в поле «Add licence key» нужно установить ключ.

Его можно получить на официальном сайте Vuforia . На сайте сперва регистрируемся. Далее в кабинете пользователя нажимаем на «Get Development Key», придумываем название для программы, можно любое, ставим галочку внизу и нажимаем «Confirm». Создается новое приложение, в котором как раз и есть нужный ключ. Копируем его и вставляем в Unity.

Теперь добавим на сцену объекты «Plane Finder», а также «Ground Plane Stage». За счёт «Plane Finder» Vuforia сможет определить ровную поверхность, а за счёт «Ground Plane Stage» она сможет расположить на этой поверхности различные объекты.

Также не забудьте перенести ссылку на объект «Ground Plane Stage» в объект «Plane Finder». Это нужно чтобы «Plane Finder» понимал с чем требуется работать.

Расположение объектов

Зайдите в Asset Store , это официальный магазин Unity, и в нём найдите какую-либо модель, которую мы будем располагать в AR приложении. Скачиваем модель и импортируем в Unity.

Далее выбираем объект и перетаскиваем внутрь «Ground Plane Stage». Уменьшаем размеры если необходимо, а также отодвигаем камеру, чтобы объекты не находились в одном месте.

Компиляция проекта

Теперь всё готово и остается лишь скомпилировать проект и запустить на устройстве. Для этого заходим в Build Settings, добавляем открытую сцену, а также выполняем перекомпиляцию проекта под iOS или Андроид в зависимости от того какое устройство у вас есть под рукой.

Далее заходим в Player Settings и прописываем некоторые основные настройки. К примеру: название игры, идентификатор, иконки для приложения, если хотите и по сути на этом всё. Кстати, если компилируете под Андроид, то там ещё не забудьте подключить SDK к Unity, а также не забудьте создать ключ приложения всё в тех же Player Settings.

Перед компиляцией обязательно установите XR плагин. Именно он контролирует большинство вещей в вашем приложении с дополненной реальностью. Без него ничего работать не будет.

После компиляции вы можете загрузить приложение на ваш смартфон и протестировать его работу.

Видеоурок по AR

Для более детального ознакомления предлагаем просмотреть небольшой урок на эту тему:

Дополнительный курс

На нашем сайте также есть углубленный курс по изучению игрового движка Unity . В ходе огромной программы вы изучите не только движок Unity, но также научитесь писать консольные и интерфейсные программы на языке C#. Также вы изучите сам движок Unity, включая создание 2D и 3D игр, а также игр и приложений с дополненной реальностью.

Как создать дополненную реальность, написав 12 строк кода

Как создать дополненную реальность, написав 12 строк кода

AR.js — библиотека для создания дополненной реальности. Она объединена с фреймворком A-Frame, который предназначен для разработки VR в вебе. Главный плюс AR.js — очень простой процесс создания AR-приложений. Достаточно импортировать библиотеку и добавить объекты, которые будет видеть пользователь при выполнении заданных условий — например, наведении камеры на маркер или нахождении в указанном месте.

Все ссылки на документацию будут в конце статьи, а пока посмотрим самое интересное — как это работает на практике. Результат будет примерно такой:

Слева — метка, справа — AR-объект, который появляется при наведении камеры / Источник: medium.com/@jerome_etienne

Важно: чтобы посмотреть примеры AR-контента, нужно второе устройство с камерой — например, смартфон. В тексте есть ссылки на CodePen. Откройте их на устройстве с камерой и разрешите браузеру доступ.

Как создать AR-приложение за несколько минут

Импортируем в HTML-код A-Frame и AR.js:

Затем внутри создадим сцену, которая будет охватывать все необходимые нам элементы: маркер, камеру, AR-объект.

Следующий шаг — добавление маркера. Пока используем preset Hiro. Это дефолтный маркер AR.js, его изображение вы найдёте ниже:

Напоследок добавляем камеру. Одна должна быть за пределами маркера. Это нужно для того, чтобы AR-объект появлялся только при наведении камеры на маркер. Если в объективе нет маркера, дополнительный контент не отображается на экране.

Чтобы проверить работоспособность:

  1. Откройте в браузере на смартфоне это приложение на CodePen.
  2. Разрешите доступ к камере.
  3. Наведите камеру на маркер Hiro, который размещён ниже.

Наводим камеру — появляется объект дополненной реальности. Убираем камеру — объект исчезает.

Вместо геометрической фигуры можно вставить другую 3D-модель. Рекомендуемый формат — glTF. Например, в этом пене при наведении камеры на маркер на экране отобразится модель города. Вот полный код:

Дополненная реальность работает в браузере

Ещё одна интересная возможность — вставка AR-текста на английском языке. Его свойствами можно управлять с помощью атрибутов, подробно описанных в документации. Чтобы посмотреть пример, откройте на смартфоне ссылку на этот пен и наведите камеру на маркер Hiro. А вот его полный код:

Как создать свой маркер для AR-объекта

В примерах выше используется стандартный маркер Hiro. Но мы можем создать другое изображение с помощью онлайн-инструмента AR.js Marker Training. Правда, оно должно отвечать целому ряду требований.

  • максимальное разрешение маркера — 16*16 пикселей;
  • квадратная форма;
  • используется только чёрный или светло-серый цвет (например, #F0F0F0);
  • нет прозрачных областей;
  • содержит простой текст — букву или цифру.

Также нужно помнить о контрасте. Если у маркера чёрный фон, то окружающая среда должна быть светлой. В противном случае распознавание не сработает.

В качестве маркера также можно использовать штрих-код. Подробнее об этом можно узнать из статьи разработчика AR.js Николо Карпиньоли (Nicolo Carpignoli).

Что ещё можно сделать с помощью AR.js

Отслеживание маркеров — лишь один из типов дополненной реальности. Библиотеку можно также использовать для создания следующих интерактивов:

  • Отслеживание изображений — при наведении камеры на 2D-изображение пользователь видит поверх него или рядом с ним AR-контент. Это может быть другое 2D-изображение, GIF, 3D-модель, видео.
  • Дополненная реальность на основе местоположения. Пользователь видит AR-контент в заданных локациях.

❓ Как освоить разработку приложений AR/VR с нуля

Разработка технологий дополненной (AR) и виртуальной реальности (VR) все еще находится в зачаточном состоянии – именно поэтому сейчас идеальное время, чтобы научиться создавать такой контент. Вы можете придумать захватывающие миры и среды с возможностью взаимодействия в трех измерениях. Порог вхождения в эту сферу все еще относительно невысок, однако новичку придется разобраться с 3D-моделированием и сканированием, движками 3D-игр, панорамными фотографиями и видео. Необходимо знание языков C, C++, C# и комплектов для разработки программного обеспечения (SDK). Давайте обо всем по порядку.

Аппаратное обеспечение

Дополненная и виртуальная реальность и вся 3D-разработка в целом требуют производительного оборудования. Если мы посмотрим на требования двух самых популярных платформ VR ( HTC Vive и Oculus Rift ), то увидим их схожесть. Рекомендуемые технические характеристики компьютера на сегодняшний день таковы:

  1. Процессор: Intel Core i5-4590 или AMD FX 8350;
  2. Видеокарта: NVIDIA GeForce GTX 1060 или AMD Radeon RX 480;
  3. Оперативная память: 8 ГБ;
  4. Порты: 3x USB 3.0;
  5. Операционная система: Windows 7 или выше.

Это не означает, что имея процессор i3 или карту GTX 1050 вы не сможете заниматься разработкой. Все зависит от вашего проекта: выше приведены рекомендуемые характеристики. Проверить минимальные требования и убедиться в совместимости вашего оборудования можно здесь .

Устройства виртуальной реальности

Устройства VR/AR классифицируются по степени свободы (DOF или Degrees of freedom), т.е. по способу перемещения объекта. Тут есть два варианта: 3-DOF и 6-DOF. Три степени свободы означают, что вы сможете взаимодействовать с виртуальным миром в трех измерениях (в системе координат X, Y, Z) с помощью головного дисплея (HMD), но не сможете двигаться вперед или назад. С шестью степенями свободы двигаться получится во всех шести направлениях.

Читайте также  Замена жиклеров в газовой плите своими руками

Эти устройства поддерживают три степени свободы:

А у этих шесть степеней свободы:

Под каждое устройство используются разные SDK и языки программирования, у них разные ограничения, но есть и общие черты:

  1. Принципы создания виртуальной реальности.
  2. Большинство из них совместимы с контроллерами движений для взаимодействия с виртуальным миром.
  3. Устройства 3-DOF используют смартфоны в качестве закрепленных на голове дисплеев.
  4. Устройства 6-DOF используют настольные гарнитуры.

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

Движки 3D-игр и языки программирования

Опыт предыдущих лет показывает, что чаще всего для разработки продуктов AR/VR используются C# и C/C++ . Это справедливо и для основных игровых движков, которые вам нужно изучить:

  1. Unity – для работы с ним потребуется язык программирования C#.
  2. Unreal Engine – здесь нужен C++ и язык узлов под названием Blueprints Visual Scripting.

У Unity множество версий с разной стоимостью, но есть и бесплатная. Unreal доступен бесплатно, но требует периодических отчислений за право пользования в размере 5% от валового дохода продукта (после $1,000,000 за игру в календарный квартал). Рекомендуется попробовать оба варианта, чтобы выбрать наиболее подходящий.

3D-модели

Первое, что вам понадобится для разработки AR/VR – это 3D-модели. Есть два варианта: сделать их самостоятельно или использовать готовые шаблоны. Самостоятельное создание моделей – сложный путь, но в конечном итоге он может оказаться самым лучшим и рентабельным. В этом случае вам придется освоить специальные программы. Например, такие:

Для создания собственных моделей стоит освоить и 3D-сканирование . Снятые специальным сканером в реальном мире объекты становятся виртуальной трехмерной моделью. Эти устройства пока не идеальны, но они помогут вам начать работу:

В интернете всегда можно найти и шаблонные 3D-модели:

Этот вариант подходит начинающим разработчикам без навыков.

Веб-разработка и виртуальная реальность

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

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

  1. aframe.io предназначен для создания виртуальной реальности с помощью HTML и подхода Entity-Component-System . Он был разработан командой Mozilla VR и предоставляет один из самых эффективных способов разработки контента WebVR.
  2. React VR – новая библиотека, разработанная в Facebook на основе React и React Native . Она позволяет создавать сайты VR, используя тот же подход декларативных компонентов, что и в привычном нам фреймворке React.

Дополненная реальность

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

Одним из самых популярных инструментов для разработки AR является Vuforia: он доступен для Unity, Android и iOS, предлагает огромное количество функций и поддерживает множество устройств , включая телефоны Tango , head-display, смартфоны, очки, а также специально изготовленные козырьки Microsoft HoloLens .

Проблемы

Первая проблема связана с новизной индустрии AR/VR – существует не так много передовых практик для разработки приложений. Еще один недостаток VR – это укачивание. При длительном использовании устройства у людей может возникнуть дезориентация, вызванная неестественными движениями. Возникает она из-за несоответствия между физическими и визуальными сигналами к действию.

Чтобы стать разработчиком AR/VR, необходимо пройти несколько этапов:

  1. Выбор платформы. Решите, какими устройствами вы будете пользоваться, на какие платформы ориентироваться и какой игровой движок, SDK или фреймворк предпочтете освоить.
  2. Обучение. Разберитесь с терминологией. Изучите 3D-моделирование, язык игрового движка, SDK или фреймворка, а также разработку интерфейсов для AR/VR.
  3. Учебный проект. Хотя большинство приложений AR/VR являются игровыми, есть много областей, на которые можно ориентироваться. Например, образование, визуализация данных, возможности 360°.
  4. Участие в сообществах. Ходите на встречи, общайтесь в форумах и чатах, переписывайтесь с другими разработчиками и не стесняйтесь задавать вопросы. Главное здесь – практиковаться и набираться опыта.

Несколько полезных ссылок для изучения технологий AR/VR:

  1. https://unity.com/ru/solutions/ar-and-vr-games – ПО для разработки дополненной и виртуальной реальности;
  2. https://www.uxofvr.com/ – пользовательский опыт в AR/VR;
  3. https://github.com/ExtendRealityLtd/VRTK – набор инструментов для VR-разработки в Unity3D;
  4. https://www.artefactgroup.com/case-studies/storyboard-vr/ – инструмент прототипирования, позволяющий визуализировать опыт в виртуальной реальности;
  5. Гайд по виртуальным мирам: AR и VR.

Выводы

Технологии AR/VR пока сыроваты. Они имеют массу ограничений, да и оборудование стоит недешево. Тем не менее, потенциал виртуальной и дополненной реальности огромен, а большинство специализирующихся в этой области профессиональных разработчиков не имеет большого опыта. К тому же некоторые из приобретенных в процессе освоения модного направления навыков (например, языки C/C++) можно применить и в других областях программирования. Попробовав, вы ничего не теряете. Удачи!

Лучшие инструменты разработки дополненной реальности в 2021

От студии Black VR (продолжение 2 части)

В начале 2 части мы рассказывали на что стоит обратить внимание при выборе SDK для разработки своего продукта с дополненной реальностью, и теперь, когда вы знаете, какие функции вам следует рассмотреть, пришло время сделать обзор самых популярных, на наш взгляд, лучших framework дополненной реальности на рынке. Хотя их довольно много, мы отобрали семь AR SDK.

Vuforia — лучший доступный SDK для пользователей Unity, легко интегрируется и поддерживает кроссплатформенное развертывание с такими платформами, как Unity, предлагает широкий набор функций.

Бесплатная версия SDK может быть легко использована для создания обнаружения на основе маркеров, которое также может быть без маркеров и на основе облака, а также обеспечивает достаточную поддержку для создания приложения для небольших задач, но масштабирование приложения до бизнес-уровня будет дорогостоящим, поскольку корпоративная учетная запись довольно дорога в использовании.

  • SDK дополненной реальности Vuforia может распознавать 2D и 3D объекты (например, цилиндры, коробки и потребительские товары).
  • Распознавание текста. Vuforia имеет стандартный английский, словарный запас, содержащий более 100 000 слов, или вы можете использовать свой собственный словарь.
  • Проигрывание видео. Vuforia может воспроизводить видео при обнаружении целевых поверхностей.
  • VuMarks — это собственные штрих-коды Vuforia, которые не только кодируют данные, но и действуют как маркеры.
  • Локальное (на устройстве) или облачное распознавание.
  • Виртуальные кнопки позволяют использовать различные поверхности в качестве сенсорного экрана.

Этот SDK доступен бесплатно, но с водяными знаками Vuforia и ограниченной функциональностью. Дополнительные функции, которые раскрывают весь потенциал этого AR SDK доступны по нескольким коммерческим лицензиям, например, стоимость базового пакета Basic — составляет 42$ в месяц, а ежегодная оплата — 504$, пакет Basic+Cloud — 99$ в месяц.

Есть специальные предложения для больших агентств и корпораций — пакет Agency, который включает в себя 5 краткосрочные лицензии, и пакет PRO.

Подробнее о возможностях пакетов можно узнать на официальном сайте по данной ссылке https://www.ptc.com/en/products/vuforia/vuforia-engine/pricing

EasyAR предлагает свой SDK нового поколения, который предлагает ряд передовых функций, таких как SLAM, 2D-3D-отслеживание и запись экрана.

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

Этот SDK будет хорошим выбором, если у вас ограниченный бюджет на проект, но у него есть проблемы с обработкой и производительностью, чем у других подобных SDK.

EasyAR Sense предоставляет четыре режима подписки: Personal Edition (Free), Профессиональная версия (ежемесячная оплата в размере 39$), Классическая версия (единовременная плата за пожизненное использование за 1399$) и специальное предложение Enterprise Edition (Customized).

Подробнее ознакомиться с тарифами можно по ссылке https://www.easyar.com/price.html

Maxst предлагает два типа программного обеспечения для создания приложений дополненной реальности: Maxst AR SDK 2D и Maxst AR SDK 3D.

Как следует из названия, один инструмент может распознавать только 2D-изображения , а другой гораздо более мощный и может отслеживать 3D-объекты . Также в этом году MAXST официально запустил технологию платформы пространственной дополненной реальности vps.maxst.com с VPS-технологией, которая будет определять местоположение и предоставлять услуги AR как для помещений, так и на открытом воздухе.

Этот SDK — это инструмент разработки на основе Unity, полностью работающий на Android и iOS.

  • Maxst AR SDK 3D может похвастаться такими функциями, как SLAM, эффект физического движка (используемый, например, для создания эффекта падающего и накапливающегося снега на крыше) и эффект окклюзии (когда виртуальный контент полностью или частично экранируется реальным объект).
  • Maxst AR SDK 2D поставляется с функцией распознавания нескольких изображений (до 200 изображений на канал), увеличением видео и многим другим.
  • Мгновенное отслеживание объектов, изображений и отслеживание нескольких маркеров, сканер QR/штрих-кода.

Инструменты для разработки дополненной реальности Maxst доступны бесплатно с водяными знаками, а также по коммерческой лицензии. Так, пакет Pro-One time fee обойдется вам в 699$ разово за одно приложение, или пакет Pro-Subscription с ежемесячной подпиской 49.9$ в месяц со всеми возможностями. Также Maxst предлагает специальное предложение — пакет Enterprise для предприятий.

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

ARKit 4 представляет способ доступа к подробной информации о глубине, собранной сканером LiDAR на iPhone 12 Pro, iPhone 12 Pro Max, а также iPad Pro. Привязка местоположения использует данные с более высоким разрешением в Apple Maps, чтобы разместить возможности AR в определенной точке мира в приложениях для iPhone и iPad.

Читайте также  Замена картриджа в смесителе своими руками

Самый большой недостаток ARKit — он доступен только на свежих устройствах iOS и недоступен на устройствах Android, которые более популярны, а распознавание объектов не самое лучшее. Давайте рассмотрим наиболее важные функции Apple AR SDK:

  • Обнаружение плоскости позволяет iPhone и iPad сканировать окружающую среду и обнаруживать горизонтальные плоскости (полы, столы и т. д.).
  • Оценка освещения автоматически анализирует количество света в реальном мире и регулирует количество света, падающего на виртуальные объекты.
  • Вычисление глубины резкости камеры и наложение соответствующего эффекта размытия.
  • Симуляция «шумовых» эффектов съемки камеры для полноценного погружения виртуального объекта в реальность.
  • ARKit можно использовать в сочетании с движками Unity и Unreal.
  • Отслеживание лиц поддерживается на всех устройствах с Apple Neural Engine и фронтальной камерой, так что еще больше пользователей могут испытать радость от AR на фотографиях и видео.

Однако, ARKit будет работать только с процессорами Apple A9+, поэтому функции дополненной реальности будут доступны только для устройств, произведенных после 2015 года.

ARKit — это собственный AR SDK от Apple, поэтому он идеально адаптирован для iOS и работает по бесплатной лицензии, подробнее https://developer.apple.com/augmented-reality/arkit/

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

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

Тем не менее, большинство устройств выше 7.0 Android поддерживают его, но, к сожалению, у многих из них нет библиотек или оборудования, необходимых для большинства функций в ARCore. Некоторые из его выдающихся особенностей включают в себя:

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

Лицензия ARCore — бесплатная, подробнее по ссылке https://developers.google.com/ar/develop

AR.js — это AR SDK с открытым исходным кодом на основе JavaScript для создания приложения в браузере (WebAR), так что нет необходимости устанавливать приложение. Подробнее о WebAR мы писали здесь —

Его можно использовать для создания сцен AR на основе маркеров. Инструмент поставляется с расширением A-Frame и three.js, которое работает с любым смартфоном, независимо от версии его ОС, включая Android, iOS 11 и Windows Mobile.

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

  • Дополненная реальность на любом смартфоне в браузере.
  • Настраиваемые, сенсорными жестами AR-объекты.
  • Легкодоступная и быстрая разработка Marker Tracking (маркер с определенным паттерном).
  • AR на основе местоположения.

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

8th Wall — лидер в области дополненной реальности на базе Интернета (WebAR). Платформа 8th Wall также используется для разработки дополненной реальности, которая работает на всех устройствах — приложение не требуется и обеспечивает максимально широкий охват, поддерживая более 3 миллиардов смартфонов на iOS и Android.

Targets работает как с плоскими, так и с изогнутыми поверхностями, такими как бутылки, чашки и банки, обеспечивает потоковую передачу объемного видео в WebAR (или то, что часто называют голограммами).

В версии 16 система SLAM теперь на 50% точнее, чем раньше, с частотой кадров, которая на 70% выше, в зависимости от используемого устройства, обновление вышло этой весной. Это означает уменьшение дрейфа, дрожания и задержки для более плавного, и стабильного воспроизведения, согласно, информации на сайте 8th Wall.

  • Поддержка маркеров (Image Target), World Effects, Face Effects, SLAM.
  • Поддержка React, Vue.js, A-Frame, Babylon.js, Three.js.
  • Функция записи видео в браузере.
  • Разные стадии развертывания, включая промежуточную среду, защищенную паролем.
  • Оценка освещения и относительный масштаб.
  • Можно использовать в сочетании с движками Unity и Unreal.

Функции, которые раскрывают весь потенциал этого AR SDK, доступны без коммерческой лицензии за 99$ в месяц, но обязательно с водяными знаками 8th Wall, неважно коммерческий проект или нет.

Ежемесячная оплата лицензии также различается в зависимости от просмотров. Коммерческая лицензия Basic обойдется — от 1250$ в месяц, пакет Standart — от 3000$, Premium — от 5000$. И конечно же есть специальное предложение в пакете Pro. Также можно воспользоваться бесплатной пробной 14-дневной версией.

Основываясь на приведенных выше критериях, мы составили сравнительную таблицу 7 ведущих платформ дополненной реальности.

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

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

Теперь, когда вы знаете, какие SDK дополненной реальности доступны и какие основные функции они предлагают, вы можете выбрать наиболее подходящий инструмент для создания отличных приложений AR. Решите, какие функции вам нужны в мобильном приложении или веб-браузере (WebAR), проверьте список SDK, примите во внимание цены и вы готовы разработать первоклассное приложение.

➕Читайте также начало 2 части «Практическое руководство по разработке AR — продукта. Выбор SDK и стоимость» — о том, на что нужно обращать внимание при выборе SDK.

➕Читайте 1 часть «Цена на дополненную реальность под ключ: как формируется стоимость» — где мы рассказали о стоимости разработки приложения дополненной реальности и формирования цены на российском рынке.

Как создать приложение дополненной реальности с помощью ARCore

В этом гайде вы узнаете, как добавить 3D-модели в реальный мир. Библиотека ARCore от Google позволяет добавлять на 2D-изображение (картинка или видео) полноценные 3D-модели.

Вам необходимо предоставить системе некое опорное изображение, которое ARCore будет искать в реальном мире, чтобы на его основе добавить на изображение 3D-модель. Дополненная реальность уже широко используются, например, в книгах, газетах, журналах и т.д.

Прежде чем погрузиться в этот туториал, вам стоит ознакомиться с предыдущими двумя статьями на эту тему, которые познакомят вас с основными AR-терминами:

Что такое изображения дополненной реальности?

Согласно документации для разработчиков, изображения дополненной реальности в ARCore позволяют создавать приложения дополненной реальности, которые могут «оживлять» 2D-изображения, например, плакаты или упаковки продуктов.

Вы загружаете в ARCore какие-то опорные изображения, а он вам затем сообщает об их обнаружении во время AR-сессии, например во время съёмки видео. И эта информация используется для расположения 3D-модели на 2D-изображении.

Ограничения использования изображений дополненной реальности

Вот некоторые ограничения, с которыми вы можете столкнуться при использовании изображений дополненной реальности:

  • ARCore может обрабатывать только до 20 опорных изображений одновременно.
  • Физическая плоскость в реальном мире должна быть плоской, а её площадь должна быть больше, чем 15 см х 15 см.
  • ARCore не может отслеживать движущиеся изображения и объекты.

Выбор подходящего опорного изображения

Вот несколько советов для выбора хорошего опорного изображения для ARCore:

  • Изображения дополненной реальности поддерживают форматы PNG, JPEG и JPG.
  • Неважно, цветное будет изображение или чёрно-белое, главное, чтобы оно было высокой контрастности.
  • Разрешение изображения должно быть не менее 300 х 300 пикселей.
  • Использование изображений с высоким разрешением не означает улучшение производительности.
  • Следует избегать изображений с повторяющимися паттернами (например, узорами или горошком).
  • Используйте инструмент arcoreimg, чтобы оценить, насколько подходит ваше изображение для работы. Рекомендуется оценка не менее 75 баллов.

Как использовать инструмент arcoreimg:

  • Загрузите ARCore SDK для Android по этой ссылке.
  • Распакуйте zip-содержимое файла в любое место.
  • В извлеченной папке перейдите по пути tools > arcoreimg > windows (даже если у вас Linux или macOS).
  • Откройте командную строку в этой директории.
  • И введите эту команду:

Замените dog.png на полный путь к вашему изображению.

Начало работы с приложением дополненной реальности

Теперь, когда вы ознакомились с ARCore и выбрали хорошее изображение с оценкой 75+, пришло время приступить к написанию кода приложения.

Создание фрагмента

Мы создадим фрагмент и добавим его в нашу Activity. Создаём класс с именем CustomArFragment и наследуем его от ArFragment . Вот код для CustomArFragment :

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

Читайте также  Как сделать защиту на болгарку своими руками?

Затем мы устанавливаем режим обновления для сессии LATEST_CAMERA_IMAGE . Это гарантирует, что мы будем узнавать об обновлениях изображения всякий раз, когда обновится кадр камеры.

Настройка базы данных изображений

Добавьте выбранное опорное изображение (которое вы хотите обнаружить в физическом мире) в папку assets (создайте её, если её ещё нет). Теперь мы можем добавлять изображения в нашу базу данных.

Мы создадим эту базу данных, как только будет создан фрагмент. В логи мы выведем результат этой операции:

Вот как будет выглядеть CustomArFragment :

Вскоре мы добавим метод setupAugmentedImagesDb в MainActivity . Теперь давайте добавим CustomArFragment в наш activity_main.xml :

Добавление изображения в базу данных

Сейчас мы настроим нашу базу данных изображений, обнаружим опорное изображение в реальном мире и добавим 3D-модель на изображение.

Давайте начнём с настройки нашей базы данных. Создайте публичный метод setupAugmentedImagesDb в классе MainActivity :

Мы также создали метод loadAugmentedImage , который загружает изображение из папки ресурсов и возвращает растровое изображение.

В setupAugmentedImagesDb мы сначала инициализируем нашу базу данных для текущей сессии, а затем добавляем изображение в эту базу данных. Мы назвали наше изображение tiger. Затем мы устанавливаем эту базу данных в конфиг и возвращаем true , сообщая о том, что изображение успешно добавлено.

Обнаружение опорных изображений в реальном мире

Теперь мы начнем обнаруживать наши опорные изображения в реальном мире. Для этого мы создадим слушателя, который будет вызываться каждый раз при обновлении видеокадра, и этот кадр будет проанализирован на предмет наличия там опорного изображения.

Добавьте эту строку в метод onCreate() в MainActivity :

Теперь добавьте метод onUpdateFrame в MainActivity :

В первой строке мы получаем сам кадр. Кадр можно представить, как обычный скриншот из видео. Если вы знакомы с тем, как работает видео, вы знаете, что это просто набор изображений, которые очень быстро сменяют друг друга, создавая впечатление чего-то движущегося. Мы просто берём одну из этих картинок.

После того, как мы получили кадр, мы анализируем его на предмет наличия на нём нашего опорного изображения. Мы берём список всех элементов, отслеженных ARCore, используя frame.getUpdatedTrackables . Затем мы перебираем её и проверяем, присутствует ли в кадре наше изображение tiger.

Если совпадение найдено, то мы просто берём и размещаем 3D-модель поверх обнаруженного изображения.

Примечание. Флаг shouldAddModel используется для того, чтобы мы добавляли 3D-модель только один раз.

Размещение 3D-модели над опорным изображением

Теперь, когда мы нашли наше опорное изображение в реальном мире, мы можем добавлять 3D-модель поверх него. Добавим методы placeObject и addNodeToScene :

  • placeObject : этот метод используется для построения отрендеренного объекта по заданному Uri . Как только рендеринг завершён, объект передаётся в метод addNodeToScene , где объект прикрепляется к узлу, и этот узел помещается на сцену.
  • addNodeToScene : этот метод создаёт узел из полученного якоря, создаёт другой узел, к которому присоединяется визуализируемый объект, затем добавляет этот узел в якорный узел и помещает его на сцену.

Вот так теперь выглядит MainActivity :

Теперь запустите ваше приложение. Вы должны увидеть экран, как показано ниже. Подвигайте телефон немного над опорным объектом. И как только ARCore обнаружит опорное изображение в реальном мире, добавит на него вашу 3D-модель.

Как сделать оживающие фото с дополненной реальностью

Инструкция от основателя сервиса МЕМОРИС Александра Астрова о том, как сделать оживающие фото с дополненной реальностью

Оживающие фото “захватили” пространство РФ и СНГ в последние 2 года, и уже многие родители знают и любят такой формат детских фотографий. Только по нашей статистике за время работы сервиса было сделано более 200 000 оживающих фотографий, которые посмотрели более 3 миллионов раз.

Давайте для начала разберёмся, что же такое оживающие фото. Это способ запечатлеть на качественном носителе — таком, как фотокнига или сувенир – эмоции, впечатления, воспоминания момента; воспроизвести голос, звуки окружающей среды, мимику и жесты изображенных людей. Наши клиенты ещё называют это “настоящей памятью”. Это как продолжение Live Photo’s, которые появились в iPhone несколько лет назад, — только для реальных физических объектов.

Также компании используют эту технологию для “оживления” рекламных банеров, журналов, выставок и инструкций к продуктам.

Какое оборудование требуется, чтобы сделать оживающие фотоальбомы?

Если мы говорим про профессиональную съёмку, то достаточно фотокамеры с функцией видеосъёмки, плюс постоянный свет и петличный микрофон для качественной записи звука. Также вместо петличного микрофона некоторые клиенты используют диктофон (“журавлик”) – он позволяет экономить время на закрепление петлички.

Как снимать видео для оживающих фото?

Тут всё зависит от вашего креатива и уровня и качества продукта, который вы хотели бы создать.

В самом простом варианте фотографы снимают короткие видео с детьми по 15-20 секунд, где дети отвечают на 2-3 вопроса. Например: “Как тебя зовут? Кем ты мечтаешь стать?” Если детки совсем маленькие, то может потребоваться 2-3 дубля, но к идеальности здесь стремиться не стоит, ведь наша задача запечатлеть реального человека – со всеми его существующими дефектами речи, умиляющей интонацией, смешными гримасами. Ведь это и есть настоящая память! Воспитатели в детских садах или классный руководитель в школе от себя обычно записывают общее пожелание всем детям.

Как правило, сначала делается серия фото, потом фотограф переключает камеру в режим видео и просит ребёнка ответить на поставленные вопросы. Вопросы даются заранее, чтобы дети могли продумать свои ответы и видеозапись проходила без заминок.

Как монтировать видео для “живых” фото?

В базовом варианте требуется обрезать начало и конец видеозаписи, в некоторых случаях скорректировать масштаб видео – все эти правки можно делать сразу в кабинете Меморис.

В более продвинутых вариантах можно сделать коррекцию цвета, наложить музыку и эффекты — всё зависит от вашей фантазии и продукта. Если это продукт экономичного формата, то подобные сложности не требуются.

Как загружать и создавать оживление через административную панель?

Простые оживающие фото создаются менее чем за 30 секунд; вы можете всё сделать по этой видеоинструкции:

или воспользоваться нашим текстовым описанием:

2) Перейдите в раздел “оживающие фото”.

3) Кликните на “загрузить фото” и выберите фотографию на вашем компьютере, при наведении на которую будет происходить оживление.

4) Кликните на “загрузить видео” и выберите видео на вашем компьютере, которое будет появляться при наведении на ваше фото. Если у вас несколько фото и видео – повторите 3 и 4 шаги.

5) Нажмите на кнопку “создать” и ожидайте загрузки.

6) После загрузки появится qr-код и ссылка

7) Для iOS 14 и выше: откройте камеру на телефоне, наведите на QR-код, нажмите на всплывающем окне сверху Меморис и открыть

8) Для Android 6 и выше: откройте ссылку на телефоне или найдите приложение по названию Меморис. Нажмите кнопку попробовать для запуска без установки или кнопку установить и наведите на QR-код

9) Наведите на фото, загруженное на шаге 3 через открывшуюся камеру Меморис.

Вот и всё! Вы создали первое в вашей жизни оживающие фото, и на это должно было уйти в первый раз до 5 минут, а в последующие разы будет достаточно 30 секунд.

Какие еще возможности имеются в Меморис?

Мы просто перечислим, а если вы займётесь этим в будущем, то сможете изучить всё подробнее и пользоваться сервисом на все 100%!

  1. Маски или рамки – чтобы делать более продвинутые дизайн-макеты
  2. Альфа-канал – для использования хромакея и потрясающих эффектов
  3. Видеоредактор – для обрезки видео, изменения его масштаба
  4. Встраивание QR-кодов внутрь оживающих фото – удобно при продаже единичных фотографий
  5. Выбор кадра из видео в качестве фотографии
  6. Оживающие визитки
  7. Оживающие флаеры
  8. Оживающие календари

А также многочисленные бонусы:

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

Начать создавать оживающие фото и поставить процесс на поток можно всего за 1 день! Главное — не бояться идти в новое. Если вы хотите нести добро, вызывая у людей море глубоких волнующих эмоций, дарить им счастье и возможность переживать лучшие моменты жизни снова и снова, испытывая восторг и радость – то этот продукт однозначно для вас!

Выбравшим для себя этот инструмент для бизнеса: что еще дают оживающие фото?

  1. Увеличение дохода от 30% до 1000%
  2. Счастливых и лояльных клиентов до конца жизни
  3. Новые способы самовыражения
  4. Уникальное преимущество на рынке сувениров, фотопродукции, полиграфии
  5. Способ быстрого захвата рынка и выхода на регионы, масштабирование бизнеса
  6. Новые навыки и умения (видеосъёмка, монтаж)
  7. Статус инноватора и современного фотографа, идущего в ногу со временем

Каждый выбирает то, что ему важнее, но бесспорно одно: любой, кто возьмёт на вооружение дополненную реальность – останется в плюсе!