Atmosphärische Umgebungen mit geringem Budget erstellen

Der heutige Gastbeitrag ist von Alfonso Caparrini, Mitbegründer und Entwickler bei Lapsus Games. Am 28. August veröffentlichte Lapsus ihr erstes Spiel, NODE: The Last Favor of the Antarii, ein einzigartiges 2,5D-Puzzle-Abenteuer mit absolut atemberaubender Beleuchtung im Spiel. Erfahren Sie, wie Alfonso, ein professioneller CG-Grafiker tagsüber, die Beleuchtung in HDRP angeht, um die dichtatmosphärischen Umgebungen vonNODE in Unity zu erschaffen.
Als Beleuchtungsgrafiker in der Animationsbranche bin ich daran gewöhnt, dass ich so ziemlich keine Grenzen habe, was ich zu einer Szene hinzufügen kann, um den Look zu erhalten, den ich möchte. Und wenn etwas nicht funktioniert? Ich repariere es beim Komponieren. Aber um einen einzelnen Frame aus dieser Pipeline herauszuholen, kann es Dutzende oder sogar Hunderte von Stunden Renderzeit erfordern.
Als ich mit der Entwicklung von NODE begann: Als letzter Gefallen der Antarii in Unity musste ich meinen Ansatz ändern, um die gewohnten filmischen, atmosphärischen Ergebnisse zu erhalten, aber er musste mit 60 Bildern pro Sekunde statt mit 60 Stunden pro Bild laufen.
Natürlich ist die Einführung einer volumetrischen Beleuchtung nie billig, aber hier sind einige der Tools und Techniken, die ich entwickelt habe, um NODE auf eine Weise zu beleuchten, die sich reichhaltig und filmisch anfühlt und gleichzeitig einfach genug ist, um in Echtzeit leistungsstark zu laufen.
Der übliche Ausgangspunkt: Nur ein Schlüssellicht
Hier beginnen alle: Sie werfen ein einziges Schlüssellicht hinein und hoffen, dass die Globale Beleuchtung (GI) den Rest magisch erfüllt.

Man backt die Szene und merkt dann, dass GI hilft, aber es reicht bei weitem nicht aus, um die Atmosphäre, Tiefe oder Stimmung zu bekommen, die man sich vorstellt, noch gibt es einem die notwendige Kontrolle über die Palette, um das zu erschaffen, was man sich vorgestellt hat.

Volumen: Tiefe hinzufügen
Da wir eine atmosphärische Umgebung wollen, aktivieren wir zunächst den Volumennebel. Es fügt sofort Atmosphäre, Tiefe und Direktionalität hinzu. Die Umgebung fühlt sich an, als hätte sie Luft in sich.
Aber immer noch nicht genug!

Das ist der Punkt, an dem Sie durchdrehen können, wenn Sie versuchen, überall Licht hinzuzufügen – gigantisches Licht, Licht ohne Schatten usw. –, um alle Räume zu füllen, die das Licht oder die GI abdeckt. Aber wenn man all diese Ideen auftürmt, wird sich die Szene wahrscheinlich durch Volumenverlust und Dimensionalität flacher anfühlen – oder viel langsamer laufen.
Mein Ziel für NODE war es, das Gefühl einer dicht atmosphärischen Umgebung zu erzeugen, in der Licht reflektiert und in der Luft gestreut wird, ohne die Leistung vollständig zu beeinträchtigen. Zu diesem Zweck habe ich diesen Workaround entwickelt.
Vortäuschen von Lichtstreuung in Luft mithilfe geometrischer Volumina
Um meine Beleuchtungsziele für NODE zu erreichen, habe ich einen sehr einfachen unbeleuchteten Shader entwickelt, der einen glatten Farbverlauf mit HDR Farben erzeugt. Ich habe Regler für Midpoint, Falloff und einen Emissionsmultiplikator hinzugefügt. Ich verwende diesen Shader für grundlegende Geometrien wie Kugeln, Kapseln, Kisten oder benutzerdefinierte Meshes, die an Stellen platziert sind, an denen ich Licht simulieren möchte, das die Luft füllt. Diese Volumes sind physikalisch nicht korrekt, aber sie fühlen sich richtig an.

