Zum Hauptinhalt Zur Navigation

Entwickeln für Oculus Rift DK2: "Enthauptet die Katze und hängt sie an den Haken!"

GDC Europe 2014
Wer Spiele für das Oculus Rift erstellt, der muss vieles beachten, und noch häufiger gilt: "Macht das nicht!" Ein Trick bei der Programmierung ist zudem die kopflose Katze als Animationshilfe.
/ Marc Sauter
41 Kommentare News folgen (öffnet im neuen Fenster)
Körperbewegungen sind mit auf Größe 0 verkleinertem Kopf am einfachsten umzusetzen. (Bild: Marc Sauter/Golem.de)
Körperbewegungen sind mit auf Größe 0 verkleinertem Kopf am einfachsten umzusetzen. Bild: Marc Sauter/Golem.de

Den Preis für den unterhaltsamsten und zugleich informativsten Beitrag zur GDC Europe 2014 würden wir gerne Tom Forsyth von Oculus VR überreichen. Der Grafikprogrammierer ist erst ein Jahr beim VR-Pionier und erläuterte den Präsentationspunkt Übernahme durch Facebook mit einem grinsenden "und dann kamen wir zu Geld" .

Oculus Rift Development Kit 2 ausprobiert (1080p)
Oculus Rift Development Kit 2 ausprobiert (1080p) (01:45)

Zwar steht bei Oculus VR der regelmäßig überarbeitete Best Practices Guide(öffnet im neuen Fenster) bereit, um für das Head Mounted Display zu programmieren, die Arbeit ist aber auch mit dieser Anleitung anspruchsvoll: So müssen Entwickler bedenken, dass ihre Gehirne durch die tägliche Arbeit an das Rift gewöhnt sind, die der Spieler aber sind noch "frisch und unschuldig" , so Forsyth. Folgerichtig sollten die Studios beispielsweise keine überbordenden Partikeleffekte programmieren.

Problematisch sind außerdem externe Faktoren wie der Abstand der Augen zur Nase: Sind diese Parameter nicht korrekt eingestellt, fühlt sich die virtuelle Welt fehlerhaft an. Nur wenn der Augenabstand richtig gewählt ist, kann das Rift-SDK mit dem Mittelwert arbeiten. "Aber Vorsicht: Niemals, wirklich niemals sollt ihr die Kamera steuern – das darf nur der Spieler!" , sagt Tom Forsyth.

Sollte dennoch einmal die Perspektive vom Entwickler übernommen werden, dann am besten per Blinzeln: Der Spieler steht vor einem Auto, das Bild wird kurz schwarz und er sitzt hinter dem Steuer. Hier fühlt sich die virtuelle Realität sofort besser an.

"Wer mit dem Rift spielt, läuft nicht herum, sondern hockt auf einem Stuhl" , sagt Forsyth. "Das Gehirn weiß das, deswegen versucht das Gehirn, die Spielgrafik automatisch zu verkleinern."

Animationen aus der Egoperspektive

Eine ähnliche Problematik ist die Größe des Spielers: Jeder hat seinen individuellen Blick auf die echte Welt, in der virtuellen ist es also wichtig, dies zu berücksichtigen – daher gibt es im SDK eine entsprechende Option. Basierend auf diesem Wert errechnet die Software den Abstand zwischen Augen und Boden.

Wer übrigens nach unten schaut, sollte im Idealfall in der virtuellen Realität einen Körper sehen. Um hier Animationen wie das Nachladen einer Waffe darzustellen, hilft der "Fleischerhaken Avatar"-Trick: Als Beispiel dient eine tanzende Katze, die mit dem Kopf wippt und ihre Pfoten in die Luft wirft.

Hier gilt es, dem animierten Skelett einen Knochen als Augenmitte zu verpassen, diesen als Kamera zu fixieren und anschließend die Kopfgröße auf den Faktor Null zu minimieren, damit sich der Schädel nicht ins Blickfeld bewegt. Ansonsten würde der Spieler beim Abspielen der Animation seines Avatars dessen Zähne oder Augäpfel aus dem Inneren des Kopfes heraus sehen.

Bewegt sich der Körper mit fixierter Augenmitte, so bleibt der Kopf immer an der gleichen Stelle – ganz so, als sei die nun "enthauptete" tanzende Katze an einem Haken aufgehängt. Aus Sicht des Spielers wirken die Bewegungen mit diesem kleinen Trick natürlich. "Ach ja, versucht das bitte, bitte nicht bei Titeln mit Schulterperspektive, sondern nur bei First-Person-Sicht!" , ergänzt Forsyth mit gequältem Lächeln.

Als letzten wichtigen Faktor führt der Grafikprogrammierer die Bildrate an: Da das Rift DK2 mit 75 Hertz läuft, sollten es auch immer 75 fps sein. Aufgrund der dreidimensionalen Stereosicht verdoppeln sich die Draw Calls, weswegen Forsyth das Mantle -API empfiehlt, auch DX12 sei eine Option.

Der Render-Buffer pro Auge darf flexibel angepasst werden, er ist ohnehin deutlich größer als der finale 1080p-Framebuffer. Gerade bei vielen Effekten im Bild ist dieser Trick eine gute Wahl. "Ich weiß, das waren sehr viele Folien mit sehr viel Text – daher lege ich allen den Best Practices Guide ans Herz, der hat nur 51 Seiten" , beendet Forsyth seinen Vortrag.


Relevante Themen