Bump Map Vs. Normale Karte: Unterschiede, Anwendungen, Verwendung – 3DBiology.com

Bump-Mapping und normales Mapping sind zwei verschiedene Methoden, um dasselbe zu tun: die Illusion einer Oberflächentextur in einem visuellen Computermodell zu erzeugen.

bump-vs-normal-map-1

Diese Methoden sind nützlich, um zu wissen, ob Sie Videospielcharaktere erstellen oder 3D-Animationen rendern.

Bump Maps erzeugen ein Graustufenbild, sodass dunkle Flecken tiefer erscheinen und Kontrast für hellere „Unebenheiten“ bieten.“ Normale Karten verwenden eine RGB-Skala, um 3D-Vektornormalen auf die 3D-Oberfläche abzuleiten. Dies bringt das gerenderte Licht dazu, Lichter und Schatten zu erzeugen. Beide Methoden lassen die Geometrie unverändert.

Wenn Sie die Unterschiede zwischen diesen beiden Techniken kennen, können Sie feststellen, welche für die jeweilige Anwendung besser geeignet ist. Lesen Sie weiter, um mehr über beide zu erfahren, damit Sie sie Ihrer Trickkiste hinzufügen können.

Der Hauptunterschied besteht in der Beleuchtung

Das Ziel dieser beiden Karten ist es, einer Oberfläche die Illusion von Textur auf einer Oberfläche ohne Textur zu verleihen. Dies ist für Videospiele von Vorteil, da das Netz des Modells nicht so fein sein muss, dass alle kleinen Details wie eine Verschiebungskarte physisch erfasst werden.

Die Karte erzeugt diese Illusion, indem sie die Art und Weise verzerrt, wie das gerenderte Licht mit einer Oberfläche interagiert. Dies ist auch der Punkt, an dem die Bump-Map einschränkend werden kann, je nachdem, welchen Detaillierungsgrad Sie erreichen möchten.

  • Eine Bump-Map teilt dem Renderer mit, welche Bereiche einer Oberfläche heller und welche dunkler sind, unabhängig von der Richtung der Lichtquelle.
  • Eine Normalenkarte bezieht künstliche Oberflächennormalen auf den Rest des 3D-Raums und bestimmt mathematisch, wie die Textur mit der gerenderten Lichtquelle interagiert.

Das Ergebnis ist also in beiden Fällen, dass eine geometrisch glatte Form eine sehr detaillierte Oberflächenstruktur zu haben scheint. Die Bump-Map beginnt jedoch zu schwanken, wenn das strukturierte Objekt aus verschiedenen Blickwinkeln betrachtet wird. Die wahrgenommene Textur wird wahrscheinlich nicht glaubwürdig mit dem Umgebungslicht interagieren.

Um dies besser zu verstehen, werfen wir einen Blick darauf, wie jede Methode beim Rendern von Texturen abläuft.

Eine Bump Map verwendet eine festgelegte Graustufe, um die Höhe zu manipulieren

Wenn Sie eine Bump Map erstellen oder nur eine betrachten, sehen Sie ein Schwarzweißbild. Da ist nichts mehr dran. Im Wesentlichen verwendet die Karte diese Graustufen, um der Rendering-Engine mitzuteilen, welche Flecken hell und welche Flecken dunkel sind.

  • Schwarze Bereiche auf der Karte zeigen dunkle oder „eingesunkene“ Stellen auf der Oberfläche an
  • Weiße Bereiche auf der Karte zeigen hervorgehobene oder „hervorstehende“ Stellen auf der Oberfläche an
  • Und jeder Grauton dazwischen wirkt entsprechend.

Die meisten Rendering-Engines tun dies, indem sie den Grauton mit dem Normalenvektor der Oberfläche in Beziehung setzen. Da die normalen Vektoren so sind, wie die Rendering-Engine die Oberfläche „sieht“, ist dies eine Möglichkeit, sie zum Rendern von Texturen auf einer tatsächlich glatten Oberfläche zu verleiten.

