Gamedev-Glossar Was ist Bump Mapping?

In diesem Artikel werde ich das Konzept von erläutern Bump-Mapping, mit einer praktischen und technischen Erklärung. Ich werde diese Technik auch mit Verschiebungskarten und normalen Karten vergleichen.


Was ist Bump Mapping??

Bump-Mapping ist eine Technik, die in Computergrafiken verwendet wird, um das Auftreten von Bumps und anderen derartigen Texturen auf einem Objekt zu generieren. Es ist tatsächlich ein gefälschter Effekt, da die Technik das tatsächliche Modell nicht ändert, sondern nur die Art und Weise, in der das Licht so berechnet wird, dass es vom Objekt reflektiert wird. Beispielsweise können Sie eine Relief-Map mit etwas Text haben, wodurch das Modell so erscheint, als wäre Text darin eingeprägt.

Eine der größten Einschränkungen bei der Verwendung dieser Technik besteht darin, dass sich der Schatten des Objekts nicht ändert, da die tatsächliche Geometrie gleich bleibt. Dies bedeutet, dass eine Bump-Map am besten zum Hinzufügen von mehr geeignet ist Detail zu einem Modell. EIN Verschiebungskarte, Andererseits kann dieselbe Textur verwendet werden, um die tatsächliche Geometrie zu ändern.

Hier ist ein Beispiel der beiden Techniken:


Die linke Kugel verwendet eine Reliefkarte. die rechte verwendet eine Verschiebungskarte.

Was ist eine Reliefkarte??

Eine Reliefkarte wird durch eine Graustufen-Textur oder a dargestellt Höhenkarte wie es heißt, das in einem Material enthalten sein kann (genau wie andere Kartentypen: Diffuse Map, Normal Map, Specular Map usw.).

Eine Bump-Map kann mit einer beliebigen Fotobearbeitungssoftware erstellt werden (ich verwende Photoshop), die einen Pinsel enthält oder Rauschkarten erzeugen kann. Wenn Sie beispielsweise Photoshop verwenden, können Sie eine neue Datei erstellen und mit einem Graustufenpinsel darauf zeichnen. Je dunkler Sie malen, desto mehr Auswirkungen wird sie auf Ihre Textur haben, und sie als JPEG speichern.

Hier sind zwei Beispiele für Reliefkarten-Texturen:


Lärmschutzkarte
Photoshop-Reliefkarte

Sie fragen sich vielleicht, was der Unterschied zwischen diesem und ist normales Mapping. Die beiden Techniken sind ähnlich; Normales Mapping wird eigentlich von Bump-Mapping abgeleitet, verwendet jedoch einen anderen Algorithmus, um die Beleuchtung des Modells zu berechnen. Heutzutage ist normales Mapping die am häufigsten verwendete Methode, insbesondere bei Spielen, aber es ist etwas schwieriger, diese Art von Map zu erstellen.


Technisch

Wie diese Karte die Berechnung der Beleuchtung beeinflusst, ist ziemlich einfach. Jeder Scheitelpunkt eines Modells hat seinen eigenen normaler Vektor (im Wesentlichen eine Linie, die direkt vom Vertex nach außen zeigt). Wenn Sie also etwas erstellt haben und Sie es ohne Karten rendern, sind dies die Normalen, mit denen die Schatten auf Ihrem Objekt berechnet werden.

Wenn Sie eine Bump-Map hinzufügen, berechnet der von Ihnen verwendete Renderer die Normalen der durch die Scheitelpunkte der Bump-Map geänderten Scheitelpunkte und projiziert die Lichtstrahlen (wenn Licht emittiert wird, werden mehrere Strahlen projiziert). Es gibt unterschiedliche Schatten, da sich die Normalen geändert haben.

Hier ist ein Bild, um diese Berechnung zu erklären:


Berechnung der Beleuchtung

Das erste Bild zeigt zwei Eckpunkte (Ecken) mit jeweils einer Normalen (die roten Linien). Die schwarzen Linien repräsentieren das Netz des Objekts. Wenn der Lichtstrahl (die gelbe Linie) das Netz trifft, springt er in einem bestimmten Winkel ab, der mit der Normalen berechnet wird.

Wenn ich die Bump-Map mit dem von mir erstellten Netz (wie im unteren Bild) zum Modell hinzufügte, wird das Licht, das abprallt, basierend auf der Kombination der beiden normalen Maps geändert, so dass der Renderer detaillierter aussieht.

Ich hoffe, Sie haben jetzt das Gefühl, Sie verstehen das Bump-Mapping besser! Wenn Sie Fragen haben, schreiben Sie diese bitte in den Kommentarbereich. Ich werde versuchen, sie zu beantworten.