Blender 194 – Displacement Map (vs Normal Map)

Bisher wurde zum Faken einer Geometrie eine NormalMap genutzt. In diesem Beitrag geht es darum eine nicht modellierte Geometrie zu faken, was nicht bedeutet das dazu nicht auch zahlreiche Vertices und Faces nötig sind.

Skills: Easy
Addon: Nein
Download: Blender-Datei zum Tutorial mit fertiger Szene plus externer DisplacementMap. Download via Mediafire.

 

Herstellung, Beschaffenheit und Sinn

Eine Displacement-Map besteht aus einem Graustufen-Bild. Die Höhen und Tiefen werden über die Weiß-, Graustufen- und Schwarzanteile gesteuert. Durch Verläufe werden automatisch fließende Übergänge entstehen. Im Bild unten ist eine einfaches in Gimp erstelltes Bild zu sehen. Auf eine Fläche von 1024 x 1024 Pixel wurde lediglich Filter – Render – Wolken – Differenz Wolken mit Standardeinstellungen angewendet (siehe Bild unten).

Gimp Wolken als Displacement Map

Ohne jede Weiterverarbeitung wurde diese Textur dann abgespeichert und weiter unten 1 : 1 als Blender Material verwendet.

Eine Displacement-Map kann aber auch von anderen Strukturen wie Felsen, Steinböden (Kieselsteine), Ornamenten etc. die Bildvorlagen vorliegen hergestellt werden. Das ist eben der Sinn einer Displament-Map solche feinen Strukturen zu erzeugen, ohne das sie modelliert werden müssen.

Der Sinn einer Displacement-Map besteht also darin das Modellieren (oder Sculpting) von gewissen schwieriger Strukturen, überflüssig zu machen.

 

Unterschiede zur NormalMap

Der Unterschied zur NormalMap besteht einerseits wie oben beschrieben in der Farbgebung. Während eine NormalMap bestimmte Farben als Koordinaten nutzt, kommt eine Diplace-Map (HeightMap) mit Graustufen aus. Das ist weder besser noch schlechter, sondern einfach technisch bedingt.

Normal Map (links) – HeightMap (rechts)

Der größte Unterschied besteht allerdings in der Anzahl der Faces und Vertices. Die NormalMap ist vollkommen dazu gedacht Polygone einzusparen. Eine wirkliche Geometrie (Höhe, Breite, Tiefe) ist nicht vorhanden, sondern wird nur vorgetäuscht. Eine Plane bleibt eine Plane.

Ein Displace hingegen ist im Prinzip dazu gedacht eine Struktur zu modellieren/generieren und benötigt dazu (möglichst) viele Polygone! Aus einer Plane (beispielsweise) wird eine wirkliche Geometrie.

 

Blender Settings

Das Beispiel unten zeigt eine normale Blender-Plane die über den Shortcut S-2 auf die dopplete Größe skaliert wurde. Bisher besteht die Plane aus einem einzigen Face und 4 Vertices (siehe Bild unten).

Blender 2.8 simple Plane

Einfache Plane

Im Edit-Mode wird über Taste W das Subdivide aufgerufen. In dem Dialogfenster dazu werden die Number of Cuts auf 10 erhöht. Das schafft 10 x 10 Unterteilungen auf der Plane (siehe Bild unten).

Subdivide - Number of Cuts

Subdivide – Number of Cuts

Zehn mal zehn Unterteilungen macht insgesamt 100 (Faces/Flächen). Für ein Displacement noch nicht wirklich viel. Daher wird ein weiteres Mal mit Taste W das Subdivide aktiviert und mit der Number of Cuts -Einstellung von 1 wird die Anzahl der Polys auf 200 verdoppelt (siehe Bild unten).

Blender 2.8 Subdivide

Subdivide zweiter Durchlauf

 

Displace Modifier

