top of page

Licht in einer Voxelwelt: echte Lichter oder Flood-Fill?

  • Autorenbild: Marcel Dütscher
    Marcel Dütscher
  • 27. Juni
  • 1 Min. Lesezeit

Aktualisiert: vor 5 Tagen

Ein Spieler stellt eine Leuchtlampe in seine Basis. Was passiert technisch? Diese harmlose Frage hat bei uns eine Grundsatzentscheidung ausgelöst — und die Antwort ist ein schönes Beispiel dafür, dass die „modernere" Lösung nicht immer die bessere ist.


Option A: echte Unity-Lichter. Jeder Leuchtblock wird eine Punktlichtquelle, die Engine rechnet alles. Sieht toll aus — skaliert aber nicht. Eine Voxelwelt kann hunderte Leuchtblöcke in Sichtweite haben; Echtzeit-Punktlichter in dieser Menge bringen jede GPU ins Schwitzen, erst recht im Browser-Build.


Option B: Flood-Fill-Licht. Der Klassiker des Genres: Licht ist ein Zahlenwert pro Block, der sich von der Quelle ausbreitet und pro Schritt abnimmt. Spottbillig, beliebig viele Quellen — aber das Ergebnis wirkt flach, weil das Licht keine Richtung hat. Eine Wand neben der Lampe ist genauso hell wie die Fläche darunter.


Unsere Wahl: Flood-Fill mit Richtung. Wir sind beim Flood-Fill-Ansatz geblieben, haben ihm aber Richtungsinformation beigebracht: Das Licht weiß, aus welcher Richtung es kommt, und Flächen werden entsprechend unterschiedlich hell. Das Ergebnis wird beim Meshing ins Chunk-Mesh gebacken — zur Laufzeit kostet es praktisch nichts, sieht aber deutlich plastischer aus als klassisches Blocklicht.


Die Lektion daraus nehmen wir seither überallhin mit: Erst fragen, was das Genre-Problem wirklich ist (hier: sehr viele Quellen, statische Geometrie), dann die Technik wählen. Echte Lichter lösten ein Problem, das wir gar nicht hatten — und hätten eines geschaffen, das wir nicht lösen können.

Aktuelle Beiträge

Alle ansehen

Kommentare


bottom of page