Tutorial: Normalen Backen in Blender Internal

Mit Normal Maps kann man Modellen den Anschein von viel mehr Details geben, als durch die reine Geometrie möglich wäre. Normal Maps zu zeichnen ist sehr schwierig, aus hochaufgelösten Modellen lassen sie sich aber sehr einfach erstellen. Dieser Vorgang nennt sich backen, Frederik Steinmetz zeigt ihn euch mit dem Blender-internen Renderer.

Dies ist Teil 1 einer zweiteiligen Serie, in der Frederik Steinmetz zeigt, wie man Normalen mit Blender Internal und mit Cycles backen kann. Die Herangehensweisen unterscheiden sich deutlich, beide haben jeweils ihre Vor- und Nachteile.

Was sind eigentlich Normalen?

Als ich angefangen hatte, Blender zu nutzen, las ich überall von sogenannten "Normalen". Alles was ich darüber wusste war jedoch, dass wenn man seltsame schwarze Stellen auf einem Objekt hat, man den Fehler beseitigen kann, indem man in den Edit-Mode geht und die Normalen mit STRG+N neu berechnen lässt. Aber dann sind sie mir bei Partikel-Systemen, Textur-Inputs, Normal Maps usw. begegnet.

Was sind also diese "Normalen"? Lass uns hier ein wenig mathematisch werden. Man kann den Winkel, in dem ein Lichtstrahl auf eine Oberfläche trifft, nicht direkt berechnen. Nimm einen Stift und halte ihn so, dass ein Ende ein Blatt Papier berührt. Es gibt dann eine unendliche Anzahl an Winkeln, die man messen könnte (Abb. 1, links). Wie entscheidet man sich für einen dieser Winkel? Die Antwort liegt in den Normalen unseres Blatt Papiers. Wenn man das Ende des Stifts exakt nach oben zeigen lässt, haben all seine Winkel die gleiche Größe: 90°. Es ist ein rechter (oder auch normaler) Winkel. Die Normale einer Fläche ist also eine Linie, die senkrecht zu ihr steht. Es ist sehr einfach möglich, den Winkel zwischen zwei Linien zu berechnen. Wenn also ein Lichtstrahl eine Oberfläche trifft, dann wird seine Richtung mit der Normalen der Fläche verglichen. Das weitere Verhalten des Lichtstrahls wird dann anhand dieses Winkels berechnet. Kurz: Normalen bestimmen, wie eine Fläche aussieht.

Abb. 1) Wie man den Winkel, in dem ein Strahl auf eine Fläche trifft, berechnen kann.

Man kann die Richtung der Normalen an beliebigen Punkten eines Modells ändern, indem man Vektor-Informationen über Farb-Texturen hinzufügt. In Cycles wird das gemacht, indem man eine Normal Map in eine Image Texture-Node lädt und diese auf Non-Color-Data einstellt. Die Informationen müssen aber noch in das Cycles-interne Format konvertiert werden, dafür muss eine Normal Map-Node (zu finden unter "Vector") hinzugefügt werden. Der Farb-Ausgang der Image Texture-Node muss dann mit dem Farb-Eingang der Normal Map-Node verbunden werden. Der Vector-Ausgang der Normal Map-Node muss mit dem Normal-Eingang eines Shaders verbunden werden (siehe Abb. 2).

Abb. 2) Das Node-Setup, um Normal Maps in Cycles nutzen zu können.

 

Der Effekt von Normal Maps kann sehr gut wirken, wenn man die Flächen von einem steilen Winkel aus betrachtet. Bei sehr flachen Winkeln fliegt der Trick allerdings auf:

 example normal map cycles

Abb. 3) Unten: Ein Beispiel einer Normal Map, die in Blender Internal gebacken wurde. Sie wurde erstellt, indem einfache Flächen unter die Treppenstufen gestellt wurden. Die hochauflösende Geometrie wurde dann als Normal Map auf die Flächen gebacken. Oben links: Eine Szene, in der die Erhebungen modelliert wurden, sie beinhaltet 270.000 Polygone. Oben rechts: Diesselbe Szene mit einer Normal Map und nur 930 Polygonen. Bei sehr flachen Winkeln erkennt man, dass dort keine Geometrie vorhanden ist.

Die Bilder und Beschreibungen zum Thema Normalen sind auf Deutsch übersetzte Auszüge aus dem Buch The Cycles Encyclopedia, von Frederik Steinmetz und Gottfried Hofmann.