WebVR

WebVR ist eine Programmierschnittstelle (API) um in Webbrowsern mittels JavaScript auf Geräte für virtuelle Realität, wie etwa Head-Mounted Displays, zugreifen zu können. Der Standard wurde 2014 durch Mozilla ins Leben gerufen und in Kooperation mit dem Google-Chrome-Team entwickelt. Die Version 1.0 wurde 2016 veröffentlicht.[1] Künftige Versionen werden unter der Bezeichnung WebXR entwickelt und erweitern den Rahmen auf erweiterte Realität (AR).[2]

Funktionsprinzip

Über die Funktion navigator.getVRDisplays kann eine Liste aller verfügbaren VR-Geräte angefragt werden. Diese werden durch Objekte des Typs VRDisplay repräsentiert.

Über diese Geräte kann die Lage des Benutzers abgefragt werden, die Methode getPose liefert die Position, Ausrichtung, Bewegung und weitere Daten über den Nutzer.

Zur Darstellung wird ein Canvas-Element verwendet, häufig in Verbindung mit WebGL. Dabei werden die beiden Bilder für das linke und rechte Auge nebeneinander gezeichnet und über die requestPresent-Methode des VR-Anzeigegeräts dort zur Anzeige gebracht. Dort vermittelt sie dem Benutzer einen dreidimensionalen Bildeindruck. Die Anzeige sollte anschließend in regelmäßigen Abständen, am besten mit der Bildwiederholrate des Geräts, neu gezeichnet und mit der submitFrame-Methode aktualisiert werden.

Zudem kommen weitere APIs zum Einsatz, die Gamepad-API ermöglicht eine Steuerung über Gamepads, die Web Audio API erlaubt es, dreidimensionale Klangeindrücke zu erzeugen.

Zur einfachen Verwendung gibt es Bibliotheken wie A-Frame oder three.js,[3] die sich um einen Großteil der Darstellung kümmern können. Es gibt auch Frameworks, die einen Export aus Unity ermöglichen.[4] Einige Engines erlauben auch offiziell einen Export nach WebVR, darunter Blend4Web.[5]

Browserunterstützung

Erste experimentelle Unterstützung gibt es in Mozilla Firefox und Google Chrome sowie in Samsungs Browser für Samsung Gear VR.[6] Teilweise wird noch eine ältere Version des Standards implementiert. Eine stabile Unterstützung gibt es erstmals seit Firefox 55.[7]

Sowohl Firefox als auch Chrome unterstützen in ihren Desktop-Browsern Oculus Rift und HTC Vive, Smartphones können über Google Cardboard eingeschränkte VR-Funktionen bieten.[8][9]

Einzelnachweise

  1. Casey Yee: Introducing the WebVR 1.0 API Proposal. In: Mozilla Hacks. 1. März 2016, abgerufen am 9. September 2016 (englisch).
  2. Andre Vrignaud, Lars Bergstrom: Bringing Mixed Reality to the Web. In: The Mozilla Blog. 20. Oktober 2017, abgerufen am 12. Dezember 2017 (englisch).
  3. three.js
  4. Anthony Palma: Exporting An Indie Unity Game to WebVR. In: Mozilla Hacks. 24. Mai 2016, abgerufen am 9. September 2016 (englisch).
  5. Release Notes — Blend4Web. v15.12. Abgerufen am 9. September 2016.
  6. Is WebVR Ready? Abgerufen am 9. September 2016.
  7. Sören Hentzschel: Firefox 55 erhält Unterstützung für Virtuelle Realität (VR). 6. März 2017, abgerufen am 7. März 2017.
  8. James Green: Virtual Reality: Getting Started with Mobile VR & WebVR. 24. Mai 2016, abgerufen am 9. September 2016 (englisch).
  9. Sören Hentzschel: Unterstützung für HTC Vive landet in Firefox Nightly. 5. September 2016, abgerufen am 9. September 2016.