© Liashko/Shutterstock.com
VR-Erlebnisse mit WebXR entwickeln

Das immersive Web im Browser


Virtuelle Objekte im Raum erleben – das geht mit VR und AR. Wo entsprechende Anwendungen früher spezifisch für ein Gerät entwickelt werden mussten, steht mit WebXR ein neuer Ansatz zur Verfügung, der den Browser zur Plattform macht.

Spätestens seit 2017 sind VR-Devices im Mainstream angekommen. Für jeden Preisbereich gibt es erschwingliche Möglichkeiten, virtuelle Welten zu erleben. Angefangen von einem ca. 15 Euro teuren Google Cardboard bis hin zu mehreren hundert Euro teuren VR-Devices von HTC, Oculus oder Playstation VR. Die Geschichte der virtuellen Realität ist jedoch schon sehr viel älter als man denken mag. Bereits 1939 gab es den Viewmaster [1]. Mit diesem Betrachtungsgerät wurden stereoskopische Bilder erzeugt, die weitestgehend den Konzepten heutiger VR-Devices entsprechen. Im Jahr 1961 schreibt Ivan Sutherland von einem Ultimate Display. Er erklärt grundlegend, was wir heute unter Augmented Reality (AR) verstehen: computergenerierte Objekt, die durch ein Display in die reale Welt projiziert werden. Wie so oft konnten diese Ideen nicht effizient umgesetzt werden, da die Technik nicht weit genug war.

Heute hat so ziemlich jeder einen leistungsstarken Computer in der Tasche, der mit Leichtigkeit diese Aufgaben erfüllen kann. Apple und Google bieten Frameworks wie ARKit (iOS) und ARCore (Android) an, mit deren Hilfe eindrucksvolle AR-Apps erstellt werden können. Diese Entwicklung ist nicht an den Webbrowsern dieser Welt vorbeigegangen, und bereits 2014 wurde an einer Standardisierung für WebVR gearbeitet. Seit 2017 arbeitet das W3C an einem neuen Standard, der WebVR langfristig ablösen soll. Mit WebXR werden Entwickler Browser-APIs bekommen, mit denen sowohl VR- als auch AR-Anwendungen erstellt werden können. Zum Betrachten und Erleben benötigen die Benutzer lediglich einen Webbrowser und bei nicht mobilem Set-up geeignete VR-Hardware.

MR? AR? VR?

Bevor wir tiefer auf die grundlegenden Konzepte und APIs eingehen, möchte ich die Begriffe Virtual Reality, Augmented Reality und Mixed Reality aus meiner Sicht kurz erläutern. Unter Virtual Reality (VR) verstehen wir das Eintauchen in eine komplette virtuelle Welt. Wir verlassen die Realität und erzeugen eine neue, virtuelle Realität. Vereinfacht gesagt: Wir gaukeln dem Gehirn eine Welt vor, die physisch nicht existiert. Dem Betrachter wird ein stereoskopisches Bild vor die Augen projiziert, das sein Gehirn glauben lässt, weiterhin in einem dreidimensionalen Raum zu sein. Bei der Augmented Reality (AR), oder auch erweiterter Realität, werden durch ein Display dreidimensionale Objekte in die reale Welt projiziert und darübergelegt. Um die Lage im Raum erkennen zu können, wurden bisher besondere Marker oder Ankerpunkte eingesetzt. Das können spezielle Marker sein oder definierte Bilder bzw. Muster, die erkannt werden. Ein weiteres Einsatzgebiet ist beispielsweise das Feature Google Translate AR, das über OCR (Optical Character Recognition, optische Zeichenerkennung) fremdsprachige Texte in Echtzeit übersetzen kann.

In jüngster Zeit wird von der Mixed Reality (MR) gesprochen. Es handelt sich grundlegend um Augmented Reality, mit dem Zusatz, dass in Echtzeit getrackt werden kann. Es sind keine definierten Marker vonnöten. Das Device erkennt Flächen und kann daran ausgerichtet 3-D-Objekte platzieren. Moderne Implementierungen wie ARKit unter iOS oder ARCore bei Android werden hierbei auch hardwareunterstützt, und die vorhandenen Sensoren des Geräts unterstützen die Lageerkennung im Raum. Es wird eine Welt erzeugt, die aus realen und virtuellen Elementen besteht. Die virtuellen Elemente interagieren mit der realen Welt, indem sie beispielsweise auf einem Tisch, Sofa oder Schrank stehen können.

Dieser Artikel behandelt WebXR – wieder ein neuer Buchstabe vor dem R. Was ist das schon wieder? Die Erklärung ist denkbar einfach: Um dem Begriffswirrwarr zu entkommen, hat man sich entschieden, das API im Browser statt mit AR, VR und MR generisch zu benennen: WebXR. Das X steht stellvertretend für alle erdenkbaren Realitäten. Damit soll der Wunsch nach einem API für alle „Realitäten“ erfüllt werden, statt je ein API für WebVR, WebAR und WebMR als eigenständige Definition zu etablieren. WebVR stellt hingegen eine isolierte Option für VR-Anwendungen im Web dar.

Bisher gab es WebVR

VR im Web ist im Grunde nichts Neues mehr. WebVR ist aktuell in Version 1.1 beim W3C im Draft-Status [2]. Im Einzelnen sind es Browser-APIs und Interfaces, die den Zugriff zur Benutzung eines Head Mounted Device (HMD) und der Controller oder Game Pads zur Verfügung stellen. Wer mehr erfahren möchte, dem empfehle ich die ausführlichen Beschreibungen der APIs auf dem Mozilla Developer Network (MDN) [3]. Befragt man https://caniuse.com nach der Browserunterstützung für WebVR, bekommt man das in Abbildung 1 dargestellte Ergebnis.

sandtner_webxr_1.tif_fmt1.jpgAbb. 1: WebVR auf https://caniuse.com (Screenshot)

Firefox hat ab Version 60 die Unterstützung unter Windows per Default aktiviert. Bei Google Chrome muss WebVR mittels eines Flags aktiviert werden. Bei Microsoft Edge ist WebVR als „in Entwicklung“ ausgezeichnet. Wer Safari oder Internet Explorer 11 benutzt, kann, Stand heute, WebVR nicht nativ benutzen. Alles in allem ergibt sich aber dennoch ein positives Bild. Die Unterstützung wird stetig verbessert und es gibt auf jedem Desktopbetriebssystem mindestens einen Browser, der WebVR-fähig ist.

Für mobile Browser ist der...

Neugierig geworden? Wir haben diese Angebote für dich:

Angebote für Gewinner-Teams

Wir bieten Lizenz-Lösungen für Teams jeder Größe: Finden Sie heraus, welche Lösung am besten zu Ihnen passt.

Das Library-Modell:
IP-Zugang

Das Company-Modell:
Domain-Zugang