WebVR
WebVR — експериментальний JavaScript API, який забезпечує підтримку пристроїв віртуальної реальності, таких як Oculus Rift, HTC Vive[en], Samsung Gear VR або Google Cardboard у веббраузері[1].
Цей API розроблено з урахуванням таких цілей[2]:
- Виявлення доступних пристроїв віртуальної реальності.
- Перевірка можливостей пристроїв.
- Визначення положення пристрою у просторі і його орієнтації.
- Показ зображень на пристрої при відповідній частоті кадрів.
Історія
WebVR вперше був вигаданий навесні 2014 року Володимиром Вукічевичем з Mozilla. Над API також працювали Брендон Джонс, Борис Смус та інші члени команди Mozilla[3]. 1 березня 2016 року команди Mozilla VR і Google Chrome анонсували версію WebVR API 1.0. У результаті рефакторингу API було внесено багато поліпшень у WebVR[4].
Останньою стабільною версією є 1.1[5], яка востаннє була відредагована 5 квітня 2017 року. Редакторами цього документа були представники команд Mozilla і Google. Однак, деякі працівники компанії Microsoft також приєдналися й активно співпрацюють над процесом розробки версії API WebVR 2.0[6].
Дизайн
В API WebVR представлено кілька нових інтерфейсів (наприклад, VR Display, VR pose), які дозволяють вебзастосункам представляти контент у віртуальній реальності за допомогою WebGL з необхідними параметрами камери та взаємодією пристроїв (наприклад, контролерів або точки зору). API був розроблений для виконання певної інструкції, яка дуже схожа на інший вебАРІ — Geolocation API[en]. Необхідними кроками цієї інструкції є:
- Запит доступних пристроїв віртуальної реальності.
- Перевірка підтримки пристроєм віртуальної реальності режиму роботи, необхідного в цьому вебзастосунку.
- За наявності цієї підтримки програма запускає можливість використання функціоналу віртуальної реальності для користувача.
- Користувач підтверджує вхід у режим віртуальної реальності.
- Запит сесії, щоби представити ВР-контент.
- Початок циклу візуалізації, який створює графічні кадри для показу на ВР-пристрої.
- Продовження генерування кадрів, доки користувач не вкаже, що він хоче вийти з режиму ВР.
- Завершення ВР-сесії.
Підтримка
WebVR поки працює тільки в деяких версіях браузерів, які підтримують роботу з цим API. Зазвичай, потрібно увімкнути підтримку WebVR у налаштуваннях браузера, які більшість користувачів не змогли б легко знайти[7]. WebVR в даний час[коли?] підтримується в браузері Firefox Nightly і користувацькій версії Chrome. WebVR v1.0 в Android Chrome треба вмикати в налаштуваннях браузера. Поки WebVR сумісний з більшістю браузерів, які підтримують частину API за допомогою polyfill. Microsoft у вересні 2016 року оголосила про початок розробки підтримки WebVR у браузері Edge[8].
WebVR API все ще перебуває на ранній стадії розробки. Отже, визначений API часто змінюється і його не можна вважати стабільним. У той час, як API перебуває на стадії доопрацювання, підтримка версії 1.1 присутня в таких браузерах: Chrome для Android, Firefox Nightly, Samsung Internet, Microsoft Edge, Chromium, Servo й Oculus Carmel.
Слід зазначити, що підтримка WebVR не означає, що певний веббраузер підтримує певну ВР-гарнітуру, але забезпечує необхідний API, щоб дозволити браузерам вибирати, яку гарнітуру підтримувати.
Станом на 8 серпня 2017 року WebVR за замовчуванням увімкнено в браузері Firefox[9].
Використання
Нижче наведено кілька відомих компаній або проектів, пов'язаних з WebVR:
- Rodin.io дозволяє створювати та впроваджувати контент для віртуальної реальності для всіх платформ, використовуючи JavaScript.[10]
- JanusVR — це набір програмного забезпечення, який спрощує створення, обмін і користування ВР-контентом.[11]
- A-Frame (VR) — вебфреймворк з відкритим кодом для побудови віртуальної реальності за допомогою HTML від Mozilla.[12]
- Archilogic успішно використовує WebVR для створення 3D моделей, які можна переглядати у віртуальній реальності.
- Blend4web використовується для створення WebVR-контенту, такого як реконструкція спадщини та ігор.[13]
- Kokowa — це видавнича платформа WebVR, орієнтована не на програмістів. Вона забезпечує легке «drag and drop» редагування для створення та обміну WebVR-контентом в Інтернеті та в соціальних мережах.[14]
- Goocreate: хмарний 3D-редактор на WebGL. Він може бути використаний для створення ігор, оголошень, рекламних вітрин для вебсайтів і наукових візуалізацій, які працюють у веббраузері.
- PlayCanvas: 3D рушій для ігор чи створення інтерактивних 3D-додатків.
- Vizor: платформа для створення та поширення ВР-контенту в інтернеті.
- Sketchfab: дозволяє показувати й ділитися 3D-контентом онлайн. Він забезпечує перегляд 3D-моделей на різних як мобільних пристроях, так і на ПК або ВР — гарнітурах.
- X3DOM: фреймворк з відкритим кодом для 3D-графіки в Інтернеті, включно з WebVR. Він використовує X3D, поточний ISO-стандарт для web3D.[15]
- Within: незвичайні історії у віртуальній реальності.[16]
Аналогічні технології
Хоча WebVR є унікальним API, у більшості апаратних засобів є власні програми чи додатки, що дозволяють використовувати мережеві можливості та доступ до вебконтенту. Кілька ключових інструментів, таких як Unity та Blender, також можуть експортувати в Інтернет і надавати користувачам можливість використовувати їхній вміст без встановлення спеціальної програми.