WebVR

експерементальний JavaScript API, який надає підтримку пристроїв віртуальної реальності в інтернеті

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]. Необхідними кроками цієї інструкції є:

  1. Запит доступних пристроїв віртуальної реальності.
  2. Перевірка підтримки пристроєм віртуальної реальності режиму роботи, необхідного в цьому вебзастосунку.
  3. За наявності цієї підтримки програма запускає можливість використання функціоналу віртуальної реальності для користувача.
  4. Користувач підтверджує вхід у режим віртуальної реальності.
  5. Запит сесії, щоби представити ВР-контент.
  6. Початок циклу візуалізації, який створює графічні кадри для показу на ВР-пристрої.
  7. Продовження генерування кадрів, доки користувач не вкаже, що він хоче вийти з режиму ВР.
  8. Завершення ВР-сесії.

Підтримка

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, також можуть експортувати в Інтернет і надавати користувачам можливість використовувати їхній вміст без встановлення спеціальної програми.

Див. також

Примітки