1 Punkte von GN⁺ 2024-05-25 | Noch keine Kommentare. | Auf WhatsApp teilen

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.

Noch keine Kommentare.