In diesem speziellen Fall habe ich, auch wenn es unrealistisch ist, eine coole Komplementärfarbe gewählt, um mit der Wärme des Tastenlichts zu kontrastieren und eine meiner Meinung nach reichhaltigere Palette zu erschaffen. Sie können so viele Layer erstellen, wie Sie benötigen, und sie sogar mit unterschiedlichen Intensitäten stapeln, um den Zerfall besser kontrollieren zu können.

Das Ergebnis ist, dass sich die Szene so anfühlt, als würde sie auf der Luft selbst hüpfen und diese Räume füllen, und ich habe die vollständige Kontrolle über Ton und Intensität.

Im Ergebnis und der zugehörigen Lightmap können Sie sehen, wie dadurch ein Gradient in der Szene erzeugt wurde, der von dem Bereich ausgeht, in dem der Schaft des Tastenlichts der Szene viel Tiefe und Volumen verleiht.


Nebel-, Gradientenhimmel- und Tone-Mapping
Als nächstes ergänzte ich die Szene mit traditionellem Nebel – gerade genug, um der Szene basierend auf ihren Dimensionen Tiefe zu verleihen. Ich habe Helligkeit und Farbe mit einem Gradient Sky angepasst, wodurch ich die Farbpalette vereinheitlichen und den Gesamtton für die Umgebung festlegen kann.
Um all das zusammenzukleben, habe ich ACES Tone Mapping verwendet. Ohne allzu sehr ins Detail zu gehen, verleiht dies dem finalen Bild ein „cineastisches“ Gefühl.

Fließende Übergänge zwischen Atmosphären
Diese Kombination aus Nebel und volumetrischer Beleuchtung, farbig mit einem Gradient Sky, und der Verwendung geometrischer Volumina, die atmosphärische Lichtstreuung emulieren, ermöglichte auch sanfte Übergänge und einzigartige Atmosphären. Ich kann die Länge und die Übergangspunkte steuern, indem ich die Rampen für die Gradienten des unbeleuchteten Shaders, den ich erstellt habe, zusammen mit Unity Volume Blending für den Übergang zwischen verschiedenen Himmels- und Nebeleinstellungen anpasse.
Dadurch habe ich auch die Verwendung einer großen Anzahl von Lichtern vermieden und die Lichtbackzeiten sehr gering gehalten. Ich bin stolz darauf, sagen zu können, dass die Gesamtbackzeit für die 150 verschiedenen Szenen in NODE weniger als 1 Stunde beträgt!

Komplexe Beleuchtung mit einem einzigen Mesh lösen
In diesem Abschnitt werde ich einige Beispiele dafür geben, wie Sie mit dieser einfachen Technik komplexe Beleuchtungsprobleme problemlos lösen können.
In diesem Aufzugschacht musste ich von den Grüntönen der U-Bahn zum Blau des Daches wechseln. Mit nur einer Box habe ich die chromatische Basis erstellt, um diesen Übergang zu erleichtern – und das ohne zusätzliche Leistungskosten.

In engeren Räumen, wie diesem Kontrollraum, konnte ich zwei verschiedene Umgebungen zwischen den Monitoren und der Mitte der Szene erstellen, was mir die Lichtverpackung gab, die ich brauchte.


Letzte Gedanken
Beleuchtungsmodus: Beim Last Gunst of the Antarii ging es darum, Einschränkungen zu nutzen und sie in kreative Möglichkeiten umzuwandeln. Da ich aus der Welt der Animation komme, musste ich vieles überdenken, was ich wusste: Wie man ohne Kompositionen schummelt, wie man das Auge leitet, ohne mehr Licht auf das Problem zu werfen, und wie man eine Szene ansprechend erscheinen lässt, ohne die Leistung zu beeinträchtigen.
Hoffentlich geben Ihnen einige dieser Tricks Ideen für Ihr eigenes Projekt oder dienen zumindest als Erinnerung daran, dass es immer einen Weg gibt, den ersten intuitiven Ansatz zu umgehen. Danke fürs Lesen!
NODE: The Last Favor of the Antarii ist jetzt für PC und Konsolen verfügbar – wünschen Sie sich das Spiel hier. Folgen Sie weiteren Spielen Made with Unity auf unserer Steam Curator-Seite und sehen Sie sich weitere Geschichten von Unity Entwicklern auf unserer Ressourcenseite an.
