WebVR — это экспериментальный браузерный API для доступа к устройствам виртуальной реальности, таким как HTC Vive, Oculus Rift, Google Cardboard и OSVR.

WebVR реализует следующие функции: Определение доступных устройств виртуальной реальности. Получение возможностей выбранного устройства. Определение текущих координат и углов обзора в трёхмерном пространстве. Вывод графической информации на соответствующее устройство.

История WebVR был впервые задуман весной 2014 года Владимиром Вукичевичем и другими разработчиками из компании Mozilla. 1 марта 2016 года участники группы Mozilla VR совместно с разработчиками браузера Google Chrome презентовали версию 1.0 спецификации WebVR API. Стандарт претерпел многочисленные изменения и улучшения по сравнению с первоначальной версией.

Последние правки в новую стабильную версию спецификации WebVR 1.1 были внесены 5 апреля 2017 года, после чего к команде разработчиков из Mozilla и Google присоединились сотрудники Microsoft, начав работу над следующей версией стандарта.

Однако в 2018 году было объявлено о разработке нового браузерного API WebXR, идущего на смену WebVR. Стандарт предполагает взаимодействие с устройствами дополненной реальности и виртуальной реальности с использованием единого программного интерфейса.

Описание работы технологии API WebVR предоставляет несколько новых интерфейсов, которые позволяют веб-приложениям презентовать контент в режиме виртуальной реальности, используя API WebGL. Они также обеспечивают необходимые настройки для камеры и методы для взаимодействия с устройствами (в частности, обеспечивают захват координат и состояния контроллеров). Для того, чтобы использовать WebVR, веб-приложение должно выполнить следующие действия: Запросить список доступных устройств виртуальной реальности. Проверить, поддерживает ли устройство необходимый режим представления. В случае успеха приложение объявляет пользователю о доступности устройства. Пользователь выполняет действие для активации устройства. В ответ на действие пользователя приложение запрашивает VR-сессию. Далее запускается цикл рендеринга, который генерирует графику, отображаемую на устройстве. Сессия виртуальной реальности завершается в ответ на действие пользователя либо программно.

Поддержка в браузерах В настоящий момент спецификация WebVR 1.0 поддерживается в браузере Firefox 55+ для Windows (64-битная версия) и в браузере Google Chrome для платформы Android (в качестве экспериментальной возможности). Спецификация WebVR 1.1 добавлена в браузер Microsoft Edge в сборке 15002+, а также в Samsung Internet , Chromium, Servo и Oculus Carmel .

Chrome для Windows поддерживает WebVR 1.1 в специальной сборке . Firefox 55+ для платформы macOS требует активации соответствующих настроек со стороны пользователя.

Примеры использования

Ниже представлены проекты, в которых реализована поддержка стандартов WebVR/WebXR: A-Frame — открытый пакет для создания VR-контента с использованием HTML. Babylon.js — открытая WebGL библиотека, разрабатываемая компанией Microsoft. PlayCanvas — облачная среда разработки приложений, включающая одноимённый открытый игровой движок. Sketchfab — облачный хостинг 3D-моделей. Verge3D — позволяет создавать VR-приложения в 3ds Max и Blender с помощью встроенного визуального редактора логики Puzzles. X3DOM — открытая библиотека, использующая международный стандарт трёхмерной графики X3D. Site3D Configurator — сервис создания 3D конфигураторов.

См. также WebGL VRML

Примечания

Категория:HTML5 *