Normal Maps sind ein faszinierendes Werkzeug in der Welt der digitalen Grafik und 3D-Modellierung. Sie gehören zur Familie der sogenannten Bump Maps und ermöglichen es, einer Oberfläche detaillierte Strukturen wie Beulen, Rillen oder Kratzer hinzuzufügen, ohne die zugrunde liegende Geometrie des Modells zu verändern. Stellen Sie sich vor, Sie möchten eine alte Metallplatte mit Nieten und Schrammen darstellen. Eine Methode wäre, jedes kleinste Detail als echte Geometrie zu modellieren, was jedoch zu einer extrem hohen Anzahl von Polygonen führen würde – oft unpraktisch und leistungshungrig.

Hier kommen Normal Maps ins Spiel. Sie sind eine spezielle Art von Textur, die das Licht so beeinflusst, als wären die Details tatsächlich physisch vorhanden. Das Modell selbst kann sehr einfach und polygonarm bleiben, während die Normal Map die Illusion von komplexer Oberflächentiefe erzeugt. Moderne Grafikhardware kann diese Art der Lichtmodulation extrem schnell berechnen, was Normal Maps zu einem unverzichtbaren Bestandteil realistischer Echtzeitgrafik macht, insbesondere in Videospielen und Echtzeit-Renderings.

Was sind Oberflächennormalen?
Um zu verstehen, wie Normal Mapping funktioniert, müssen wir zunächst klären, was eine „Normale“ ist und wie sie in der Echtzeitbeleuchtung verwendet wird. Im einfachsten Fall wird ein Modell beleuchtet, indem die Lichtreflexion basierend auf den Winkeln der Oberflächenpolygone zur Lichtquelle berechnet wird. Der Winkel einer Oberfläche wird durch eine Linie repräsentiert, die senkrecht von der Oberfläche wegzeigt. Diese Richtung (ein Vektor) wird als „Oberflächennormale“ oder einfach „Normale“ bezeichnet.
Betrachten Sie einen Zylinder. Wenn er mit flacher Schattierung (Flat Shading) gerendert wird, erscheint jede Polygonfläche einheitlich beleuchtet, da die Normale für die gesamte Fläche gleich ist. Dies führt zu sichtbaren, harten Kanten zwischen den Polygonen.
Beim Glättungsschattieren (Smooth Shading) hat der Zylinder zwar die gleiche Anzahl von Polygonen, aber die Schattierung erscheint glatt, als wäre die Oberfläche gekrümmt. Das liegt daran, dass die Oberflächennormale, die für die Lichtberechnung verwendet wird, sich über die Breite des Polygons allmählich ändert. Obwohl das Polygon selbst flach ist, wird das Licht so reflektiert, als wäre die Oberfläche an diesem Punkt gekrümmt. Bei dieser Technik werden die Normalenwerte typischerweise pro Eckpunkt (Vertex) gespeichert und zwischen diesen interpoliert, um die glatte Schattierung zu erzeugen.
Normal Mapping im Detail
Normal Mapping geht noch einen Schritt weiter als das einfache Glättungsschattieren. Anstatt die Normalen nur zwischen den Eckpunkten zu interpolieren, verwendet Normal Mapping eine Textur, um Informationen darüber zu speichern, wie die Oberflächennormalen auf Pixelebene modifiziert werden sollen. Eine Normal Map ist eine Bildtextur, die auf die Oberfläche eines Modells angewendet wird. Jeder Pixel in dieser Textur (Texel genannt) repräsentiert eine Abweichung der Oberflächennormalen von der „echten“ Normale des zugrunde liegenden Polygons.
Die Farben, die Sie in einer rohen Normal Map-Datei sehen, haben typischerweise einen bläulich-lila Stich. Das liegt daran, dass die Farben selbst nicht dazu gedacht sind, als Licht oder Schatten angezeigt zu werden. Stattdessen repräsentieren die RGB-Werte jedes Texels die X-, Y- und Z-Werte eines Richtungsvektors. Diese Vektoren werden verwendet, um die grundlegenden, interpolierten Normalen der Polygonoberflächen zu modifizieren. Das Ergebnis ist, dass das Licht an jedem Punkt der Oberfläche so reflektiert wird, als hätte die Oberfläche an dieser Stelle eine andere Neigung, wodurch die Illusion von feinem Detail wie Beulen, Rillen oder Vertiefungen entsteht.
Diese Technik beeinflusst nur die Berechnung der Lichtreflexion, nicht die tatsächliche Form des Modells. Aus bestimmten Blickwinkeln oder bei sehr flachen Blickwinkeln kann man daher erkennen, dass die Oberfläche eigentlich flach ist. Aus den meisten Betrachtungswinkeln erzeugt die Normal Map jedoch die überzeugende Illusion von Tiefe und Detail.
Normal Maps vs. Höhen-Maps
Normal Maps und Höhen-Maps (Height Maps) sind beide Arten von Bump Maps, die dazu dienen, scheinbare Details auf einfachen polygonalen Meshes darzustellen. Sie speichern die Informationen jedoch auf unterschiedliche Weise.
| Merkmal | Normal Map (RGB) | Höhen-Map (Graustufen) |
|---|---|---|
| Information | Richtung der Normale (X,Y,Z) | Relative Höhe/Tiefe |
| Farbdarstellung | Bläulich/Lila (Vektordaten) | Schwarz-Weiß (Helligkeitswerte) |
| Hardware-Unterstützung | Direkt von moderner Hardware bevorzugt und unterstützt | Muss oft in Normal Maps konvertiert werden |
| Dargestelltes Detail | Kann komplexere Richtungsänderungen darstellen (z.B. überhängende Lippen) | Nur relative Höhe/Tiefe; Detail ist weniger nuanciert |
Eine Höhen-Map ist eine einfache Schwarz-Weiß-Textur, bei der jeder Pixel angibt, wie stark dieser Punkt auf der Oberfläche angehoben oder abgesenkt erscheinen soll. Heller bedeutet höher, dunkler bedeutet tiefer. Eine Normal Map hingegen ist eine RGB-Textur, bei der jeder Pixel die Abweichung der Normalenrichtung vom ursprünglichen Normalenvektor darstellt. Die bläulich-lila Färbung kommt daher, wie diese Vektordaten in den RGB-Kanälen kodiert sind.

