Ein Ausflug in die erweiterte Realität

Wir wunderwerker haben uns in letzter Zeit viel mit den Möglichkeiten von 3D-Grafik im Web auseinandergesetzt, insbesondere in Verbindung mit den Themen virtueller Realität und erweiterter Realität. Dieser Artikel soll in das Thema einführen und eine Übersicht darüber geben, um was es sich dabei handelt und was möglich ist.

Unser Demo-Dino

Um Augmented Reality zu nutzen, öffne bitte diese Seite mit deinem Smartphone oder verwende diesen QR-Code:

Demo Dino

Was ist virtuelle, was erweiterte Realität?

Die Konzepte von virtueller und erweiterter Realität sind verwandt, basieren auf denselben Technologien, sind aber doch fundamental unterschiedlich. Beide Konzepte befassen sich mit der Veränderung der Wahrnehmung eines Menschen. Unter virtueller Realität (engl. Virtual Reality, kurz VR) versteht man das komplette Ersetzen der Sinneswahrnehmung mit einer beliebigen denkbaren (virtuellen) Realität, die möglicherweise vollkommen künstlich ist. Der Begriff erweiterte Realität (engl. Augmented Reality, kurz AR) beschreibt gezielt die Anreicherung der natürlichen Umgebung um meist in Echtzeit computergenerierte grafische Elemente. Die Person kann dabei also eine Information wahrnehmen, welche in der Realität nicht direkt vorkommt, eben als Erweiterung ihrer Realität.

Beide Ansätze haben gemeinsam, dass zum Erfahren dieser veränderten Realität Geräte zum Einsatz kommen, welche die Position und Bewegung einer Person im Raum messen können, sowie in ein dreidimensionales Bild erzeugen können. Im Fall der virtuellen Realität wird dazu beispielsweise ein Headset (eine geschlossene “Brille”) verwendet, welche ein dreidimensionales Bild in die Augen des Benutzers projizieren kann, neben dem es die Ausrichtung des Kopfes und die Position des Trägers im Raum feststellt. Der Benutzer nimmt die echte Umgebung nicht mehr wahr, alle Sinneseindrücke sind projiziert, man bewegt sich in einer Realität neben der echten.

Im Gegensatz dazu meint die erweiterte Realität die Projektion von zusätzlichen Informationen in die wirkliche Realität. Der Benutzer verwendet beispielsweise ein mit Bewegungssensoren und Kamera ausgestattetes Smartphone, filmt damit seine Umgebung und sieht am Bildschirm ebendiese, sowie zusätzliche in den Raum projizierte Objekte. Denkbar ist auch eine (nicht geschlossene) Brille, durch welche der Benutzer seine Umgebung mitsamt Erweiterungen sieht.

In beiden Fällen werden Sensordaten dazu verwendet, um den Blickwinkel auf die veränderte Realität zu steuern. Optional ist auch die Interaktion mit der veränderten Realität möglich. Dazu werden Sensordaten oder Eingaben über zusätzliche Geräte verwendet, in VR oft über speziell ausgestattete Handschuhe verwirklicht.

Im folgenden Artikel widmen wir uns hauptsächlich dem Thema der erweiterten Realität. Wir verwenden das Kürzel XR, wenn wir gleichzeitig über VR und AR sprechen.

Welche Möglichkeiten bietet erweiterte Realität?

Die Anwendungsmöglichkeiten von AR sind vielseitig und reichen von nützlichen Werkzeugen, wie z.B. der von Apple iOS mitgelieferten Maßband-App oder dem Übersetzungstool Google Translate, über Anwendungen im Unterricht (inter- aktives Lehrbuch), Unterhaltung, Spiele (Nintendo Pokémon Go, Ingress) und Social Media (Snapchat), bis hin zu kommerziellen Anwendungen, wie sie von Apple oder IKEA angeboten werden.

Wir betrachten ein paar dieser Beispiele:

Die Smartphone-App Google Translate ermöglicht es Wörter oder ganze Texte von einer Sprache in eine andere zu übersetzen. In diesem Zusammenhang relevant ist die Möglichkeit, die Kamera zu nutzen. Man kann beispielsweise die Kamera auf einen englischen Zeitungsartikel richten und sieht am Bildschirm dieselbe Zeitung, jedoch mit der Übersetzung anstelle des originalen Textes.

