VR и AR

Эта глава рассказывает о технологиях виртуальной (VR) и дополненной (AR) реальности в движке Blend4Web, а также содержит инструкции по созданию приложений, использующих эти технологии.

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

Существует большое количество VR-устройств; движок Blend4Web поддерживает многие из них. Для использования VR в Blend4Web-приложении не требуется вносить никаких существенных изменений в само приложение.

Режим стереоизображения предназначен для просмотра контента в специальных очках и активируется приложением.

Blend4Web supports several techniques of stereo image rendering:

HMD (head-mounted display):

_images/postprocessing_effects_stereo.png

HMD - экспериментальная возможность, она работает только с камерами типа Eye.

Side-to-side rendering:

_images/side_to_side.png

Анаглиф:

_images/postprocessing_effects_anaglyph.png

Активация

Для работы стереорежима HMD нужно установить runtime-утилиту от Oculus (поддерживаются две версии: chromium_webvr_v1_win64.7z в корневой директории и версия в папке Deprecated API). Версии для Windows и macOS присутствуют на сайте Oculus в бинарном формате, версию утилиты для Linux пользователю понадобится собирать из исходников самостоятельно.

На сегодняшний день HMD поддерживается в экспериментальных сборках Chromium и в nightly build Firefox.

Настройки Chromium.

Настройки Firefox.

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

_images/postprocessing_effects_hmd.png

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

Настройки HMD

_images/hmd_settings.png

Эта группа настроек позволяет пользователю регулировать различные параметры для максимально комфортного просмотра 3D-сцены или приложения на своём VR-устройстве. Получить доступ к настройкам можно двумя способами:

  • Во-первых, с помощью панели Stereo View в Просмотрщике сцен Blend4Web.

  • Во-вторых, с использованием в приложении метода show из модуля hmd_conf, для чего требуется написание программного кода. Примеры использования этого метода можно увидеть в приложениях viewer.js и webplayer.js (в объекте m_hmd_conf).

Profile

Позволяет пользователю выбрать профиль для определённого устройства. На сегодняшний день поддерживаются следующие профили:

  • Custom
  • Cardboard (2014)
  • Cardboard (2015)

По умолчанию выбран профиль Custom.

Настройки рендеринга

Tray to lens-center distance

Задаёт расстояние между корпусом телефона и линзами камеры.

Значение может меняться от 0 до 50. Значение по умолчанию - 32.

Interpupillary distance

Задаёт расстояние (в миллиметрах) между зрачками глаз пользователя.

Значение может меняться от 0 до 100. Значение по умолчанию - 64.

Screen to lens distance

Задаёт расстояние между экраном телефона и линзами камеры.

Значение может меняться от 0 до 100. Значение по умолчанию - 50.

Screen height

Высота экрана.

Значение может меняться от 0 до 150. Значение по умолчанию - 63.

Screen width

Ширина экрана.

Значение может меняться от 0 до 200. Значение по умолчанию - 107.

Bevel width

Ширина рамки вокруг изображения.

Значение может меняться от 0 до 20. Значение по умолчанию - 3.

Distortion coefficients

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

Оба значения могут меняться от 0 до 1. Значения по умолчанию: 0.34 для первого параметра и 0.55 для второго.

Другие инструменты управления

Save

Сохраняет настройки.

Cancel

Закрывает окно настроек без сохранения изменений.

Reset

Восстанавливает настройки по умолчанию.

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

Технология дополненной реальности в Blend4Web использует JavaScript-порт популярной AR-библиотеки ARToolKit.

Создание приложений дополненной реальности несколько сложнее работы с VR-проектами, поскольку само приложение должно быть настроено определённым образом. Кроме того, оно должно соответствовать системным требованиям.

Системные требования таковы:

  • Устройство с веб-камерой для запуска приложения.

    Примечание

    Если приложение запущено на устройстве без веб-камеры, оно будет работать, но AR-возможности доступны не будут.

  • Веб-браузер с поддержкой AR.

Подготовка

Blend4Web SDK включает пример AR-приложения, который можно найти в Менеджере проектов.

Примечание

Этот пример не входит в состав Blend4Web CE Lite

Для корректной работы AR-приложения также требуется маркер.

Leap Motion

Leap Motion - контроллер, применяемый для отслеживания движений рук и распознавания жестов. Он может использоваться как отдельно, так и совместно с любым поддеживаемым VR-устройством.

В состав нашего приложения Code Snippets входит пример использования контроллера Leap Motion. Если вы планируете создавать приложения с поддержкой Leap Motion, мы советуем вам внимательно изучить этот пример и, возможно, также использовать его как основу для собственных проектов.

API Leap Motion представляет собой стандартную JavaScript-библиотеку, которая может быть подключена к HTML-странице проекта. Приложение может работать с библиотекой, входящей в состав файлов проекта или обращаться к серверу Leap Motion.