Die Beziehung zwischen Graustufen und Flächennormale ist als solche:

  • Schwarz = Tangente an Fläche
  • Weiß = normal an Fläche

Und jeder Grauton dazwischen ändert den Winkel des Normalenvektors. Dies ist raffiniert, da das Graustufenbild als Übersetzer zwischen dem menschlichen Spieledesigner, der ein Bild in Schwarz & Weiß sieht, und der Rendering-Engine, die ein Bild in Bezug auf Oberflächennormalen sieht, fungieren kann.

Nun, wie bereits erwähnt, gibt es einen Mangel an dieser Methode, da es sich um Beleuchtung handelt. Die Bump-Map legt eine feste Flächennormalverteilung fest. Mit anderen Worten, es werden nur lokale Lichteffekte erzeugt. Der Rendering-Engine wird nur mitgeteilt, welche Bereiche der Oberfläche im Verhältnis zu sich selbst dunkler sind als andere.

Die Bump-Map bietet der Rendering-Engine also nicht genug, um zu berücksichtigen, woher die globale Lichtquelle in Bezug auf die Details auf einer Oberfläche kommt. Dies könnte zu einer Situation führen, in der die Schatten einer Oberfläche tatsächlich der Lichtquelle zugewandt sind und die Lichter dort sind, wo Sie die Schatten erwarten würden.

Wenn der Endbenutzer Schatten sieht, wo sein Auge Glanzlichter erwartet, finden sie die Grafiken möglicherweise weniger glaubwürdig. Dies bedeutet jedoch nicht, dass Bump Maps völlig veraltet sind. Sie können alleine oder in Verbindung mit anderen Karten verwendet werden, um das Gesamt-Rendering wirklich zu verbessern. Wir werden uns ein wenig mit einigen Best Practices befassen, aber zuerst ein wenig mit normalen Karten und deren Interaktion mit der Beleuchtung.

Eine normale Karte verwendet RGB, um das Licht zu manipulieren

Wie bereits erwähnt, können normale Karten die globale Beleuchtung besser in die wahrgenommene Oberflächentextur eines Objekts integrieren.

Sie tun dies, indem sie der Rendering-Engine eine dritte Information oder einen dritten Farbkanal zur Verfügung stellen. Im Gegensatz dazu bietet eine Bump Map technisch nur zwei zu verwendende Farbkanäle; schwarz oder weiß. Bei der normalen Zuordnung wird die RGB-Farbskala verwendet, um eine Flächennormale aus drei Komponentenvektoren anstelle von zwei zu berechnen. RGB bedeutet in diesem Fall:

  • Rot
  • Grün
  • Blau

Um dies besser zu verstehen, ohne eine Dissertation über lineare Algebra abzugeben, wollen wir kurz über Bump Maps nachdenken. Der Grauton entspricht im Wesentlichen dem Winkel eines Vektors relativ zur Oberfläche selbst. Dieser Vektor besteht aus zwei Komponentenvektoren im kartesischen Objektraum, einem auf der Tangentenachse (schwarz) und einem auf der Normalenachse (weiß).

Je näher die Farbe an einer bestimmten Stelle an Schwarz ist, desto geringer ist der Winkel zwischen dem Normalenvektor und der Oberfläche selbst. Umgekehrt ist der Normalenvektor umso orthogonaler, je näher das Bild an Weiß liegt.

Aber wenn wir im 3D-Raum operieren, was ist dann mit der dritten Dimension? Hier kommen normale Karten mit RGB anstelle von Graustufen ins Spiel. Wie die Bump-Map hat eine normale Map eine Tangentenachse und eine normale Achse, aber sie führt auch die Bitangensachse ein. Und da es eine dritte Achse gibt, muss es eine dritte Farbe geben, um sie darzustellen. Die folgende Tabelle zeigt, wie jede Karte Farben in Vektoren übersetzt.

Vektorachse Bump-Map-Farbübersetzung Normale Map-Farbübersetzung
Normal Weiß Blau
Tangente Schwarz Rot
Bitangens N/A Grün

