WebVR
WebVR— это экспериментальныйбраузерныйAPIдля доступа к устройствамвиртуальной реальности,таким какHTC Vive,Oculus Rift,Google CardboardиOSVR[1].
WebVR реализует следующие функции:[2]
- Определение доступных устройств виртуальной реальности.
- Получение возможностей выбранного устройства.
- Определение текущих координат и углов обзора втрёхмерном пространстве.
- Вывод графической информации на соответствующее устройство.
История
[править|править код]WebVR был впервые задуман весной 2014 года Владимиром Вукичевичем и другими разработчиками из компанииMozilla[3].1 марта 2016 года участники группы Mozilla VR совместно с разработчиками браузераGoogle Chromeпрезентовали версию 1.0 спецификации WebVR API. Стандарт претерпел многочисленные изменения и улучшения по сравнению с первоначальной версией[4].
Последние правки в новую стабильную версию спецификации WebVR 1.1 были внесены 5 апреля 2017 года[5],после чего к команде разработчиков из Mozilla и Google присоединились сотрудники Microsoft, начав работу над следующей версией стандарта[6].
Однако в 2018 году было объявлено о разработке нового браузерного APIWebXR,идущего на смену WebVR. Стандарт предполагает взаимодействие с устройствамидополненной реальностии виртуальной реальности с использованием единого программного интерфейса[7][8].
Описание работы технологии
[править|править код]API WebVR предоставляет несколько новых интерфейсов, которые позволяютвеб-приложениямпрезентовать контент в режимевиртуальной реальности,используя APIWebGL.Они также обеспечивают необходимые настройки для камеры и методы для взаимодействия с устройствами (в частности, обеспечивают захват координат и состояния контроллеров). Для того, чтобы использовать WebVR, веб-приложение должно выполнить следующие действия:
- Запросить список доступных устройств виртуальной реальности.
- Проверить, поддерживает ли устройство необходимый режим представления.
- В случае успеха приложение объявляет пользователю о доступности устройства.
- Пользователь выполняет действие для активации устройства.
- В ответ на действие пользователя приложение запрашивает VR-сессию.
- Далее запускается цикл рендеринга, который генерирует графику, отображаемую на устройстве.
- Сессия виртуальной реальности завершается в ответ на действие пользователя либо программно.
Поддержка в браузерах
[править|править код]В настоящий момент спецификация WebVR 1.0 поддерживается в браузереFirefox55+ для Windows (64-битная версия)[9]и в браузере Google Chrome для платформы Android[10](в качестве экспериментальной возможности). Спецификация WebVR 1.1 добавлена в браузерMicrosoft Edgeв сборке 15002+[11],а также вSamsung InternetАрхивная копияот 12 июня 2018 наWayback Machine,Chromium,ServoАрхивная копияот 2 марта 2021 наWayback MachineиOculus CarmelАрхивная копияот 28 марта 2019 наWayback Machine.
Chrome для Windows поддерживает WebVR 1.1 вспециальной сборкеАрхивная копияот 2 февраля 2019 наWayback Machine.Firefox 55+ для платформыmacOSтребует активации соответствующих настроек со стороны пользователя[9].
Примеры использования
[править|править код]Ниже представлены проекты, в которых реализована поддержка стандартов WebVR/WebXR:
- A-Frame — открытый пакет для создания VR-контента с использованием HTML[12]
- Babylon.js— открытая WebGL библиотека, разрабатываемая компанией Microsoft[13]
- PlayCanvas — облачнаясреда разработкиприложений, включающая одноимённый открытыйигровой движок.
- Sketchfab — облачныйхостинг3D-моделей.
- Verge3D— позволяет создавать VR-приложения в3ds Maxи Blender с помощью встроенного визуального редактора логики Puzzles[14].
- X3DOM — открытая библиотека, использующая международный стандарт трёхмерной графикиX3D[15].
- Site3D Configurator— сервис создания 3D конфигураторов.
См. также
[править|править код]Примечания
[править|править код]- ↑WebVR API .Mozilla Developer Network.Дата обращения: 4 ноября 2015.Архивировано25 ноября 2015 года.
- ↑w3c/webvr(англ.).GitHub.Дата обращения: 8 апреля 2017.Архивировано13 июля 2017 года.
- ↑WebVR - Bringing Virtual Reality to the Web .webvr.info.Дата обращения: 8 июля 2016.Архивировано4 июля 2016 года.
- ↑Introducing the WebVR 1.0 API Proposal ★ Mozilla Hacks – the Web developer blog .hacks.mozilla.org.Дата обращения: 8 июля 2016.Архивировано15 сентября 2016 года.
- ↑WebVR(англ.).w3c.github.io.Дата обращения: 8 апреля 2017.Архивировано9 апреля 2017 года.
- ↑WebVR(англ.).w3c.github.io.Дата обращения: 8 апреля 2017.Архивировано9 апреля 2017 года.
- ↑Bringing Mixed Reality to the Web – The Mozilla Blog .The Mozilla Blog.Дата обращения: 28 марта 2019.Архивировано28 марта 2019 года.
- ↑Welcome to the immersive web - Web - Google Developers .Google Developers.Дата обращения: 28 марта 2019.Архивировано28 марта 2019 года.
- ↑12Firefox 55: first desktop browser to support WebVR – Mozilla Hacks - the Web developer blog .Mozilla Hacks – the Web developer blog.Дата обращения: 28 марта 2019.Архивировано28 марта 2019 года.
- ↑WebVR Rocks .WebVR Rocks.Дата обращения: 28 марта 2019.Архивировано11 июля 2019 года.
- ↑mattwojoWebVR with Microsoft Edge - WebVR .docs.microsoft.Дата обращения: 28 марта 2019.Архивировано28 марта 2019 года.
- ↑A-Frame .aframe.io. Дата обращения: 17 марта 2022.Архивировано15 марта 2022 года..
- ↑Babylon.js .Babylonjs. Дата обращения: 17 марта 2022.Архивировано1 января 2018 года..
- ↑Verge3D 2.10 for Blender/3ds Max Released .Soft8Soft (7 февраля 2019). Дата обращения: 2 марта 2019.Архивировано6 марта 2019 года.
- ↑X3DOM .x3dom.org. Дата обращения: 17 марта 2022.Архивировано14 марта 2022 года.