Antworten auf deine Fragen:
Neues Thema erstellen

Unterschied Bump und Normalmap

gopper0815

Nicht mehr ganz neu hier

Hallo,

Ich bin gerade dabei mich tiefer mit Materialien zu beschäftigen und dabei stößt man immer wieder auf die verschiedenen Mappingarten. Darunter u.a. Normalmap und Bumpmap. Daneben noch Displacement. Die beiden letztgenannten sind soweit klar. Beide machen im Prinzip das gleiche, mit dem Unterschied dass Bumpmap ein Fake ist und Displacement tatsächlich die Polygone verschiebt, sofern genug vorhanden. Aber was macht eine Normalmap. Die schimmert in diesen Blautönen. Aber wenn ich diese einsetze, ändert sie ja auch sozusagen die Tiefenwahrnehmung des Materials, oder? Warum dann diese nehmen und keine Bumpmap? Oder versteh ich da was falsch?
 

KBB

Mod 3D | Blaubaer

Teammitglied
Genau, Relief ist ein Fake und Displacement die Möglichkeit, die Geometrie wirklich zu verformen. Ruf Dir dabei in Erinnerung, dass beim Relief immer nur in eine Richtung, senkrecht zum Polygon gefaked und beim Displacement (in Cinema und im Normalfall) senkrecht zum Polygon verformt werden kann. Deshalb braucht man da auch nur s/w-Maps für, denn die Richtung ist klar und die Helligkeit gibt nur die Stärke an.

Jetzt stell Dir vor, Du möchtest - gefaked oder real - in alle Richtungen zum Polygon deformieren. Z.B. eine abgelöste Tapete per Map simulieren/deformieren. Oder einen Lüftungskanal in eine Fahrzeugoberfläche. Oder ein Ohr. Immer hängt irgendetwas über etwas anderem oben drüber.
Hört sich unmöglich an? Ist es aber nicht. Nur brauchst Du dazu Vectormaps. Diese geben nicht nur eine Richtung an (Y, senkrecht zum Polygon), sondern alle 3, also X, Y und Z. Entweder für die echte Verformung - dann spricht man vom Vectordisplacement - oder für die simulierte, dann hast Du eine - Normalmap :)

Im Grunde ist es in beiden Fällen die gleiche Map. Entscheidend ist in Cinema, in welchem Slot Du sie benutzt. Leider ist Cinema, was Vectordisplacement betrifft, bisher noch nicht up to date. Du kannst es aber gerne testen, z.B. mit dem hier (die beiden Bilder links oben zeigen, was rechts oben bei der Anwendung heraus kommt). OK, 100% die gleiche Map wie beim Normalmapping ist es nicht, denn hier ist der Nullwert grau, bei der Normalmap im häufigsten Fall ein . Aber alles andere, die Benutzung der R-, G- und B-Werte für die X, Y und Z Richtung benutzt in beiden Fällen den gleichen Ansatz.

Da das ganze davon abhängt, welches Programm und in welchem Sinn die Vectormap (bleiben wir bei dem allgemeinen Namen, denn im Grunde ist es genau das) erstellt wurde, geben uns die meisten Programme die Möglichkeit, die Farben bzw. die Richtungen für die sie stehen anzupassen und zu drehen. Das sind die Parameter, die Du sowohl beim Normalmapping als auch beim Displacementmapping findest.

Und da beides sehr nah beieinander steht, gibt es in anderen Programmen wie z.B. der Unreal Engine dazu noch Möglichkeiten, mittels Normalmapping ein echtes Displacement zu faken. Ich weiß nicht, ob Du einen Login hast oder ohne die Bilder sehen kannst, aber hier mal als Beispiel ein paar Böden. Genutzt werden Normalmaps, trotzdem wird wie beim Displacement eine sichtbare Erhabenheit erzeugt. Und trotzdem ist es kein Displacement, sondern z.B. schichtweise Verschieben der Map (z.B. Parallax Mapping)

Boden 2

Die habe ich auch schon gebaut und muss sagen, das ist wirklich abgefahren ;)
 

gopper0815

Nicht mehr ganz neu hier

Vielen Dank für diese ausführliche Antwort. Das hat mir das die Sache schon etwas näher gebracht. Nur eines ist mir noch nicht ganz klar. Brauch ich dann bei der Normalmap also Vectormap dann die entsprechenden Polygone um wirklich zu deformieren oder wird das auch nur simuliert? Oder ist beides möglich? Im zweiten Absatz deiner Antwort erwähnst du beide Fälle. Falls beide Fälle möglich sind, kommt es doch dann nur auf den Einzelfall an, wo man es braucht. Hat man einen flachen Blickwinkel auf das Objekt, wird man wohl mit echter Verformung arbeiten müssen, ansonsten sieht man ja den Fake (wie beim Relief). ABer hat man einen steileren Blickwinkel könnte man doch etliche Polygone sparen und keinem fällt es auf. Gesetzt den Fall die Anwendung kann beide Fälle verarbeiten.
 
Normal maps sind in fast allen Programmen genauso "fake" wie Bump maps: Beide verändern nicht die Kontur des Objektes, sondern beeinflussen nur die Lichtreflektion und den Schattenwurf innerhalb der vorhandenen Flächen.

"Normal" kann dabei mehr als "Bump" wie KBB schon gezeigt hat. Wenn wir vom Vektor-Displacement mal absehen, ist der einzige Unterschied zwischen Bump und Normal, dass man mit einer Normal map das eintreffende Licht in viel mehr Richtungen als mit der Bump map "reflektieren" kann, dadurch sieht das Ergebnis realistischer aus. Da Bump für kleine Oberflächen-Details ausreicht und schneller berechnet wird, muss man schauen, welchen Map-Typ man jeweils für die verschiedenen Detailgrößen bevorzugt/wählt. Das kann in Games Engines ganz anders aussehen, aber davon hab ich keine Ahnung. ;-)
 