Der Schlüssel zum Verständnis ist hier, dass die Normalenkarte die Fähigkeit hat, Oberflächennormalen im globalen 3D-Raum zu definieren, da drei Vektorkomponenten diese Normal bilden. Jede der Komponenten kann mit den globalen X-, Y- und Z-Komponenten des kartesischen Weltraums in Beziehung gesetzt werden, in dem eine Lichtquelle fixiert ist.

Eine Bump-Map kann dies nicht tun, da es keine dritte Komponente gibt, die die Normale mit dem globalen kartesischen Raum in Beziehung setzt. Aus diesem Grund können Sie mit Highlights enden, wo Sie Schatten mit Bump-Mapping erwarten würden.

Die drei Vektorkomponenten einer normalen Karte bilden ein kartesisches System, das heißt, sie sind alle orthogonal zueinander. Das Koordinatensystem kann jedoch immer noch in unendlich viele Richtungen ausgerichtet werden und muss irgendwie eingeschränkt werden, damit die Karte Sinn macht.

Dies geschieht, indem die Vektorkomponenten an den Texturkoordinaten der Karte ausgerichtet werden. Die meisten Rendering- und 3D-Modellierungssoftware wird dies im Hintergrund für Sie tun, obwohl, so kein Schweiß, wenn Sie nicht die Aufmerksamkeit in der linearen Algebra-Klasse waren. Es stehen normalerweise 3 verschiedene Ausrichtungen zur Auswahl:

  • Tangentenraum
  • Objektraum
  • Weltraum

Jeder von ihnen hat seine Vor- und Nachteile, abhängig von der Anwendung des Objekts. Wir werden später darauf eingehen.

Unabhängig davon, welche Ausrichtung verwendet wird, ist dies ein wichtiger Schritt, da die Rendering-Engine die Oberflächennormalen so berechnen kann, dass sie alle reibungslos miteinander in Beziehung stehen. Das Ergebnis ist eine wahrgenommene Oberflächenstruktur, die gleichmäßig auf die globale Lichtquelle reagiert.

Das ist also der große Unterschied. Beide Karten beeinflussen die Beleuchtung auf einer Oberfläche, aber sie tun dies auf unterschiedliche Weise. Die normale Karte zeichnet sich durch ihre Fähigkeit aus, eine Oberflächentextur mit dem 3D-Raum in Beziehung zu setzen, in dem sie sich befindet. Dies wird letztendlich glaubwürdigere Renderings liefern, obwohl es nicht ungewöhnlich ist, Bump Maps und normale Maps zusammen zu verwenden, um sehr detaillierte Oberflächen zu erstellen.

Auch hier ändert keine dieser Methoden die 3D-Geometrie der darunter liegenden Oberfläche.

Eine kurze Anmerkung zur normalen Kartenausrichtung

Da normale Karten den Winkel bestimmen, in dem Licht von einer Oberfläche reflektiert wird, ist es wichtig zu berücksichtigen, wie die Karte selbst in Bezug auf das Objekt ausgerichtet ist, auf das sie angewendet wird.

Tangentenraum ist am häufigsten

Wenn eine normale Karte im Tangentenraum ausgerichtet ist, werden ihre Texturnormalen relativ zur Geometrienormalen gespeichert. Dies ist in der Regel am vielseitigsten, da es dem Objekt ermöglicht, sich im Raum zu bewegen und zu verformen, während die Effekte der Textur intakt bleiben. Dies ist besonders nützlich beim Texturieren von Dingen wie:

  • Skin eines Charakters
  • Bewegte Textilien
  • Objekte, die sich bewegen und mit dem Benutzer interagieren

Bottom line; Verwenden Sie diese Option, wenn sich das Objekt, das Sie texturieren, mit dem Benutzer im Raum bewegt.

Objektraum schafft höhere Qualität auf Kosten der Vielseitigkeit

Eine im Objektraum orientierte Normalenkarte berechnet ihre Normalen relativ zum Objekt als Ganzes. Das Objekt kann sich immer noch bewegen, aber wenn sich seine Oberflächen verformen, kann es Probleme mit dem Normalen geben. Die Karten sind in der Regel speziell auf das Objekt zugeschnitten, auf das sie angewendet werden, was zu schärferen Details und besserer Glättung führt.