Eine beliebte Social-Media-App ist Snapchat. Die ursprüngliche Idee der App ist es, im Gegensatz zu Facebook, nur vergängliche Inhalte zu erlauben. D.h. die Beiträge eines Users sind nur für eine gewisse Zeit im Netzwerk abrufbar, danach verschwinden sie. Die Inhalte, welche in der App geteilt werden können, sind Kamera-Schnappschüsse. Diese können mit AR-Inhalten angereichert werden, man kann sein Aussehen verändern oder sich mit Gegenständen schmücken. Inzwischen wird es auch Drittanbietern ermöglicht eigene “Lenses” zu entwick- eln, welche dann in Snapchat verwendet werden können, man denke an einen Brillenhersteller, dessen Modelle man sich in der App aufsetzen kann.

Als letztes Beispiel möchten wir noch auf die App IKEA Place eingehen, welche momentan als Testversion verfügbar ist. In der App kann man die von der Firma angebotene Möbel nicht nur auf Fotos betrachten, sondern gleich in seiner eigenen Wohnung platzieren.

Nachdem wir im vorhergehenden Abschnitt die Möglichkeiten von AR an- hand nativen Smartphone-Apps umrissen haben, betrachten wir nun die AR- Anwendungen im Web, also ohne die Notwendigkeit der Installation einer Ap- plikation. Wir gehen hier auch explizit näher auf technischere Aspekte der Implementierung von AR bzw. auch VR ein.

WebXR: XR im World Wide Web

Eine Grundvoraussetzung zur Umsetzung einer AR-Anwendung ist die Ausgabe von 3D-Grafik. Die Unterstützung dafür ist mit WebGL und ausgereiften darauf aufbauenden Frameworks wie three.js oder A-Frame gut abgedeckt. Zusätzlich zur Grafikausgabe ist es notwendig Benutzereingaben, Sensor- und Kameradaten sowie ggf. Geoinformationen abzugreifen. Dies alles ist mit modernen Browsern, sei es am Desktop oder auf einem Mobilgerät, möglich.

Mit diesen Voraussetzungen ist es möglich ausgefallene VR-Anwendungen zu erstellen, problematisch wird es jedoch bei AR-Projekten, wo z.B. Techniken wie Object Tracking oder Face Tracking zum Einsatz kommen. In einer AR- Anwendung ist es notwendig die Umgebung zu verstehen bzw. zu “sehen”. Mit Object Tracking meinen wir allgemein das Verfolgen eines Objekts in der echten Welt, wie es z.B. im Beispiel Google Translate notwendig ist. Die Anwendung muss den Text in einer Zeitschrift erkennen und auch dessen Position im Verhältnis zum Gerät bestimmten können. Mit Face Tracking ist insbesondere das Verfolgen eines menschlichen Gesichts bezeichnet, wie es z.B. in Snapchat gebraucht wird.

Die SDKs, welche für die Entwicklung nativer Android- und iOS-Anwendungen zur Verfügung gestellt werden, bieten bereits Frameworks zur Entwicklung von AR-Anwendungen an, die Entwicklung im Web-Browser hinkt dem jedoch momentan noch nach. Die Betriebssysteme bieten mit Scene Viewer und AR Quick Look jeweils eine Möglichkeit an, dem Besucher einer Website 3D-Modelle anzubieten, die dann wiederum eingebettet in die reale Welt betrachtet werden können, komplexere AR-Anwendungen sind jedoch aufwändiger umzusetzen.

Die fundamentalen Technologien sind im Web mit WebGL (Ausgabe von 3D-Grafik), WebRTC (u.a. Zugriff auf Kamera) und der WebXR Device API (Sensorik, Positionierung) weitflächig verfügbar. Beispielsweise sind zur Implementierung von Object Tracking jedoch rechenintensive Algorithmen notwendig,

welche nicht in öffentlichen Web-tauglichen Implementierung verfügbar sind. Neben kommerziellen Anbietern von AR-Lösungen gibt es jedoch erste Frame- works wie AR.js oder von der Firma Jeeliz angebotene Bibliotheken, welche hier verwendet werden können.

Unter anderem können damit schon einige Anwendungsfälle abgedeckt werden: AR.js bietet beispielsweise die Möglichkeit, 3D-Modelle an speziellen Markierun- gen in der echten Welt auszurichten, die Jeeliz Face Filter API kann dazu ver- wendet werden, ähnlich wie in Snapchat, Objekte an einem Gesicht auszurichten oder auf den erkannten Gesichtsausdruck zu reagieren.

Zusammenfassung

Wir wunderwerker haben recherchiert und einiges an Wissen zum Thema 3D-Grafik und AR im Web aneignen können. Wir haben inzwischen das Handwerkszeug, um viele 3D- und AR-Anwendungen umzusetzen. Wenn Sie auf den Geschmack gekommen sind, beraten wir Sie gerne, wenn es darum geht Ihre Anwendung sinnvoll und effizient umzusetzen.