Im Zuge eines aktuellen Projektes habe ich mich das erste Mal etwas näher mit Shadern beschäftigt und muss immer wieder fasziniert feststellen, was für Effekte damit eigentlich möglich sind. In den meisten Fällen reichen für erste Ergebnisse oder Prototypen die Unity Standard-Shader aus. Jedoch sobald man etwas speziellere Anforderungen hat oder besondere Effekte erzielen möchte stößt man hier schnell an die Grenzen.

Eine solche Grenze, auf die die meisten VR-Entwickler in den Anfängen vermutlich irgendwann stoßen werden ist das Rendern von Objekten "von Innen". Warum von Innen? Nun - wenn man beispielsweise eine 360°-Bild oder -Video betrachten will, dann wird dieses Bild in den meisten Fällen auf das Innere einer Kugel oder eines Würfels projiziert (texturiert) und in der Mitte der Kugel befindet sich die VR-Kamera die den jeweiligen Bildausschnitt entsprechend der Kopfbewegung des Nutzers abfilmt.

Wer also eine Sphere (für Equirect Panos) oder auch einen Cube (für Cubemaps) von Innen rendern möchte, um darin eine VR-Kamera zuplatzieren, der kann in fast jeden Shader die Zeile "Cull Front" hinzufügen, damit die Innenseiten anstatt der Außenseiten gerendert werden.

Noch ein Tipp: Die standard Unity Sphere hat keine so grandiose Auflösung (zu wenig Polygone) sodass gegebenenfalls Bildfehler, wie z.B. hässliche Kanten, sichtbar werden. In diesem Fall hilft es eine höher aufgelöste Sphere herunterzuladen (oder selbst mit einem 3D-Programm zu erstellen) oder statt einer Sphere Cubemaps zu verwenden, die ohnehin eine höhere Auflösung erzielen können.