Dies macht es jedoch schwierig, die Karte auf anderen Oberflächen wiederzuverwenden oder zu kacheln. Texturkoordinaten können auch nicht gespiegelt werden. Das Modellieren von Texturen auf symmetrischen Objekten ist also doppelt so viel Arbeit.

Der Weltraum erzeugt eine völlig feste Karte

Eine normale Karte, die im Weltraum ausgerichtet ist, ist relativ zu den globalen 3D-Koordinaten fixiert. Dies bedeutet, dass das Objekt, auf das es angewendet wird, stationär bleiben sollte; andernfalls „rutscht“ es unter der Karte hervor, wenn es bewegt wird.

Dies ist gut für die Erstellung hoher Detailstufen auf großen, stationären Objekten einer Umgebung.

Welche Karte hat eine bessere Rendergeschwindigkeit?

Während die Rendergeschwindigkeit stark von der Rendering-Engine selbst abhängt, beanspruchen Bump-Maps und normale Maps unterschiedlich viel Speicher.

Normalerweise lassen sich normale Karten schneller rendern als Bump-Karten.

Der Unterschied ist nicht drastisch, aber er ist da. Normale Karten schneiden Bump-Maps leicht ab, da sie nicht wie Bump-Maps mehrere Texturbeispiele benötigen.

Welche Art von Karte sollte ich verwenden?

Wie bei allem gibt es keinen einstimmigen Konsens darüber, dass eine dieser Karten besser ist als die andere. Bump Maps und Normal Maps haben beide Vorteile in verschiedenen Anwendungen. Lassen Sie uns einige davon untersuchen.

Best Uses for Normal Mapping

Einige davon haben wir bereits angesprochen, als wir die verschiedenen normalen Kartenausrichtungen diskutierten. Im Allgemeinen sind normale Karten die vielseitigste Lösung, wenn Sie eine Textur benötigen, die gut auf Bewegungen reagiert. Dies kann für fast alles gelten:

  • Charaktere
  • Waffen / Werkzeuge / Objekte
  • Fahrzeuge
  • Textilien
  • Laub

Normale Karten sind auch nützlich, um Details in Teile der Umgebung zu bringen, die aus nächster Nähe betrachtet werden sollen.

  • Wände
  • Gehwege
  • Beschilderung

Normale Karten sind äußerst vielseitig, insbesondere bei tangentialer Raumorientierung. Sie wickeln sich auch um Kanten, um einen günstigen Abschrägungseffekt zu erzielen, was Bump Maps nicht kann. Dies mildert ansonsten scharfe Kanten an einem Objekt, das keine scharfen Kanten zu haben scheint, und macht das Bild glaubwürdiger.

Dies erreicht nicht den gleichen Detaillierungsgrad wie eine Verschiebungskarte (auf die wir am Ende dieses Artikels kurz eingehen werden), erzeugt jedoch zumindest die Illusion abgerundeter Kanten bei Dingen wie:

  • Türknöpfe
  • Waffengriffe
  • Wandecken

Dieser subtile Effekt ist mit einer Bump Map nicht erreichbar.

Beste Verwendung für Bump-Mapping

Bump-Maps werden am besten für Hintergrundoberflächen oder relativ kleine Objekte verwendet. Denken Sie an Umgebungsmerkmale, die in der Ferne wahrgenommen werden sollen.

  • Operationssaal
  • Landschaften
  • Stadtlandschaften

Da Bump Maps bei sich bewegenden Objekten nicht so gut funktionieren wie normale Maps, sind sie leicht auf den Hintergrund einer Szene oder Aspekte auf mittlerer Detailebene anwendbar. Da sie einfacher zu erstellen sind und nicht so viel Vektorberechnung erfordern, sind sie die Option mit geringerem Aufwand.

