Mitte August konnten wir bei Centigrade endlich ein Exemplar der Oculus Rift in den Händen halten bzw. auf dem Kopf tragen. Bei der aktuellen Version des Head Mounted Displays (HMD) handelt es sich um das Development Kit 2 (DK2). Eine kleine Evaluation soll die ersten Schritte mit dem Oculus Rift DK2 dokumentieren.
Bereits 2013 gelang Oculus VR mit dem DK1 eine Revolution im Bereich der Virtual Reality (VR) Gadgets. Mit der ersten vorläufigen Version der Oculus Rift zeigte die Firma das Potenzial von VR für den breiten Consumermarkt, auf dem die preiswerte Brille sich etablieren soll. Bemerkenswert ist, dass nach und nach bekannt wurde, dass große Firmen wie Sony, Google und Samsung ebenfalls an solchen HDMs arbeiten. Das zeigt, dass auch „die Großen“ viele Hoffnung in diese Technologie setzen und ungern diesen Markt vernachlässigen möchten.
Development Kit 2
Oculus VR hält den Entwicklungsprozess ihrer Development Kits sehr transparent und gibt der Entwicklergemeinde mit dem DK2 zum zweiten Mal die Möglichkeit, direkt mit der Hardware zu entwickeln und somit wieder wichtiges Feedback zu erhalten. Im Gegensatz zum DK1 haben sich beim DK2 zwei wesentliche Punkte verändert:
- Mit Hilfe einer externen Kamera wurde das „Positional Tracking“, also die Verfolgung der aktuellen Spielposition verbessert, wodurch weitestgehend „Motion Sickness“, also die Übelkeit durch Bewegung unterbunden wird.
- Des Weiteren ist nun ein höherauflösendes OLED Displays mit 960 x 1080 Punkten pro Auge und bis zu 75Hz Bildrate verbaut, was eine flüssigere und klarere Darstellung des Bildes ermöglicht.
Das Setup
Das DK2 wird in einem schlichten braunen Karton angeliefert, in dem die Brille, eine IR-Kamera, Kabel und Linsen untergebracht sind. Diese Hardware-Komponenten müssen zunächst gemäß dem Oculus Rift DK2 Instruction Manual positioniert und zusammengesetzt werden, bevor die Softwareseitige Installation beginnen kann. Nach dem Anlegen eines Accounts beim Oculus Developer Center können aktuelle Treiber heruntergeladen werden. Zum einfachen Testen der Brille haben wir zunächst nur die Oculus Runtime installiert. Über ein „Oculus Configuration Tool“ können die spezifischen Parameter des Users angegeben werden. Unter anderem kann hier der IPD verändert werden. IPD steht für „Interpupillary Distance“ und definiert den Abstand der Pupillen zueinander. Um die Einstellung zu testen, kann während der Konfiguration jederzeit eine Demo Szene geladen werden.
Bei dieser bekommt man schnell einen ersten Eindruck der Oculus Rift, da dort ein einfacher Schreibtisch mit Gegenständen visualisiert wird. Beim Träger der Brille stellt sich sofort das Gefühl der Immersion ein und man bekommt unwillkürlich den Eindruck, tatsächlich vor diesem Tisch zu sitzen. Das Bedürfnis nach einem der virtuellen Gegenstände zu greifen oder jedes Detail der Szene zu explorieren ist sehr groß – so groß, dass man sich wundert, wenn man an sich herunterschaut und nur einen leeren roten Stuhl, statt seines eigenen Unterkörper sieht!
Oculus VR Share
Doch mit einer Demo alleine ist es nicht getan. Oculus VR ermöglicht die Verbreitung von Anwendungen und Spielen über Oculus VR Share. Hier gibt es eine sehr große Anzahl an Anwendungen, die speziell für die Brille konzipiert oder portiert wurden. Für diesen Artikel wurden nur wenige Anwendungen aus diesem Portal getestet, da dies erfahrungsgemäß viel Zeit benötigt. Auffällig war aber, dass zum gegeben Zeitpunkt noch relativ wenige Anwendungen an das neue DK2 mit dem SDK 0.4 angepasst wurden. Ein detaillierter Blick in dieses Angebot wird in späteren Artikeln folgen.
Entwicklung
Im Rahmen dieses Artikels interessiert viel mehr die Entwicklung eigener Software. Hierfür benötigt man grundlegend das Oculus SDK 0.4. Die Entwicklung für Oculus Rift wurde von Beginn an sehr stark von Unity 3D unterstützt und gefördert, weshalb direkt eine Unity 4 Pro Integration in Form eines Unity-Pakets heruntergeladen werden kann. Wie von Unity 3D erwartet, ist dann die Integration des HMDs sehr einfach gehalten. Sobald das Packet importiert wird, kann die Standardkamera mit einem speziellen „OVRCameraController“ ersetzt werden. Ohne zu detailliert auf die Evaluations-Anwendung eingehen zu wollen, stellt sich das Entwickeln für die Rift unter Unity als sehr effizient und durchdacht dar. Bei der Entwicklung von VR-Anwendungen spielt neben der reinen Software Entwicklung aber auch eine optimale User Experience (UX) eine enorm große Rolle.
User Experience
Das VR-konforme Entwickeln für HMDs birgt eine neue Herausforderung für Entwickler und User Experience Designer. Hierbei ist die größte Schwierigkeit, die Immersion maximal zu halten und somit den Nutzer bestmöglich in den virtuellen Raum abtauchen zu lassen. Als Einstieg in dieses Thema stellt Oculus VR einen Best Practices Guide zur Verfügung, der wichtige Aspekte erläutert. Beispielsweise warnt er eindringlich davor, den Blickwinkel des Nutzers (Kameraposition) unabhängig vom realen Blickwinkel per Software zu steuern. Sobald dies passiert, verliert der Träger sofort das Gefühl der Immersion und unter Umständen auch das Gleichgewicht, inklusive Wohlbefinden. Des Weiteren beschreibt er, dass Benutzeroberflächen immer in ca. 1,5 – 2 Meter Entfernung vom Nutzer positioniert werden sollten, um diese gut lesen und bedienen zu können.
Durch unsere Evaluation ist uns gerade im Kontext von User Interfaces eine eigentlich triviale aber dennoch hochinteressante Eigenschaft von HMDs bewusst geworden: Benutzeroberflächen sind nicht von einer bestimmten Pixelanzahl abhängig! Der Nutzer ist durch seine Kopfbewegung in der Lage in alle Richtungen zu schauen und somit beliebig große oder kleine Interfaces zu betrachten. Die eigentliche Pixelanzahl der Rift (960 x 1080) ist in diesem Kontext im wahrsten Sinne nur ein Indikator für die Schärfe des Bildes und nicht für dessen Ausbreitung.
Auch eine virtuelle Repräsentation des eigenen Körpers ist durchaus wichtig. Wie oben beschrieben wird dessen Fehlen den Nutzer überraschen und somit die Immersion stören. Das Fehlen der eigenen Hände hingegen ist tatsächlich sogar unangenehm und stellt ein echtes Problem für die User Experience dar. Interessanterweise haben sich die Entwickler der Leap Motion bereits mit diesem Problem beschäftigt und demonstrieren mit ihrem neuen SDK eindrucksvoll die Möglichkeiten einer Kombination aus Leap Motion und Rift. Sony hingegen löst diesen Nachteil mit ihren Move Controller.
Fazit
Mit dem DK2 und Unity 3D geht Oculus VR definitiv in die richtige Richtung. Wir sind in diesem Artikel bewusst nicht auf die hardwareseitigen Kinderkrankheiten eingegangen, weil das Produkt eindeutig als „Development Kit“ betitelt ist und wir auf Grund der technischen Sprünge zwischen DK1 und DK2 davon überzeugt sind, dass die Consumer-Version der Rift (Ende 2015/ Anfang 2016) technisch auf einem noch besseren Level sein wird.
Für uns steht das Evaluieren des SDKs und der User Experience im Vordergrund. Obwohl das VR-konforme Entwickeln für eine bestmögliche UX und Immersion durchaus eine Herausforderung ist, sehen wir auch über den Bereich des Gamings hinaus in der seriösen Industrie 4.0 ein großes Potential für HMDs. Die Immersion ist bewundernswert und Szenarien wie virtuelle Architektur- und Produkt-Präsentationen sowie komplexe Visualisierungen von Daten fassen sicherlich in der Industrie Fuß. Nicht ohne Grund haben Lehreinrichtungen und Unternehmen in den letzten Jahrzehnten in kostenintensive Systeme wie Caves und Powerwalls investiert. Ein HMD wie die Oculus Rift kann solche Systeme mit einem Bruchteil des finanziellen Aufwandes ersetzen und sogar für den Massenmarkt tauglich machen. Einziger Knackpunkt ist zurzeit noch das intuitive Interagieren im virtuellen Raum, was aber zum aktuellen Zeitpunkt schon mit Peripherie wie der Leap Motion und dem Move Controller ansatzweise gelöst werden kann.
Da die Entwicklung des Bereiches der modernen VR-Gadgets noch verhältnismäßig jung ist und dafür schon eindrucksvolle Ergebnisse vorhanden sind, haben nach unserer Einschätzung solche Geräte das Potenzial die „Mensch-Maschine-Kommunikation“ gravierend zu verändern. Wir sind gespannt auf die Zukunft!