Blender Dokumentation: Displacement Maps
Diese Seite bezieht sich auf Blender v2.37a |
Displacement Mapping verändert die Position von Vertices, wobei die Verschiebung der Vertices durch eine Textur gesteuert wird. Dieses "Bild" kann entweder eine prozedurale Textur sein, oder ein gemaltes (oder auch fotografiertes) Bild.
Da tatsächlich die Geometrie geändert wird, werfen die erzeugten Erhöhungen und Vertiefungen Schatten, verdecken andere Objekte usw., tun also alles, was modellierte Objekte auch tun.
Displacement Mapping kann im wesentlichen für zwei Dinge eingesetzt werden:
- Erstellung von Höhenfeldern, um schnell Landschaften zu generieren oder Messwerte dreidimensional umzusetzen.
- Erzeugung komplexer Materialien.
Der größte Nachteil von Displacement Maps ist, dass viele Vertices notwendig sind, damit sie vernünftig aussehen.
Anwendung
[Bearbeiten]Klicken Sie im Map To Panel den Disp Button an. Die Stärke des Displacement wird mit den Reglern Disp und Nor gesteuert (Abbildung 1).
Es gibt zwei Verschiebungsmodi:
- Liefert eine Textur nur Normalen Informationen (z.B. Stucci), wird der Vertex in der entsprechenden Normalen Richtung aus der Textur bewegt. Die Verschiebung nach Texturnormalen wird mit dem Regler Nor gesteuert.
- Liefert eine Textur nur Farbinformationen (z.B. Magic), so wird der Vertex in Richtung der "Vertexnormalen" verschoben (ein Vertex hat eigentlich keine räumliche Neigung, gemeint ist hier der Ergebnisvektor der Normalen aller angrenzenden Faces), und zwar nach der Intensität der Farbe. In der einfach gedrückten Stellung des Disp Buttons werden weiße Pixel auf der Textur in Richtung der Vertexnormalen, schwarze in die Gegenrichtung bewegt. Klicken Sie ein zweites Mal auf Disp, geschieht die Verschiebung genau umgekehrt. Die Verschiebung nach Farbintensität wird mit dem Regler Disp gesteuert.
Die meisten Texturen liefern beide Informationen, auch Image-Texturen. Sie können die Vertices bspw. einer Ebene also nicht nur nach oben und unten, sondern auch seitwärts bewegen. Die Verschiebung nach Farbintensität ergibt eine glattere Oberfläche, da die Vertices nur entlang einer Richtung bewegt werden. Das Verschieben nach Texturnormalen liefert eine zerkflüftetere Oberfläche.
Die Stärke des Displacement, also wie hoch die Erhöhungen sind, wird mit der Skalierung des Objektes im Object Mode mit skaliert. Skalieren Sie das Mesh im Edit Mode, wird das Displacement flacher.
Eignung von Objekten für DM
[Bearbeiten]Geordnet von gut nach schlecht, die Eignung von Objekten fürs Displacement Mapping:
- Meshes mit Catmull-Clark SubSurf. Sie können den SubSurf Level für das Modellieren und das Rendern getrennt einstellen, höhere Werte für das Rendern verbessern die Displacement Map. Hier wäre mal ausnahmsweise eine Gelegenheit, SubSurf Level von 6 zu verwenden, allerdings dauert das Rendern entsprechend lange.
- Meshes mit Simple SubSurf. Auch hier können Sie den Level für das Modellieren und Rendern getrennt einstellen. An scharfen Kanten ergibt sich allerdings eine Stufe in der Oberfläche, wenn die Textur dort nicht 50% grau ist.
- Mit Subdivide unterteilte Meshes. Das hat den Nachteil, dass Sie bereits beim Bearbeiten viele Vertices benutzen müssen.
- Metaballs. Die Anzahl an Faces können Sie mit dem Parameter Rendersize einstellen. Eine kleine Rendersize bedeutet viele Faces, also eine hohe Auflösung.
Auf die folgenden Objekte können Sie ebenfalls Displacement Maps anwenden, das liefert aber nicht so gute Ergebnisse. Konvertieren Sie sie erst zu Meshes.
- Offene NURBS surfaces. Die Anzahl an gerenderten Faces kontrollieren Sie mit den Parametern Resol U/V. Größere Zahlen bedeuten mehr Renderfaces.
- Geschlossene NURBS surfaces.
- Curves und Text.
Beispiele
[Bearbeiten]Zunächst ein Beispiel, in dem ein gezeichnetes Bild die Oberfläche verformen soll.
Man erkennt einige Fehler im gerenderten Bild. Solche scharfkonstrastierenden Übergänge sind offensichtlich problematisch.
- Zum einen gibt es an einigen Stellen offensichtlich negative Werte der Map (Ausbuchtungen nach unten). Das lässt sich beheben, indem wir den Button Correct Nor Map auf dem Texture Panel drücken. Das Ergebnis (Abbildung 3) ist aber immer noch nicht korrekt.
- Die richtige Lösung ergibt sich, wenn die scharfen Übergänge zwischen Schwarz und Weiß ganz leicht weich gezeichnet werden. Schalten Sie Correct Nor Map wieder aus. Der Unterschied in der Textur ist so klein, dass man ihn in der dargestellten Auflösung nicht wahrnehmen kann, daher habe ich die Textur in Abbildung 4 nicht noch einmal dargestellt.
Besser funktioniert die Displacement Map, wenn es keine scharfen Übergänge in der Textur gibt (Abbildung 5).
Für kompliziertere Materialien ist eine Displacement Map manchmal unumgänglich, der Rand des Objektes wäre sonst vollkommen glatt (Abbildung 6).
Eine Displacement Map zur Oberflächengestaltung erstellen
[Bearbeiten]Beginnen Sie mit 50% Grau. Ob Weiß oder Schwarz in Richtung der Flächennormale erhöht werden, können Sie in Blender über den Disp Button einstellen, einfach geklickt wird Weiß erhöht. Wenn Sie mit dem Bild fertig sind, wenden Sie einen Weichzeichner an. Meine Textur hat 512x512 Pixel, der Weichzeichner einen Radius von 5 Pixeln.
OSA
Textur OSA ist zur Zeit noch nicht implementiert.
Links
[Bearbeiten]Release Notes zu v2.32: Displacement Mapping