Разработка приложений виртуальной и дополненной реальности

«Вердж3Д» позволяет создавать приложения для дополненной реальности (ДР) и виртуальной реальности (ВР) на основе технологии браузера ВебИксЭр (расширенная реальность). Кроме того, вы можете использовать формат ЮСДЗ и технологию «Эпл АР Квик Лук» чтобы показывать ваши модели в режиме дополненной реальности на «Айфонах» и «Айпадах».

Содержание

Виртуальная реальность (ВР)

Настройки

Устройства «Эйч Ти Си» и «Окулус» поддерживаются технологией ВебИксЭр и должны работать из коробки. Для устройств подключаемых к компьютеру, типа «Эйч Ти Си Вайв» вам потребуется браузер «Гугл Хром» (или подобный). Для мобильных устройств виртуальной реальности, типа «Окулус Квест», используйте встроенный браузер.

ВебИксЭр требует безопасного контекста. Приложения «Вердж3Д» должны обслуживаться через HTTPS/SSL или с УРЛ-адреса localhost.

Создание ВР-приложений

Наличие ВР-режима проверяется с помощью пазла check VR mode, а вход в ВР-режим осуществляется с помощью пазла enter VR mode.

Для ВР-устройств без контроллеров взаимодействие с 3Д-объектами осуществляется с помощью прицельного указателя.

Для ВР-устройств с контроллерами взаимодействие осуществляется с помощью виртуального луча, исходящего из контроллеров.

Вы можете использовать стандартные пазлы when hovered или when clicked для захвата пользовательских действий, а также специфические для ВР события перехватываемые с помощью пазла on session event.

Смотрите пример в магазине ассетов — «Промышленный робот».

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

Настройки

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

ВебИксЭр требует безопасного контекста. Приложения «Вердж3Д» должны обслуживаться через HTTPS/SSL или с УРЛ-адреса localhost.

«Андроид»

Чтобы включить дополненную реальность, необходимо устройство «Андроид», поддерживающее технологию ARCore, и последняя версия браузера «Гугл Хром». Также необходимо установить Google Play Services for AR. Установка этого пакета предлагается автоматически при первом входе в режим дополненной реальности, если он уже не был установлен ранее.

«Айос» и «Айпадос»

Для «Айфонов» и «Айпадов» предусмотрено два способа запуска приложений дополненной реальности:

  1. Установить браузер WebXR Viewer
  2. Использовать формат ЮСДЗ для просмотра в штатном браузере «Сафари»

Mozilla WebXR Viewer — это браузерное приложение на базе «Файрфокса», которое поддерживает технологию дополненной реальности на устройствах «Эпл» (начиная с «Айфона» модели 6s). Просто установите его из «Апп Стор». Преимущество данного решения заключается в том, что вы можете использовать штатную технологию ВебИксЭр (и те же самые пазлы) аналогично устройствам с ОС «Андроид». Недостаток — необходимость установки ещё одного браузера.

С помощью формата ЮСДЗ, вы можете использовать технологию «Эпл АР Квик Лук», которая обеспечивает упрощённый просомотр моделей в режиме дополненной реальности в браузере «Сафари». При таком подходе вам потребуется использовать совершенно другой рендер, являющийся частью операционной системы «Айос», что лишает вас возможности использовать сложные материалы и определать сценарии поведения приложений с помощью пазлов.

Создание ДР-приложений для «Андроид» и WebXR Viewer

Режим ДР можно настроить для любого приложения «Вердж3Д» с помощью пазла enter AR mode.

Войдя в режим ДР, вы сможете позиционировать 3Д-контент в "реальной" системе координат, которая совмещена с вашим мобильным устройством. Кроме того, вы можете обнаруживать горизонтальные поверхности (столы, полки, пол и т.д.) с помощью ДР-пазла detect horizontal surface AR

Также, чтобы увидеть реальное окружение устройства через 3Д-окно, необходимо включить опцию transparent background в пазле configure application.

Смотрите пример в магазине ассетов — «Дополненная реальность».

Создание ДР-приложений на основе формата ЮСДЗ

Чтобы войти в режим «АР Квик Лук» вам потребуется создать ЮСДЗ-ассет. Для это вам надо будет экспортировать сцену (или отдельную модель) в процессе выполнения «Вердж3Д»-приложения (то есть на лету), либо создать данный ассет заранее в каком-нибудь пакете моделирования.

Подготовка ЮСДЗ-ассета в процессе выполнения

Этот подход основан на использовании пазла export to USDZ используемого для генерации ЮСДЗ-ассета (смотрите пример ниже).

Подготовка ЮСДЗ-ассета в пакете моделирования

На данный момент экспорт в ЮСДЗ поддерживается в только в «3дс Максе». Для «Блендера» вы можете попробовать неофициальный аддон BlenderUSDZ.

ЮСДЗ отличается от более привычного ЮСД тем, что содержит не только геометрию, но и медиа-файлы, такие как PNG, JPEG, MP3. Таким образом, пакеты моделирования, поддерживающие экспорт в формат ЮСД, не обязательно поддерживают ЮСДЗ.

Для пользователей «МакОС», «Айос», «Айпадос» имеется ряд утилит доступных для загрузки с сайта «Эпл». С их помощью вы можете конверировать модели из форматов ОБДЖ/ФБИКС/ГЛТФ/ЮСД в ЮСДЗ.

Загрузка ЮСДЗ

Чтобы просмотреть ЮСДЗ созданный заранее в пакете моделирования (или с использованием конвертера) вам нужно создать ХТМЛ-элемент в виде ссылки, содержащей изображение:

<a id="enter_AR_button" rel="ar" href="model.usdz"> <img src="media/enter_AR_button.png"> </a>

Ссылка должна указывать на ЮСДЗ-ассет, например model.usdz. Изображение должно явно изображать возможность использования режима дополненной реальности, например содержать текст "Дополненая реальность". В примере выше данное изображение находится по пути media/enter_AR_button.png внутри директории приложения.

По нажатию на такую ссылку на устройстве с «Айос», система определит что имеет дело с ассетом ЮСДЗ и откроет режим «АР Квик Лук», в котором вы можете позиционировать вашу модель, словно она находится в реальном мире:

При использовании пазлов подобная ссылка также может быть создана в процессе работы приложения:

Если же вы ходите создать ЮСДЗ-ассет на лету, вам потребуется следующий набор пазлов:

Отметьте разницу — тут мы используем пазл export to USDZ и назначаем дополнительный атрибут download на ссылку.

Смотрите пример в магазине ассетов — «Дополненная реальность».

Отладка в «Гугл Хроме»

Для ускорения итераций во время разработки вы можете использовать функцию port forwarding браузера «Гугл Хром» для запуска вашего ВР или ДР-приложения в мобильном браузере. Это избавит вас от необходимости каждый раз заново загружать его на удаленный веб-сервер.

Что дальше?

Чтобы узнать, как написать сценарий вашего ВР/ДР-приложения с помощью пазлов, прочитайте следующий раздел. Также ознакомьтесь с руководством по физике если вы собираетесь моделировать реалистичную виртуальную среду со столкновениями объектов и/или персонажем.

Смотрите пример в магазине ассетов — «Снежки».

Остались вопросы?

Задайте их на нашем форуме!