Moderne Echtzeit-3D-Grafikhardware ist auf Normal Maps optimiert, da diese direkt die Vektoren enthalten, die zur Modifikation der Lichtreflexion benötigt werden. Obwohl einige Software auch Höhen-Maps für Bump Mapping akzeptiert, werden diese intern oft zunächst in Normal Maps umgewandelt.
Wie werden Normal Maps erstellt?
Normal Maps werden typischerweise von 3D- oder Textur-Künstlern erstellt. Oft spiegeln sie das Layout der Farbtextur (Albedo Map) wider. Manchmal werden sie von Hand gemalt, aber der gängigste professionelle Ansatz ist das „Baking“ aus einem hochauflösenden 3D-Modell.
Beim Baking erstellt der Künstler zwei Versionen eines Modells: eine sehr hochauflösende Version mit allen Details als echte Geometrie (z. B. Falten, Knöpfe, Nieten) und eine deutlich niedrigauflösendere Version für die Verwendung in Echtzeitanwendungen (z. B. Spiele). Die Normal Map wird dann aus der hochauflösenden Version generiert und auf die niedrigauflösendere Version angewendet, um die Details der ersteren zu simulieren, ohne die Leistungseinbußen durch die hohe Polygonanzahl.
Normal Maps in Photoshop erstellen
Adobe Photoshop bietet(e) ebenfalls die Möglichkeit, Normal Maps direkt aus 2D-Bildern zu generieren. Dies ist nützlich, wenn Sie keine 3D-Modelle haben oder eine schnelle Normal Map für einfache Details auf einer flachen Oberfläche benötigen. Der Prozess ist relativ einfach:
- Öffnen Sie das Bild, aus dem Sie eine Normal Map erstellen möchten, in Photoshop. Dieses Bild sollte idealerweise die Höheninformationen als Graustufen oder Kontraste enthalten.
- Stellen Sie sicher, dass die Ebene mit dem Bild ausgewählt ist.
- Klicken Sie im Hauptmenü auf Filter > 3D > Normal Map generieren.
- Photoshop öffnet ein Dialogfenster, in dem Sie verschiedene Einstellungen vornehmen können, um die Normal Map anzupassen (z. B. Detailgrad, Skalierung, Konvexität/Konkavität umkehren). Experimentieren Sie mit diesen Einstellungen, bis das Ergebnis Ihren Vorstellungen entspricht.
- Bestätigen Sie die Einstellungen, um die Normal Map zu erstellen. Sie wird in der Regel als neue Ebene oder als neues Dokument generiert.
- Testen Sie die Normal Map, indem Sie sie in einer 3D-Anwendung oder einem 3D-Kontext (wie z.B. Photoshops 3D-Funktionen, solange sie noch verfügbar sind) verwenden, um sicherzustellen, dass die konkaven und konvexen Merkmale korrekt dargestellt werden.
Wichtiger Hinweis zu Photoshops 3D-Funktionen
Es ist sehr wichtig zu wissen, dass die 3D-Funktionen in Adobe Photoshop, einschließlich der Möglichkeit, Normal Maps zu generieren, schrittweise entfernt werden. Dies geschieht im Zuge der Abschaffung der zugrunde liegenden OpenGL/OpenCL 3D-Engine in Photoshop. Wenn Sie diese Funktion regelmäßig nutzen, sollten Sie in Erwägung ziehen, eine ältere Version von Photoshop beizubehalten, die diese Funktionen noch unterstützt, oder alternative Software für die Normal Map-Erstellung in Betracht ziehen.
Alternativen und Workflow
Da die 3D-Funktionen in Photoshop entfernt werden, wird es immer wichtiger, sich mit alternativen Methoden zur Erstellung von Normal Maps vertraut zu machen. Spezialisierte Texturierungssoftware wie Substance Painter, Substance Designer oder Quixel Mixer sind Industriestandards für das Erstellen komplexer Texturen, einschließlich Normal Maps, oft im PBR (Physically Based Rendering)-Workflow. Auch 3D-Modellierungssoftware wie Blender, Maya oder 3ds Max bietet leistungsstarke Tools zum Baking von Normal Maps von hoch- auf niedrigauflösende Modelle. Es gibt auch Online-Tools und eigenständige kleine Programme, die aus 2D-Bildern Normal Maps generieren können.
Anwendung von Normal Maps
Nachdem eine Normal Map erstellt wurde, wird sie in der 3D-Software oder Game-Engine in das Material des Modells geladen. Es gibt einen speziellen Slot im Material-Shader, der für die Normal Map vorgesehen ist (oft als „Normal Map“, „Bump Map“ oder ähnlich bezeichnet). Die Engine verwendet die Informationen in der Normal Map während des Renderings, um die Richtung der Oberflächennormale für jeden Pixel zu modifizieren, bevor die Lichtberechnung durchgeführt wird. Dies führt dazu, dass das Licht anders von der Oberfläche abprallt und die simulierte Tiefe sichtbar wird.
Das obige Beispiel mit der Steinmauer illustriert dies perfekt. Ohne Normal Map erscheint die Mauer flach, und die Lichtreflexionen sind gleichmäßig über die großen Polygonflächen verteilt. Mit der Normal Map fangen die Kanten der Steine, die dem Licht zugewandt sind, das Licht stark ein und werfen scheinbaren Schatten, während die Flächen, die vom Licht abgewandt sind, dunkler bleiben. Dieser Effekt passt sich dynamisch an, wenn sich die Lichtquelle oder die Kamera bewegt, wodurch die Illusion von echter 3D-Geometrie verstärkt wird.
Fortgeschrittene Anwendungen nutzen oft sogar sekundäre Normal Maps. Dabei wird eine zweite Normal Map mit einer feineren Skalierung oder einer anderen Art von Details (z. B. feine Kratzer oder Oberflächenrauhigkeit) über die Haupt-Normal Map gelegt. Dies ermöglicht es, sehr detaillierte Oberflächen zu erstellen, ohne eine einzelne, riesige Normal Map verwenden zu müssen, indem Details auf unterschiedlichen Skalen durch separate Texturen dargestellt werden.

