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

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

Див. також[ред. | ред. код]

Примітки[ред. | ред. код]

  1. WebVR API. Mozilla Developer Network. Архів оригіналу за 25 листопада 2015. Процитовано 4 листопада 2015.
  2. w3c/webvr. GitHub (англійською) . Архів оригіналу за 13 липня 2017. Процитовано 8 квітня 2017.
  3. WebVR - Bringing Virtual Reality to the Web. webvr.info. Архів оригіналу за 4 липня 2016. Процитовано 8 липня 2016.
  4. Introducing the WebVR 1.0 API Proposal ★ Mozilla Hacks – the Web developer blog. hacks.mozilla.org. Архів оригіналу за 15 вересня 2016. Процитовано 8 липня 2016.
  5. WebVR. w3c.github.io (англійською) . Архів оригіналу за 9 квітня 2017. Процитовано 8 квітня 2017.
  6. WebVR. w3c.github.io (англійською) . Архів оригіналу за 9 квітня 2017. Процитовано 8 квітня 2017.
  7. Using WebVR: pros and cons - Archilogic. Archilogic (англійською) . 7 липня 2016. Процитовано 8 липня 2016.[недоступне посилання з червня 2019]
  8. Bringing WebVR to Microsoft Edge, 9 вересня 2016, архів оригіналу за 16 вересня 2016, процитовано 9 вересня 2016
  9. Firefox update will add WebVR support for virtual reality viewing, 8 серпня 2017, архів оригіналу за 9 серпня 2017, процитовано 9 вересня 2017
  10. Rodin. Архів оригіналу за 18 січня 2019. Процитовано 6 серпня 2019.
  11. JanusVR: The World Inside the Web. Архів оригіналу за 9 вересня 2017. Процитовано 9 вересня 2017.
  12. A-Frame. aframe.io. Архів оригіналу за 15 березня 2022. Процитовано 16 травня 2022.
  13. Blend4Web 16.06 LTS Released. Blend4Web.com. Архів оригіналу за 9 вересня 2017. Процитовано 12 липня 2016.
  14. Want to Kick It With Putin in Your Own Virtual World? Kokowa Is for You. wired.com. Архів оригіналу за 9 вересня 2017. Процитовано 9 вересня 2017.
  15. X3DOM. x3dom.org. Архів оригіналу за 14 березня 2022. Процитовано 16 травня 2022.
  16. Within. Within. Архів оригіналу за 13 серпня 2017. Процитовано 9 вересня 2017.