Voxel Displacement Renderer — Modernisierung der Retro-3D-Ästhetik
Ästhetische Motivation
- 3D-Spiele der frühen bis mittleren 90er Jahre (Doom, Quake, Duke Nukem) hatten sowohl technisch als auch spielerisch großen Einfluss.
- Inzwischen wirken die visuellen Einschränkungen dieser Spiele als retrohafter Reiz.
- Die Umgebungsgeometrie war schlicht und fantasievoll, und die Texturen hatten klare Pixelkanten.
- Dieser Stil ähnelt der stilisierten Abstraktion von 2D-Pixel-Art.
- Er ist in modernen retroinspirierten Spielen und 3D-Indie-Titeln beliebt.
Wie Voxel normalerweise funktionieren
- Ein Voxel-Mesh ist ein dreidimensionales Gitter, in dem alle würfelförmigen Zellen entweder gefüllt oder leer sind.
- Große Voxel sind texturiert, kleine Voxel einfarbig.
- Um große Umgebungen zu erstellen, kann man entweder sämtliche Geometrie in einem gemeinsamen Gitter platzieren oder unabhängige Voxel-Meshes im selben Raum anordnen.
- Wenn man sich entscheidet, eine Spielwelt aus Voxeln aufzubauen, muss man Voxel-Geometrie erzeugen, und Rendering- sowie Gameplay-Logik müssen auf Voxel-Ebene arbeiten.
- In einem Voxel-Mesh Geometrie hinzuzufügen oder zu entfernen, ist einfach.
Wie Displacement normalerweise funktioniert
- Displacement Mapping definiert für jedes Pixel einer Textur, wie weit es sich von der Oberfläche eines Meshes nach innen oder außen erstrecken soll.
- 3D-Modellierungssoftware kann ein Mesh unterteilen und neue Vertices verschieben, um Displacement Mapping anzuwenden.
- In Echtzeitgrafik wird es zusammen mit Surface-Shading-Effekten genutzt, um feine geometrische Details zu erzeugen, ohne die physische Form des Meshes zu verändern.
- Shell Mapping macht Displacement entlang der Silhouette eines Objekts sichtbar.
Was ich gebaut habe — eine Mischung aus Voxeln und Displacement Mapping
- Um Umgebungen klassischer 3D-Spiele zu modellieren, werden herkömmliche Low-Poly-Meshes verwendet und Displacement Maps angewendet, um Oberflächendetails im Voxel-Maßstab zu definieren.
- Mit einem Dreiecks-Mesh und begrenzten Displacement-Map-Informationen wandelt der Renderer die Geometriedaten so um, dass sie auf die GPU geladen werden können.
- Texturen werden vorverarbeitet, um die beim Rendering benötigten Informationen zu erzeugen.
- Mithilfe des Zustands von Meshes und Texturen wird Voxel-Displacement-Geometrie gerendert.
Erstellung von Art Assets und Umgebungen
- Es müssen zwei Arten von Assets erstellt werden: Texturen und Meshes.
- Jede Textur besteht aus einer Albedo-Map und einer Displacement-Map.
- Die Meshes sind herkömmliche texturgemappte Low-Poly-Dreiecks-Meshes.
- Für die Struktur der Meshes und das Texture Mapping gibt es Einschränkungen.
Vorteile dieses Ansatzes
- Inhalte lassen sich mit einem vertrauten Workflow erstellen.
- Da Umgebungen als Dreiecks-Meshes erstellt werden, müssen keine eigene Physik-Engine oder Character Controller geschrieben werden.
- Die meisten Gameplay-Systeme müssen sich nicht um die Voxel-Details kümmern.
Nächste Schritte
- Es gibt viele Funktionen, die direkt im Renderer ergänzt oder verbessert werden können.
- Es wird untersucht, wie sich kleine Objekte oder animierte Objekte integrieren lassen.
- Die Beleuchtungsimplementierung soll verbessert werden.
- Die Integration dieser Rendering-Technik in ein Spiel erscheint als realistischer Weg.
Meinung von GN⁺
- Technische Herausforderung: Die Kombination von Voxeln und Displacement Mapping ist eine sehr schwierige Aufgabe. Sie erfordert viel maßgeschneiderte technische Arbeit.
- Praktikabilität: Diese Technik lässt sich wahrscheinlich in bestehende Game Engines integrieren. Dadurch können Entwickler vorhandene Systeme weiter nutzen.
- Ästhetischer Reiz: Eine moderne Neuinterpretation der Ästhetik retrohafter 3D-Spiele könnte für viele Gamer attraktiv sein.
- Performance-Aspekte: Diese Rendering-Technik muss performanceoptimiert werden. Das ist besonders für Echtzeit-Rendering wichtig.
- Zukunftspotenzial: Die Technik könnte in verschiedenen Spielgenres eingesetzt werden und besonders für Indie-Entwickler nützlich sein.
Noch keine Kommentare.