Angewendet wird die Displacement-Map auf die Plane über einen Modifier. In der Properties-Palette auf der rechten Seite wechselt man auf den Reiter der Modifier (Schraubenschlüssel) und wählt aus der Liste Displace aus (siehe Bild unten).

Blender 2.8 Displace Modifier

Displace Modifier

In den Settings des Displace-Modifiers drückt man den New-Button, um eine neue Texture zu erzeugen. Die Textur sollte mit einem eindeutigen Namen versehen werden (siehe Bild unten).

Blender 2.8 Dispalce Texture

Textur erstellen

Festgelegt wird die Texture wiederum unter dem Reiter Texture wo die eben erstellte Textur mit Namen ausgewählt wird. Image or Movie muss zusätzlich ausgewählt sein. Dann kann über den Open-Button die Map, also ein Bild ausgewählt werden. Dieses Bild sollen in diesem Fall die vorher in Gimp angelegten Wolken sein (siehe Bild unten).

Blender 2.8 Texture Properties

Textur festlegen

Wurde das Bild im Ordner angesteuert und ausgewählt erscheint eine Vorschau in den Texture-Settings (siehe Bild unten).

Blender 2.8 Texture Preview

Texture ist angekommen

Mit großer Wahrscheinlichkeit werdet ihr vorerst keine Veränderung feststellen. Wechselt ihr aber mit der TAB-Taste vom Edit- in den Object-Mode wird das Ergebnis des Displace sichtbar. Aus den Graustufen der Wolken sind Berge und Täler entstanden (siehe Animation unten).

Edit-Mode vs Object-Mode

Edit-Mode vs Object-Mode

Möchte man übrigens auch im Edit-Mode das Displacement in Action sehen, dann müssen dazu lediglich die beiden zusätzlichen Optionen in den Modifier-Settings aktiviert werden (siehe Bild unten).

Displacement visible in Edit-Mode

Sichtbarkeit im Edit-Mode

 

Erneuter Vergleich

Betrachtet man noch einmal das erste oben aufgeführte Beispiel der Pyramide als Normal- und Height-Map unter dem Gesichtspunkt der Sinnhaftigkeit so fallen einige Dinge auf (siehe Bild unten).

Normal Map (links) – HeightMap (rechts)

Die NormalMap, links im Bild würde aus einer einfachen Plane mit einem einzigen Polygon die Geometrie einer Pyramide erzeugen. Das ergibt Sinn, wenn die NormalMap für ein Game genutzt wird, wenn es nicht wirklich auf die Höhe der Pyramide ankommt, sondern nur nebenbei erscheint (siehe Bild unten).

Pyramide aus 1 Polygon (NormalMap)

Allerdings ist die Ersparnis von 3 Polygonen fast irrelevant. Wünschenswert ist der Effekt in Wirklichkeit erst ab hunderten, tausenden oder mehreren Tausend Polygonen.

Die HeightMap für das Displacement ergibt allerdings in keinem Fall Sinn, denn eine Plane müsste zu oft Subdivided werden, um die gewünschte Geometrie zu erzeugen. Von Hand modelliert benötigt die Pyramide immer nur wenige Polys. Auch der Vorgang des Modellierens einer Pyramide ist zu einfach, als dass das es den Einsatz einer Map rechtfertigen würde.

 

Einsatzgebiete

Das Einsatzgebiet eines Displacement ist also immer da wo aufwändig zu modellierende (organische) Strukturen auftauchen. Das können Landschaften sein (sofern sie nicht über Subdivide – Fractal erzeugt werden können).

Blender 2.8 Subdivide Fractal

Fractal nicht ausreichend

Bodenstrukturen, Gestein oder beispielsweise feine Ornamente, wenn es auf wirklich sichtbare Geometrie in allen Ansichten ankommt und/oder wo NormalMaps die deutlichen Höhen nicht erreichen können, werden gerne mit Displacement-Maps erstellt.

 

Das könnte dich auch interessieren …