Zurück

WebVR / WebXR

WebVR ist eine offene Spezifikation, die es Software-EntwicklerInnen ermöglicht, VR-Headsets sowie deren Controller in gängigen Browsern wie Chrome, Firefox und Safari nutzbar zu machen. So können mithilfe dieser Schnittstelle VR-Inhalte erstellt und NutzerInnen somit eine weitere Möglichkeit gegeben werden, ihr VR-Headset zu nutzen.

(Quelle: Welcome to the immersive web)

Gestartet wurde das Projekt von Mozilla im Jahr 2014, als Virtual Reality und entsprechende Headsets einen immer größeren Nutzen fanden und der Ruf nach Unterstützung im Browser lauter wurde. Seitdem entwickeln mehrere Teams an dieser Spezifikation und den Schnittstellen. Heutzutage werden viele der bekanntesten VR-Headsets unterstützt, darunter Oculus Rift, Oculus Go, HTC VIVE und auch preigünstige Projekte wie Google Cardboard.

Da seit mehreren Jahren auch Augmented Reality (AR) und andere Formen der technikgestützten Erweiterung der Realität immer mehr Anklang finden, wurden die Bestreben unter der WebXR Device API zusammengefasst. So wurde ein einheitlicher Standard für diese Erweiterungen geschaffen. Das Ziel der Spezifikation ist es, VR- und AR-Geräte zu erkennen, die Möglichkeiten im Bezug auf Bewegung, Drehung und Neigung des Headsets sowie der Controller zu erfassen und mittels weiteren 3D-Bibliotheken wie three.js visuell zu nutzen.

Nutzung und Anwendungsfälle

Neben der wahrscheinlich größten Nutzung von VR und AR im Bereich der Videospielentwicklung, haben sich weitere Bereiche entwickelt, in denen diese neuen Technologien zum Einsatz kommen. Eine Anwendungsmöglichkeit ist die Bereitstellung von Inhalten über 3D- oder 360-Grad-Videos, aufgenommen mit speziellen Kameras. So können z.B. Stadtführungen, Ballonfahrten, ein Gang über Ausgrabungsstätten und Konzerte realitätsnah über VR-Geräte zur Verfügung gestellt werden. Auch KünstlerInnen haben die Möglichkeit ihre Projekte und Kunstwerke in den Browser zu integrieren und so für ein größeres Publikum verfügbar zu machen.

Da im Museumskontext das Thema VR und auch AR immer wichtiger wird, nutzen wir WebVR, um mithilfe der Photogrammetrie digitalisierte Modelle von den Ausstellungsstücken des Schifffahrtsmuseums sowie anderen interessanten Objekten zu visualisieren und den AnwenderInnen Informationen zu den einzelnen Objekten zu vermitteln. Dabei greifen wir über WebVR auch auf den Controller des VR-Headsets Oculus Go zu, um mit den Modellen zu interagieren und sie drehen und verschieben zu können. Durch die Nutzung dieser Interaktionsmöglichkeit erweitern wir die pure Darstellung, wie sie z.B. in 360-Grad-Videos zu finden ist, die die Inhalte dadurch noch realistischer wirken lassen.

Vorteile und Nachteile

Durch die Verfügbarkeit von kompatiblen Browsern auf den meisten Geräten ist der Einstieg in die Welt der Virtual Reality auch für unerfahrene Nutzer sehr einfach. Es ist keine Installation und Entwicklung einer eigenständigen App notwendig, sondern nur der Aufruf einer Webseite, was den Aufwand zur Nutzung der Technologie so gering wie möglich hält. Für die Darstellung vieler Szenen reicht bereits ein Mittelklasse-Smartphone aus, sodass kein Geld für High-End-PCs oder Smartphones investiert werden muss.

Allerdings sind der Browser sowie die erforderlichen Bibliotheken in ihren Leistungsfähigkeiten limitiert. Für große, leistungshungrige Anwendungen, wie Videospiele oder die Visualisierung hochdetaillierter 3D-Modelle ist die Leistung des Browsers nicht mehr ausreichend, wodurch auf spezialisiertere Programme und Entwcklungsumgebungen zurückgegriffen werden muss. Dies erhöht die Qualität des Ergebnisses, jedoch auf Kosten des Entwicklungs- und Nutzungsaufwandes.

WebVR Einbindung in three.js

Für die Nutzung mit three.js existiert eine JavaScript-Bibliothek, die man wie three.js in die HTML-Seite einbinden kann. Three.js kümmert sich größtenteils schon um die korrekte Darstellung der VR-Inhalte, lediglich die Methode, die für die Erstellung der Bilder für die beiden Augen zuständig ist, muss angepasst werden. Code, der für three.js-Szenen ohne VR geschrieben wurden, läuft größtenteils auch im VR-Modus. Die Kopf-Drehungen werden ohne größere Anpassungen auf die bereits vorhandene Kamera angewendet. Lediglich die Bewegung und Interaktion mit dem Controller muss abgefragt und entsprechende Methoden zur Interaktion mit der Szene hinzugefügt werden.

(Quelle: How to create VR content.)