Die Erstellung von Normalmaps

Anwendung

Jeder der sich mit 3D beschäftigt, hat normalerweise schon mal eine Normalmap gesehen. Sie sehen recht komisch aus, da sie aus Blau- und Violetttönen bestehen.

Normalmaps sind ganz bestimmte Texturen. Sie dienen dazu, Details hinzuzufügen ohne dass die Polygonanzahl erhöht werden muss. Dies bewirken die Normalmaps, indem sie die für die Beleuchtung relevanten Informationen ändern. Das funktioniert so, dass die Ausrichtung der Normalen eines hochauflösenden Meshes über eine Textur auf die eines niedrig aufgelösten Meshes übertragen wird.
Der große Nachteil von Normalmaps besteht darin, dass ihr Einfluss stark vom Winkel des Betrachters abhängig ist. Nähert sich der Winkel der zu betrachteten Fläche 0° nimmt der Effekt immer stärker ab. Wenn der Winkel Null beträgt, verschwindet der Effekt der Normalmap komplett.
Normalmaps werden hauptsächlich im Bereich der Echtzeit Grafik verwendet.

Erstellung

Bevor man eine Normalmap erstellen kann, muss das low poly Mesh erst mal „unwrappen“. Dazu gibt es demnächst auch ein Tutorial.
Normalmaps zu erstellen ist nicht gerade schwer. Man benötigt dafür ein Mesh mit einer geringen Polygonanzahl und eins mit einer hohen. Beide Meshes sollten sehr ähnlich sein. Wenn man nur ein low poly Mesh hat, muss man damit noch weiter arbeiten, indem man eine Kopie davon erstellt und weitere Details modelliert. Dies geht am einfachsten über das Sculpting Tool. Wenn man zwei verschiedene Meshes hat, muss man den Unterschied der Normalen „baken“. Als erstes muss man eine leere Textur für das niedrig aufgelöste Mesh erstellen. Dies macht man im UV/Image Editor, wenn man das low poly Mesh selektiert hat und sich im Edit Mode befindet.

Bevor man beginnt die Normalmap zu „baken“, sollte man bei beiden Meshes in den Edit Mode gehen, alle Vertices selektieren und danach Shades Smooth aktivieren. Dies findet man im Menü Specials, das man über die Taste W aufruft. Danach müssen beide Meshes in der richtigen Reihenfolge selektiert werden, sonst funktioniert es nicht. Als erstes muss das high poly Mesh selektiert werden und danach das low poly Mesh. Am besten funktioniert das über den Outliner. Dann muss im Renderpanel unter „Bake“ Normalmaps ausgewählt werden. Die Einstellung Tangent die nun darunter auftaucht ist schon richtig, man muss nur noch den Haken bei der Einstellung „Selected to Active“ setzen.

Wenn man die Normalmap nun „baked“, schreibt Blender die Informationen in die leere Textur. Zur Sicherheit sollte man die Textur danach speichern.

Benutzung

Um die Normalmap zu nutzen, muss man erst mal ein Material und eine Imagetextur für das low poly Mesh erstellen. Das high poly Mesh kann man dann löschen oder verstecken und vom Rendern ausschließen. Als nächstes muss die gerade erstellte Normalmap als Image-Texture geladen werden. Nun muss man die Einstellungen so ändern, dass die Textur nicht als Farbtextur genutzt wird, sondern um die Normalen zu ändern. Dafür muss man in den Textureinstellungen unter Influence den Haken bei Color raus nehmen und stattdessen einen Haken bei Normal setzen. Der Wert daneben gibt an, wie stark die Normalmap das Mesh beeinflusst. Danach ist man so gut wie fertig.

Es fehlt nun nur noch ein gutes Lichtsetup, damit die Normalmap auch wirkt. Dafür bietet sich zum Beispiel eine Studio Beleuchtung an.

Advertisements
Dieser Beitrag wurde unter Blender, Tutorials abgelegt und mit , , , , verschlagwortet. Setze ein Lesezeichen auf den Permalink.

Eine Antwort zu Die Erstellung von Normalmaps

  1. chrizzi95 schreibt:

    CoolCool, mit den bildern dazu, gut veranschaulicht 😉

    http://wowraid85.wordpress.com/ <——— Auch Cooler Blogg

Kommentar verfassen

Trage deine Daten unten ein oder klicke ein Icon um dich einzuloggen:

WordPress.com-Logo

Du kommentierst mit Deinem WordPress.com-Konto. Abmelden / Ändern )

Twitter-Bild

Du kommentierst mit Deinem Twitter-Konto. Abmelden / Ändern )

Facebook-Foto

Du kommentierst mit Deinem Facebook-Konto. Abmelden / Ändern )

Google+ Foto

Du kommentierst mit Deinem Google+-Konto. Abmelden / Ändern )

Verbinde mit %s