Warum die bläuliche Farbe?
Die bläulich-lila Färbung von Normal Maps mag auf den ersten Blick seltsam erscheinen, aber sie hat einen technischen Grund. Die RGB-Farbwerte werden verwendet, um die X-, Y- und Z-Koordinaten des Normalenvektors zu speichern. Traditionell steht der blaue Kanal (B) für die Z-Achse, die oft als „nach oben“ relativ zur Oberfläche betrachtet wird. Die Werte in der Textur werden als Werte zwischen 0 und 1 gespeichert. Um jedoch Vektoren in alle Richtungen darstellen zu können (negative und positive X, Y, Z), werden die Vektorwerte (die typischerweise zwischen -1 und 1 liegen) skaliert und verschoben: Sie werden halbiert und dann wird 0,5 addiert. Umgekehrt muss man, um den Vektor aus dem RGB-Wert zu erhalten, den RGB-Wert mit zwei multiplizieren und dann 1 subtrahieren.
Ein RGB-Wert von (0,5, 0,5, 1) – was in hexadezimaler Darstellung #8080FF ist – ergibt nach der Konvertierung einen Vektor von (0, 0, 1). Dieser Vektor zeigt genau „nach oben“ (senkrecht zur unveränderten Oberfläche) und repräsentiert keine Änderung der Oberflächennormalen des Polygons. Dies ist die Farbe, die Sie in den flachen Bereichen einer Normal Map sehen, wo kein zusätzliches Detail simuliert wird. Jeder Pixel, der eine andere Farbe hat, repräsentiert einen Vektor, der in eine andere Richtung zeigt, wodurch der Winkel, der für die Lichtberechnung an diesem Punkt verwendet wird, modifiziert wird.
Beispielsweise könnte ein Wert wie (0,43, 0,91, 0,80) einen Vektor von (–0,14, 0,82, 0,6) ergeben, was eine deutliche Abweichung von der ursprünglichen Normalen darstellt. Solche Farben finden sich in den hellen cyanfarbenen Bereichen der Normal Map für die Steinmauer an den oberen Kanten der Steine. Diese Abweichungen führen dazu, dass diese Kanten das Licht in einem sehr anderen Winkel einfangen als die flachen Flächen der Steine, was die Illusion von scharfen Kanten und Tiefe erzeugt.
Häufig gestellte Fragen (FAQs)
Sind Normal Maps und Bump Maps dasselbe?
Nein, nicht ganz. Bump Map ist ein Oberbegriff für Techniken, die scheinbare Oberflächendetails durch Beeinflussung der Lichtberechnung erzeugen. Normal Maps sind eine spezifische *Art* von Bump Map, ebenso wie Höhen-Maps. Normal Maps sind in der modernen Grafik weiter verbreitet, da sie präzisere Richtungsdetails speichern können.
Brauche ich ein 3D-Modell, um eine Normal Map zu erstellen?
Professionell werden Normal Maps oft durch Baking von einem hochauflösenden 3D-Modell erstellt. Es ist jedoch auch möglich, Normal Maps aus 2D-Bildern oder Höhen-Maps zu generieren, wie es die (entfernte) Funktion in Photoshop oder andere Software ermöglicht. Die Qualität kann dabei variieren.
Kann ich Normal Maps aus Fotos erstellen?
Ja, einige Software kann versuchen, eine Normal Map aus einem regulären Foto zu extrahieren, indem sie Helligkeitskontraste analysiert. Allerdings funktioniert dies am besten, wenn das Originalfoto eine sehr gleichmäßige Ausleuchtung hat und keine eingebauten Schatten oder Highlights, da diese die Normal Map verfälschen würden.
Funktioniert die Normal Map Erstellung in der neuesten Photoshop-Version noch?
Leider nein. Die 3D-Funktionen in Photoshop, einschließlich der Generierung von Normal Maps, werden schrittweise entfernt und sind in den neuesten Versionen möglicherweise nicht mehr verfügbar oder funktionieren nicht zuverlässig. Dies liegt an der Umstellung auf neuere Technologien.
Fazit
Normal Maps sind ein leistungsstarkes Werkzeug zur Effizienzsteigerung in der 3D-Grafik. Sie ermöglichen die Darstellung komplexer Oberflächendetails auf einfachen Modellen, indem sie die Art und Weise modifizieren, wie Licht von der Oberfläche reflektiert wird, basierend auf Vektordaten, die in einer speziellen Textur gespeichert sind. Während Photoshop früher eine zugängliche Option zur Erstellung von Normal Maps aus 2D-Quellen bot, verschwindet diese Funktion zugunsten spezialisierterer 3D- und Texturierungssoftware. Das Verständnis des Konzepts hinter Normal Maps, ihrer Beziehung zu Höhen-Maps und ihrer Anwendung in 3D-Workflows bleibt jedoch für jeden, der sich mit digitaler Grafik beschäftigt, von entscheidender Bedeutung.
Hat dich der Artikel Normal Maps in Photoshop: Der Leitfaden interessiert? Schau auch in die Kategorie Ogólny rein – dort findest du mehr ähnliche Inhalte!