gopper0815

Nicht mehr ganz neu hier

Ok, vielen Dank, jetzt ist mir die Sache klar. Somit kann man z.B. bei Objekten die nah dran sind, etwas mehr Details herauskitzeln. Wohingegen im Hintergrund eine Bumpmap reichen sollte. In jedem Fall muss man wohl austesten was das beste Ergebnis für den jeweiligen Fall bringt.
 

KBB

Mod 3D | Blaubaer

Teammitglied
Brauch ich dann bei der Normalmap also Vectormap dann die entsprechenden Polygone um wirklich zu deformieren oder wird das auch nur simuliert?
In 3D Programmen wie C4D usw. hast Du immer auf der einen Hand Bumpmapping mit einer s/w Map oder Normal Mapping mit einer Normalmap (die blauen, siehe oben) und auf der anderen Hand echte Deformierung der Geometrie mit s/w oder Vectordisplacement.
Das letzte Beispiel, von dem Parallax Mapping wiederum eins von vielen ist, findest Du so nur in Gameengines, da aber in jeder großen. In den 3 freien (Unity, Unreal, CryEngine) ist es auf jeden Fall in jeweils mehreren, unterschiedlichen Weisen implementiert, mit denen ich mich nicht vollständig und bis ins Einzelne auskenne. Parallax Mapping jedenfalls verschiebt m.W. die schon gerenderten Pixel, während Displacement die Geometrie verschiebt und dann rendert. Dass ersteres schneller geht, sollte klar sein.


Falls beide Fälle möglich sind, kommt es doch dann nur auf den Einzelfall an, wo man es braucht. Hat man einen flachen Blickwinkel auf das Objekt, wird man wohl mit echter Verformung arbeiten müssen, ansonsten sieht man ja den Fake (wie beim Relief). ABer hat man einen steileren Blickwinkel könnte man doch etliche Polygone sparen und keinem fällt es auf. Gesetzt den Fall die Anwendung kann beide Fälle verarbeiten.
Das ist der Grund, warum man sich in manchen Fällen auf das Normalmapping verlassen kann, in anderen auf Displacement zurückgreift ;) Wie Du sagst, spielt der Winkel eine große Rolle, aber auch die Stärke der Erhabenheit (siehe "Unterbeispiel" oben, der Löwenkopf und die Säulen sind schon ganz schön tief) und die Entfernung zum Betrachter.

Solange die erhabene Struktur nicht besonders tief ist, weiter weg oder der Winkel senkrecht bleibt, ist man mit Normalmapping schon sehr gut bedient. Vorausgesetzt es wirkt im Rendering entsprechend.
Ich möchte niemandem den AR vermiesen, aber schon allein das Vectordisplacement lässt da wie gesagt nicht viel Spielraum, obwohl es seit dem Zufügen des Sculpting-Tools etwas besser geworden ist. Wenn ihr das Beispiel mit dem Ohr oben probiert habt, werdet ihr ebenfalls gemerkt haben, dass es nicht unbedingt mit dem ersten Anlauf getan ist, bis Cinema dazu überredet wurde. Und wehe, man dreht das Objekt dann im Raum ^^

Im Grunde ist das hier alles Grundlage für jedes Sculptingprogramm (ZBrush, 3D Coat, Mudbox, aber auch die internen in Modo, Cinema usw.), weil man idR. aufgrund der Rechnerressourcen und des Ziels - oft genug Gamecontent und Characteranimation - von einem Highpolyobjekt ausgeht, davon Normal- und Vectordisplacementmaps zieht und das ganze dann auf ein Lowpolyobjekt mappt, dass dann idealer Weise nicht mehr vom Original zu unterscheiden ist, aber nicht dessen hochauflösendes Polygonmonster benötigt.
Edit: auch das Sculpting selbst (jedenfalls in Modo und Cinema) arbeitet mit einer Vectordisplacementmap und einer Geometrie, die nur hoch genug aufgelöst ist. Sculpting ist im Prinzip "Malen in verschiedene Richtungen (XYZ) auf einer Vectordisplacementmap" :)

Auch in Games wird Displacement und Normalmapping gerne gemischt, seit DX11 geht das ja auch fließend in den meisten Gameengines.
In Einzelfällen spricht aber auch nichts gegen hochauflösende Geometrie.
 
Zuletzt bearbeitet:
Bilder bitte hier hochladen und danach über das Bild-Icon (Direktlink vorher kopieren) platzieren.
Antworten auf deine Fragen:
Neues Thema erstellen

Willkommen auf PSD-Tutorials.de

In unseren Foren vernetzt du dich mit anderen Personen, um dich rund um die Themen Fotografie, Grafik, Gestaltung, Bildbearbeitung und 3D auszutauschen. Außerdem schalten wir für dich regelmäßig kostenlose Inhalte frei. Liebe Grüße senden dir die PSD-Gründer Stefan und Matthias Petri aus Waren an der Müritz. Hier erfährst du mehr über uns.

Stefan und Matthias Petri von PSD-Tutorials.de

Nächster neuer Gratisinhalt

03
Stunden
:
:
25
Minuten
:
:
19
Sekunden

Flatrate für Tutorials, Assets, Vorlagen

Zurzeit aktive Besucher

Statistik des Forums

Themen
118.635
Beiträge
1.538.481
Mitglieder
67.559
Neuestes Mitglied
hanuta
Oben