Lupo_3L_

Normalmaps Photoshop

Die Informationen sind aus diesem Artikel entnommen: http://www.rodgreen.com/?p=4

Zum Verständnis der Funktionsweise einer Normalmap

Eine Normalmap ist eine farbige Grafik auf Basis des RGB System.

Sie wird genutzt um Detailstrukturen darzustellen, die über den Detailgrad des Meshes gehen.

 

Die Funktionen der einzelnen Farb-Channels

R:

  • Der Rotkanal wird für positive und negative X - Werte genutzt.
  • für die maximale negative X Position (kurz geschrieben X-1) ist der Channelwert 0
  • für die normale X Position (kurz geschrieben X 0) ist der Channelwert 127
  • für die maximale positive X Position (kurz geschrieben X+1) ist der Channelwert 255

G:

Der Grünkanal wird für positive und negative Y - Werte genutzt. Leider ist die Nutzung der Y - Koordinaten nicht so genormt wie es bei den X - Koordinaten der Fall ist. Unterschiedliche Programme nutzen Y+ oder eben die invertierte Variante Y-

In beiden Fällen gilt:

  • für die normale Y Position (kurz geschrieben Y 0)

ist der Channelwert 127

Y+:

  • für die maximale negative Y Position (kurz geschrieben Y-1) ist der Channelwert 0
  • für die maximale positive Y Position (kurz geschrieben Y+1) ist der Channelwert 255
  • Y-:
  • für die maximale negative Y Position (kurz geschrieben Y-1) ist der Channelwert 255
    • für die maximale positive Y Position (kurz geschrieben Y+1) ist der Channelwert 0

B:

Der Blaukanal wird nur für positive Z - Werte genutzt. im Unterschied zu den anderen Channel´s wird das gesamte Spektrum von 0-255 nur für den positiven Bereich von Z genutzt.

 

  • für die normale Z Position (kurz geschrieben Z 0) ist der Channelwert 0
  • für die maximale positive Z Position (kurz geschrieben Z+1) ist der Channelwert 255

Da man bei dem Wert 0 keine Wirkung der Normalmap erziehlt ist der Standartwert 255.

 


 

Verschiedene Normalmaps zusammenfügen:

Ausgangs Position: - Normalmap_A - Normalmap_B


Normale Photoshop Blendmethoden Addieren, Multiplizieren oder Subtrahieren.

Da aber in X und Y, positive als auch negative Informationen enthalten sein können,

würde so eine einfache Operation zu einer falschen Darstellung führen.

 

Der erste Schritt muss also sein, das Bild in negative und positive Informationen zu zerlegen.

Dafür erstellt man ein Duplikat der Normalmap in einer eigenen Ebene. Dupliziert die Ebene Normalmap_A und benennt sie z.b. "NormalMapA_Add" , die Ursprungsebene ändern in z.b. "NormalMapA_Sub"

Entferne negative Werte von der "NormalMapA_Add":

Tonwertkorektur

  • Setze den roten Kanal auf '128' '1.00' '255'
  • Setze den roten Output Level auf '128' '255'
  • Setze den grünen Input Kanal auf '128' '1.0' '255'
  • Setze den grünen Output Level auf '128' '255'
  • Setze den blauen Output Level auf '0' '0' (dieses blendet ihn ganz aus)

 

Entferne positive Werte aus der Ebene "NormalMapA_Sub":

Tonwertkorektur

  • Setze den roten Kanal auf '0' '1.00' '127'
  • Setze den roten Output Level auf '0' '127'
  • Setze den grünen Input Kanal auf '0' '1.00' '127'
  • Setze den grünen Output Level auf '0' '127'

Zweiter Schritt: Ebenenwerte ans Offset anpassen:

Um das Offset zu erreichen, muss dieses dem Sublayer hinzugefügt werden und gleiches vom Addlayer abgezogen werden.

 

Ebene "NormalMapA_Sub" ans Offset angleichen:

im Kanalmixer 'Outputchannel Rot' auswählen und diese Werte eintragen

  • rot auf -100%
  • grün auf 0%
  • blau auf 0%
  • Setze den Constant auf +50%

 


Im 'Output Channel Grün' diese Werte eintragen:

  • rot auf 0%
  • grün auf -100%
  • blau auf 0%
  • Setze den constant auf +50%

Im 'Output Channel Blau' diese Werte eintragen:

  • rot auf 0%
  • grün auf 0%
  • blau auf -100%
  • Setze den constant auf 100%

Convert "NormalMapA_Add" to Offset Values:

Im kanalmixer 'Output Channel Rot' auswählen und diese Werte eintragen:

  • rot auf +100%
  • grün auf 0%
  • blau auf 0%
  • Setze den constant auf -50%

 

Im 'Output Channel Grün' diese Werte eintragen

  • rot auf 0%
  • grün auf +100%
  • blau auf 0%
  • Setze den constant auf -50%


In 'Output Channel Blau' diese Werte eintragen

  • rot auf 0%
  • grün auf 0%
  • blau auf +100%
  • Setze den constant auf 0%

 

Ebenen blend modifier

Ebene "NormalMapA_Add" blend mode auf 'Linear Dodge'

Ebene "NormalMapA_Sub" blend mode auf 'Difference'

 

Normal blending.psd

Geteilte Edges mit unterschiedlichen Normalausrichtungen im UV - Space

Bei geteilten UV - Layouts kann es zu Darstellungsfehlern der Normalmap kommen. wenn die Schnittkannten der UVs nicht gleiche oder direkt anliegende Farbwerte erhalten.

 

Normalmap Baking

UV - Koordinaten

mehrfach oder überlagernde UV - Spaces führen zu Fehldarstellungen. Alle überlagernde UV - Bereiche müssen vor dem Normalbaken aus der 0-1 UV - Box ausgelagert werden. Um Überlagernde Bereiche schnell aus zu wählen bietet 3dsmax die Funktion:
Select Inverted Faces

(Achtung Select invertiert nur Faces die exakt übereinander liegen, bei kleinsten Verschiebungen werden die Faces nicht mehr berücksichtigt)
Select overlapped Faces

Nun können die selektierten Faces aus der 0-1 UV - Box in z.b. die 1-1 UV - Box, mit Hilfe des Offset Tool (siehe Bild) verschoben werden.

Smoothing Groups oder Hard Edges

Wenn das Low - Poly - Mesh mehrere Smoothing Groups hat, kann es zu Darstellungsfehlern in der Normalmap kommen. Da die Schnittkanten der einzelnen Smoothing Groups in unterschiedlichen Winkeln auf das High - Poly zeigen.

pinterest car ui

pinterest Maya

pinterest design

pinterest generic-forms