Einsteigerguide: Was ist Parallax Mapping?
Parallax Mapping ist eine Technik zur Echtzeit-Approximation des Displacement Mappings, die manchmal als „Virtual Displacement Mapping“ bezeichnet wird. Die Texturkoordinaten der einzelnen Pixel werden während der Renderzeit angepasst, um eine Illusion von Tiefe zu erzeugen, wenn sich das Auge des Betrachters über eine Szene bewegt.
Das Hervorstechende am Parallax Mapping ist die Effizienz. Es ist die preiswerteste Echtzeit-Technik für das Displacement-Mapping. Der Nachteil ist die Bildqualität. Parallax Mapping sieht nicht so schön aus wie teurere Techniken wie z.B. „Parallax Occlusion Mapping“ oder „Relief Mapping“. Diese Techniken ähneln dem Parallax Mapping, bieten aber eine bessere Bildqualität auf Kosten zusätzlicher Textur-Lookups.
Das Parallax-Mapping verwendet eine Graustufen Height Map. Der genaue Weg dorthin hängt von ihrer spezifischen Game-Engine ab, aber es ist üblich, sie in den Alpha-Kanal der Normal Map zu legen.
Methoden des Parallax Mapping.
Es gibt mehr als ein halbes Dutzend Versionen des Parallax Mappings:
- Offset und Offset mit Begrenzung (beide sind ihre grundlegende Parallaxe)
- Parallax Occlusion
- Relief
- Cone Step
- Steep Parallax
- Pyramidenförmiges Displacement
- Iterative Parallaxe
- etc.
Alle außer Offset und iterativer Verwendung von erweiterten Rendering-Aufrufen, die erst jetzt auf aktueller Hardware möglich werden.
Wenn jemand nach einem guten Kompromiss zwischen Renderingkosten und visuellem Effekt sucht, schauen Sie sich die interativen Parallaxe an, es ist wahrscheinlich die beste Wahl. Neuere Versionen von Parallax Occlusion und Cone Mapping bieten die beste Sehqualität. Und für die günstigsten Methoden, Parallax Mapping gibt es ein paar zusätzliche Instruktionen und einen Texturkanal, der heutzutage aber nahezu vernachlässigbar ist.
In der folgenden Demo von Bruno Evangelista werden die folgenden verschiedenen Methoden visualisiert:
- Displacement Mapping
- Normal Mapping
- Offset Parallax Mapping
- Relief Mapping
- Parallax Occlusion Mapping
- Cone Step Mapping
- Multi-Layer Cone Step Mapping
- Sphere Tracing
Wie werden Parallax Mappings genutzt?
In der Regel sieht das Parallax Mapping an Wänden und Böden gut aus. Jedes Mesh mit einer relativ großen Oberfläche aus nicht schrägen Winkeln betrachtet, könnte ein geeigneter Kandidat für das Parallax Mapping sein. Parallaxe eignen sich gut für sanfte Kurven wie z.B. Felsen. Es ist aufgrund der steilen Kurven nicht sehr gut für steile Kanten geeignet.
Vermeiden Sie in ihrer Height Map scharfe/steilere Kanten und hochfrequente Details. Diese können zu Texturdehnungen und Rendering-Artefakten führen.
Verwenden Sie es sparsam und nicht auf relativ großen Flächen. Seien Sie besonders vorsichtig, wenn die Kanten eines Meshes sichtbar sind. Das Parallax Mapping erstreckt sich nicht über die sichtbaren Kanten eines Meshes hinaus. Das kann seltsam aussehen. Sie können ihre Parallax Maps um die aktuelle Geometrie an den sichtbaren Kanten erweitern (z.B. Steine an der Ecke eines Gebäudes können die tatsächliche Geometrie verwendenm während die anderen Steine durch Parallax Mapping erzeugt werden können).
Wie Sie Parallax Maps erstellen.
Mit CrazyBump können Sie aus einer Normal Map eine Parallax Map generieren:
- Bei Bedarf können Sie die CrazyBump-Demo herunterladen.
- Stellen Sie sicher, dass die Achsenausrichtungseinstellungen von CrazyBump für ihre Normal Map korrekt eingestellt sind.
- Öffnen Sie ihre Normal Map in CrazyBump.
- Stellen Sie sicher, dass im Vorschaufenster von CrazyBump „Parallax Displacement“ eingeschaltet ist.
- Wählen Sie die Registerkarte“Displacement“ auf der Benutzeroberfläche von CrazyBump.
- Passen Sie die Slider „Displacement Map“ an, bis ihr Modell das gewünschte Aussehen hat.
- Wenn Sie schimmernde Artefakte bemerken, versuchen Sie, den Slider „Weichzeichnen“ zu erhöhen.
- Sie sind fertig. Speichern Sie die Displacement Map und verwenden Sie sie für Parallaxe in ihrer Game-Engine.
CrazyBump kann auch eine Parallax Map aus einem Foto generieren.
Verwenden Sie 3ds Max Render to Texture, um aus einer hochpolymeren Geometrie zu baken.
- Richten Sie die Projektion für das Low-Poly-Modell wie gewohnt ein.
- Aktivieren Sie im Element Normal Map im Dialog Rendern zu Textur das Kontrollkästchen „Render height Map to Alphakanal“.
Vielen Dank für ihren Besuch.