Sieht echt super aus. Habt ihr den Tag/Nacht-Wechsel mit SkyX gemacht? Und darf man fragen, wie ihr die LightShafts/Godrays gelöst habt?
Der
Tag/Nacht-Wechsel wie der ganze Himmel ist ein selbst-implementiertes System. Das Sky Rendering läuft in 3 Passes ab
- Skydome mit Gradient aus 3 Farben, Interpolationswert für den mittleren, für Sonne zudem noch Position, Richtung und Attenuation-Wert
optional noch mit Sternen
Sternenhimmel wird mit einer zuvor in Gimp erzeugten hochauflösenden Sternen-Textur mit Nebelandeutungen usw. einfach draufgeklatscht; das Know-How zur Sternen-Textur kam aus verschiedenen Gimp-Tutorials wo generisch Sterne und mehr erzeugt wurden; den exzellenten
Artikel von Krishty hab ich auch zur Rate gezogen - die dort beschriebenen Techniken waren mir jedoch für dieses Szenario zu aufwendig. Allerdings kann man da trotzdem eine interessanter Dinge Menge lernen! Ein Dithering wie er es dort beschreibt möchte ich noch Implementieren - das Banding am Himmel ist manchmal schon arg (sieht man im Vid wegen Kompression nicht)
- Optional Planeten
- Wolken nochmal mit einem Skydome. Ja ich weiß man sieht sie kaum derzeit, weils eher Dunst ist. Sie bringen aber tatsächlich ein bischen mehr Leben rein. Momentan einfaches 2 Schichtenverfahren mit nem vorgenerierten Perlin Noise (verschieden Geblendet mit unterschiedlichen Größen und Geschwindigkeiten)
Das wirklich aufwendige dann aber ist das zugehörige Konfigurationstool, mit dem sich für verschiedene Tageszeiten verschiedene States (die später übergeblendet werden) konfigurieren lassen. Deutlich erschwert wird dies durch die HDR-Werte.
Die
Lightshafts laufen nach folgendem Prinzip ab:
- Extrahiere die hellen Stellen des Himmels in eine 1/4 Screenbuffersize L8 Rendertarget
Da kann man seeeehr viel variieren - zb kann man auch Farbig machen, oder in HDR rechnen. Ich habe mich jedoch für ein L8 Format entschieden, da das anschließende Blur dadurch schneller wird. Außerdem werden die Helligkeitsstufen nicht aus dem HDR-Bild, sondern aus dem bereits "getonemapten" rausgenommen. Dafür gibts sowohl Pro als auch Contra Argumente; in jedem Fall aber macht es die Sache schneller
Das ich nur den Himmelbereich kriege, löse ich über die Tiefentextur, die ich dank Deferred Shading sowieso hab - überall dort wo die Tiefe 0 ist, ist bei mir der Himmel.
Die Formel für den Helligkeitswert ist wieder so eine Geschmackssache - ich gewichte Kanalweise (mach also ein Punktprodukt der Farbe mit der Gewichtung) und Potenziere dann.
- Radial Blur auf das L8 Target... VIEL Radial Blur
Derzeit sind es 40 Samples per Pixel bei uns ... aber die Qualität ließe sich mit mehr noch deutlich erhöhen - dank L8 4tel Screensize gehts aber überraschend flott.
Als Zentrum dient natürlich die Sonne
. Wichtig ist, dass man die Blurlänge je nach Winkel von Lichtrichtung (Sonne) und Betrachter abschwächt - schaut der Betrachter im 90° Winkel oder mehr zur Sonne, kann man den Effekt bedenkenlos abschalten.
Werdet ihr den Editor eigentlich irgendwann (natürlich nachdem das Projekt fertig ist) eigentlich frei zu Verfügung stellen,
sodass man seine eigenen Mods zum Spiel machen kann? Oder den Editor vielleicht für sogar für eigene Spiele nutzen kann?
Jep wir haben vor den
Editor mit zu veröffentlichen. Allerdings dürfte viel mehr als Mods nicht machbar sein, da wir viele Spielaspekte dann doch fest verdrahten wollen. Gerade beim Aufbaupart der derzeit ebenfalls entsteht wird das meiste Hardgecoded.
Außerdem sind die Objekttypen und -Eigenschaften sehr auf die Bedürfnisse von Xrodon II ausgelegt.
@ Rest
Vielen Dank für die überschwänglichen Reaktionen, sowas macht schon Freude
Aber scheut euch nicht auch konkret zu werden - für Fragen, Kritik und Anregungen steh ich und natürlich auch der Rest des Teams stets zur Verfügung