Wenn sie jedoch auf Teile einer Umgebung angewendet werden, die nicht so genau unter die Lupe genommen werden, geben Bump Maps den meisten Knall für Ihr sprichwörtliches Geld.

Sie können auch zusammen verwendet werden

Vergessen Sie nicht, dass Bump Maps und Normal Maps übereinander geschichtet werden können, um Ihrem Rendering noch mehr Detailtiefe zu verleihen.

Wie bei jeder Texturkarte können Sie so viele oder so wenige Ebenen überlagern, wie Sie möchten, um den gewünschten Detaillierungsgrad zu erzielen.

  • Bump Maps passen die wahrgenommene Höhe einer Oberfläche relativ zu sich selbst an
  • Normal Maps passen den wahrgenommenen Winkel an, in dem Licht von der Oberfläche reflektiert wird

Kombinieren Sie diese beiden, um die Vorteile der Höhen- und Winkelmanipulation Ihrer Oberfläche auszugleichen.

Um es zusammenzufassen.

Der Unterschied zwischen einer Bump-Map und einer normalen Map besteht darin, wie jede eine Oberfläche manipuliert, um mit Licht zu interagieren. Bump Maps arbeiten in „zwei Dimensionen“, indem sie eine Graustufe verwenden, um Teile einer Oberfläche künstlich nach oben oder unten zu verschieben. Nach oben bedeutet heller und nach unten bedeutet dunkler.

Normale Karten arbeiten in „drei Dimensionen“, indem sie rote, grüne und blaue Farbkanäle verwenden, um die Richtung, in der Licht von einer Oberfläche reflektiert wird, künstlich zu manipulieren.

Die Karten können zusammen oder einzeln verwendet werden, und keine Texturkarte ändert tatsächlich die Geometrie der Oberfläche. Während normale Karten Kanten umschließen können, um einen Abschrägungseffekt zu erzeugen, fehlt beiden Karten die Fähigkeit, die Illusion einer Textur entlang einer Kante zu erzeugen.

Bonus: Was ist mit Verschiebungskarten?

Wenn Sie die Kanten einer Oberfläche so rendern müssen, dass die Silhouette des Objekts mit der Textur übereinstimmt, wird sie mit einer Bump-Map oder einer normalen Map nicht geschnitten.

Der Vorteil von Bump Maps und normalen Maps besteht darin, dass sie die Illusion von Textur erzeugen, ohne das Netz der Oberfläche tatsächlich zu verändern. Dies bedeutet, dass die Modellgröße klein bleiben kann und die Renderzeit immer noch ziemlich schnell ist. Dies begrenzt jedoch die Detailgenauigkeit an Objektkanten.

Hier kommen Verschiebungskarten ins Spiel. Betrachten Sie das Beispiel einer Ziegelmauer. Die Ziegel ragen relativ zu dem Mörtel heraus, der sie zusammenhält. Wenn Sie also um den Rand dieser Ecke schauen, scheint es keine gerade Linie zu sein, die Ziegel würden hervorstehen und der Mörtel würde sich zurückziehen.

Weder normale Karten noch Bump-Karten können diese Illusion erreichen, und es wäre nur eine mühsame Aufgabe, dort zu sitzen und all diese Steine tatsächlich zu modellieren. Ganz zu schweigen davon, dass Ihr 3D-Modell dadurch ziemlich klobig wird.

Hier kommt Displacement Mapping ins Spiel. Es passt wie eine Bump Map die Höhe einer Oberfläche an. Aber anstatt die Beleuchtung zu manipulieren, manipuliert es die tatsächliche Form des Objekts, wenn es gerendert wird. Aus diesem Grund erfordert es mehr Renderzeit und ein viel feineres Netz auf der Oberfläche. Zum Beispiel muss die größere Oberfläche in Hunderte, wahrscheinlicher Tausende von einzelnen Oberflächen zerlegt werden.

Dies lohnt sich jedoch, wenn die Rendering-Engine leistungsfähig genug ist und die Details benötigt werden.

Im Folgenden finden Sie einige nützliche Videos, um diese Konzepte visuell zu zeigen:

Bump Mapping:

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.