Displacement
Displacement ist dem Relief sehr ähnlich. Hier jedoch wird ein Objekt tatsächlich (nicht nur scheinbar) deformiert. Am augenfälligsten wird der Unterschied an Objektkanten. Betrachten Sie einmal nachfolgende Abbildung.
Auf der linken Hälfte der Kugel kam eine Relief-, auf der rechten eine Displacement-Textur zum Einsatz. Im Bereich des Reliefs sehen Sie einen glatten Kugelrand, im Bereich des Displacements ist er deutlich verformt. Durch die tatsächliche Verformung ergeben sich auch innerhalb der Objektoberfläche leicht veränderte Schatteneffekte.
Mit diesem Schieberegler feinjustieren Sie das unter Höhe festgelegte maximale Displacement (um genau zu sein, wird Stärke und Höhe multipliziert).
Die Höhe des Displacements (also die Größe der Höhenverschiebung) legen Sie mit diesem Regler fest.
Im Modus Intensität wird das Displacement nur in positive Richtung vorgenommen. Die Displacement-Textur nimmt anhand ihrer Grauwerte folgendes Displacement vor: Schwarz kein, weiß maximales Displacement.
Das Displacement kann sowohl in positive, wie negative Richtung in Abhängigkeit der Grauwerte der Textur vorgenommen werden. Ein Grauwert von 50% sorgt für kein Displacement, während schwarz maximales Displacement in negativer und weiß maximales Displacement in positiver Richtung bewirkt
Das Displacement kann sowohl in positive, wie negative Richtung in Abhängigkeit der Rot- und Grünwerte der Textur berechnet werden. Grünwerte erhöhen, Rotwerte erniedrigen das Displacement. Ausschlaggebend ist die reine Rot/Grün-Komponente der RGB-Farbe. Schwarz führt zu keinem Displacement. Ein reines Grün (RGB: 0,255,0) und ein reines Rot (RGB 255,0,0) führen jeweils zu einem maximalen, aber entgegengesetzten Displacement.
RGB (XYZ Objekt)
RGB (XYZ Welt)
Diese Modi steuern das Displacement räumlich anhand der RGB-Komponenten der Textur. Folgende Richtungen werden durch die Komponenten definiert:
Je nachdem, welche Modi Sie jetzt hier einstellen, werden zur Verformung verschiedene Koordinatensysteme verwendet. Der flexibelste und empfohlene Modus ist RGB (XYZ Tangente) (natürlich nur, sofern Ihre Displacement-Textur auch in diesem Modus erzeugt wurde!), da dieser Verformungen des Objekts (z.B. durch Deformer) zulässt und dabei keine Fehler verursacht, wie das bei den anderen beiden Modi der Fall sein kann. Besonders auch im Falle von Charakteranimationen, die ja meistens durch Joints zum Leben erweckt werden, ist dieser Modus unerlässlich.
Sehen Sie in dieser Abbildung einen mit Displacement-Texturen versehenen Zylinder, der mittels eines Biege-Objekts verformt wird. Rechts oben versagt die Displacement-Textur, die im Modus RGB (XYZ Objekt) erstellt wurde, während rechts unten der Modus RGB (XYZ Tangente) für ein einwandfreies Resultat sorgt.
Hier können Sie eine Bildtextur oder einen 2D-Shader definieren. Eine ausführliche Beschreibung des Eingabefeldes und seiner Optionen finden Sie im Abschnitt Texturen.
Bei der Verwendung von Displacement müssen Sie immer ein Bild oder einen Shader angeben, da die Textur zur Berechnung der Deformation benötigt wird.
Sub Polygon Displacement
Hiermit aktivieren Sie SPD. Bei deaktivierter Option kommt das normale Displacement (nur vorhandene Objektpunkte werden verschoben) zum Einsatz. Eine Einführung zum Sub Polygon Displacement finden Sie unter Advanced Render / Subpolygon Displacement.
Hier definieren Sie die interne SPD-Unterteilung. Diese gilt für das komplette Objekt, dem das Material zugewiesen ist. Es kann sich also durchaus lohnen, nicht sichtbare Seiten des Objekts zu löschen, da diese dann nicht unterteilt werden müssen.
Wie so oft gilt: Je höher der gewählte Wert, desto besser das Ergebnis und desto länger die Renderzeit.
Beachten Sie, dass dieser Wert je nach Objekt unterschiedlich gewählt werden muss. Wenn Sie beispielsweise das gleiche SPD-Material den Grundobjekten Würfel und Ebene zuweisen, wird das Ergebnis verschieden ausfallen, da der Würfel standardmäßig 6 Polygone, die Ebene jedoch 400 Polygone hat. Gleiches gilt für ein Objekt, das verschieden stark unterteilt ist, so hat beispielsweise ein Charakter im Gesicht wesentlich mehr Polygone als an den Beinen, trotzdem werden Polygone beispielsweise am Nasenflügel genauso stark unterteilt, wie großflächige Beinpolygone.
Intern wird pro existierendem Polygon folgende Polygonanzahl berechnet:
Bei einer Unterteilung von 8 würde sich für das Beispiel folgende (interne) Polygonanzahl ergeben:
Würfel: 6*256*256 = 393.216 Polygone
Ebene: 400*256*256 = 26.214.400 Polygone
Da bei SPD aufgrund von internen Gründen kein "normales" Phongshading unter Auswertung des Phong-Tags berechnet werden kann, sorgt bei der aktivierten Option Geometrie runden ein spezieller Algorithmus (relativ ähnlich dem des Subdivision Surface) dafür, dass das Objekt vor dem Rendern des SPD geglättet wird.
Das ist im Speziellen dafür gedacht, alle Flächen, die nach dem SPD-Rendern facettiert aussehen, zu glätten. Konturen (Polygonkanten, die keine Nachbarpolygone haben) bleiben dabei erhalten, sofern die Option Konturen runden deaktiviert ist.
Da dies, wie in dem folgenden Beispiel zu sehen, auch unbeabsichtigte Auswirkungen haben kann, können Sie diese Option auch deaktivieren.
Angenommen, Sie möchten diesen platonischen Körper (Ikosaeder) mit der nun sattsam bekannten Erdtextur belegen und die Geometrie soll ohne Rundung erhalten bleiben, dann sollten Sie die Option deaktivieren.
Geometrie runden und Subdivision Surfaces (SDS)
Wie oben schon erwähnt, bedient sich Geometrie runden eines dem SDS sehr ähnlichen Algorithmus. In manchen Fällen können Sie sogar komplett auf SDS verzichten und das Runden ganz dem SPD überlassen. Sollten Sie SPD und SDS auf dasselbe Objekt anwenden, beachten Sie, dass sich die Unterteilungen vervielfachen, da die SPD-Unterteilung auf das schon durch das SDS fein unterteilte Objekt wirkt.
Wenn Sie diese Option aktivieren, werden ebenfalls Konturen (Polygone mit mindestens einem fehlenden Nachbarpolygon) gerundet. Die Deaktivierung dieser Option ist insbesondere bei solchen Objekten angezeigt, deren Umrissform unter dem Glätten leidet, wie beispielsweise bei folgender Abbildung, wo die Ebene auch als Ebene in ihrem Umriss erhalten bleiben soll.
Auf gerundete Geometrie projizieren
Diese Option definiert, ob zur Bestimmung der Texturkoordinaten die schon gerundete Geometrie verwendet werden soll. Dies führt in den meisten Fällen zu den intuitiveren Ergebnissen. Auch kann es zu weniger Artefakten kommen.
Da die Berechnung allerdings bis zu 10% länger dauert und in manchen Fällen auch auf die nicht gerundete Geometrie projiziert werden soll, ist die Option abschaltbar.
In obiger Abbildung wurde eine Ebene, bestehend aus nur einem Polygon, mit SPD belegt. Dabei waren die Optionen Geometrie runden und Kontur runden aktiviert. Das linke Ergebnis ist das, was normalerweise erwartet wird: Die Texturdichte in den gerundeten Bereichen wird nicht verändert. Im Gegensatz dazu das rechte Ergebnis, wo die Textur vor der Glättung projiziert wurde und dann beim Glättenprozeß gequetscht wird.
Auf resultierende Geometrie projizieren
Mittels dieser Option legen Sie fest, wann die Texturprojektion erfolgen soll:
Was bedeutet das genau? Nun, da sich durch das SPD eine neue Geometrie ergibt, muss entschieden werden, wann die Texturprojektion (Displacement ausgenommen, da dieser Kanal ja die Voraussetzung für den Effekt ist) der anderen Material-Kanäle erfolgen soll. Je nach Shader bzw. Bitmap und Projektionsart können sich unterschiedliche Effekte ergeben. Bei der folgenden Abbildung wurde eine Textur auf eine Ebene als Ausgangsobjekt gelegt.
Beim Quader-Mapping sehen Sie sehr schön, wie sich die Farb-Projektion je nach gesetzter Option Auf resultierende Geometrie projizieren auswirkt. Beim UVW-Mapping dagegen ist kein Unterschied zu sehen, da bei SPD keine UV-Koordinaten geändert werden.
Ganz anders sieht es dagegen wieder bei 3D-basierenden Shadern (z.B. Noise, Holz, Rost etc.) aus. Da diese naturgemäß nicht auf UV-Koordinaten angewiesen sind, können diese auch die Flanken von extremen Displacements texturieren, wie man bei der folgenden Abbildung mit UVW-Mapping sieht:
Allgemein lässt sich sagen, dass die Aktivierung dieser Option bei animierten, sich verformenden Objekten (normale Positions- oder Winkelanimationen sind natürlich unproblematisch) eher nicht angeraten ist, da es zu Textursprüngen kommen kann. Dies kann aber je nach Anwendungsfall auch unproblematisch sein. Hier hilft wie so oft nur ausprobieren.
Die aktivierte Option sorgt für die Erhaltung einer harten Phongkante, sofern diese in Abhängigkeit des Phong-Tags bzw. eines unterbrochenen Phongshadings (siehe Phong-Tag) gegeben ist. Bei deaktivierter Option wird die Kante je nach Unterteilungslevel mehr oder weniger stark gerundet.
Effekte dieser Option treten meist nur bei deaktivierter Option Geometrie runden auf.
Wie Sie in obiger Abbildung sehen, sorgt eine aktivierte Option Beste Verteilung für eine Richtungsänderung des Displacements zu den Phongkanten hin. Je näher sich das Einzel-Displacement der Kante nähert, desto weiter wird es dieser Kante zugeneigt, bzw. folgt der Richtung einer virtuellen gerundeten Phong-normalen.
Der Nutzen des Ganzen: In den meisten Anwendungsfällen sorgt die Einstellung für einen weichen kontinuierlichen Übergang des SPD über Phongkanten hinweg.
Ist Beste Verteilung deaktiviert (nur sinnvoll, wenn unter Typ eine der beiden Intensitäts-Modi eingestellt ist), zeigen die Einzel-Displacements jeweils senkrecht nach oben, was in Kantenbereichen allerdings zu aufgeblasenen Displacements führen kann, wie oben rechts in der Abbildung zu erkennen. Dies resultiert daher, dass Displacements, die über die Kante hinwegführen und quasi rechtwinklig zueinander stehen, mit Zwischenraum gefüllt werden. Wenn Sie Städte aus der Ferne oder einen Borg-Würfel modellieren wollen, sollten Sie diese Option aktivieren.