Ich versuche da mal etwas Licht ins Dunkel zu bringen. Dafür brauchen wir aber ein bisschen Mathe: Die Meshes bestehen ja normalerweise aus sehr vielen kleinen Flächen (meist Dreiecke), die irgendwie nebeneinandergereiht werden. Jedes dieser Dreicke hat eine sog. "Normale" (oder auch "Normalenvektor"; das ist quasi ein Pfeil, der senkrecht auf jedem Dreieck steht und nach außen zeigt) :
(Quelle: Wikipedia: https://upload.wikimedia.org/wikiped...alenvektor.png)
Die Normale wird für die Lichtberechnung genutzt; aus dem Physikunterricht kennt man vielleicht noch "Einfallswinkel = Ausfallswinkel" (beide Winkel zur Normalen gemessen), wenn ein Lichtstrahl auf eine Fläche trifft und von dort reflektiert wird (die untere Hälfte des Bildes einfach ignorieren; die brauchen wir hier nicht) :
(Quelle: Wikipedia: https://de.wikipedia.org/wiki/Datei:Reflexion.svg)
Die Lichtberechnung ist natürlich wesentlich komplexer - aber zum Verstehen sollte diese Intuition ausreichen. Mit einer Normalmap werden die Normalen nachträglich für die Lichtberechnung manipuliert: Die Position der Dreiecke hat sich nicht geändert, aber die Normalen stehen jetzt nicht mehr genau senkrecht auf den Dreiecken. In dem Bild hier kann man sich vorstellen, dass die Normale etwas auf die Seite gekippt wird.
Damit ändert sich auch die Lichtberechnung (weil sich eben der Einfallswinkel zur Normalen dadurch ändert). Dadurch erhält man dann beispielsweise solche Schatteneffekte wie auf den Bildern oben.









Zitieren