VR и AR¶
Содержание
Эта глава рассказывает о технологиях виртуальной (VR) и дополненной (AR) реальности в движке Blend4Web, а также содержит инструкции по созданию приложений, использующих эти технологии.
Виртуальная реальность¶
Существует большое количество VR-устройств; движок Blend4Web поддерживает многие из них. Для использования VR в Blend4Web-приложении не требуется вносить никаких существенных изменений в само приложение.
Режим стереоизображения предназначен для просмотра контента в специальных очках и активируется приложением.
Blend4Web supports several techniques of stereo image rendering:
HMD (head-mounted display):
HMD - экспериментальная возможность, она работает только с камерами типа Eye
.
Side-to-side rendering:
Анаглиф:
Активация¶
Для работы стереорежима HMD нужно установить runtime-утилиту от Oculus (поддерживаются две версии: chromium_webvr_v1_win64.7z в корневой директории и версия в папке Deprecated API). Версии для Windows и macOS присутствуют на сайте Oculus в бинарном формате, версию утилиты для Linux пользователю понадобится собирать из исходников самостоятельно.
На сегодняшний день HMD поддерживается в экспериментальных сборках Chromium и в nightly build Firefox.
Чтобы включить стереорежим, нужно выбрать соответствующий пункт в настройках приложения, в третьем столбце справа, как показано на иллюстрации.
Для корректной работы рекомендуется включить полноэкранный режим.
Настройки HMD¶
Эта группа настроек позволяет пользователю регулировать различные параметры для максимально комфортного просмотра 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.