
Dieser Artikel basiert auf dem Vortrag von Martin Reinmann mit dem Titel Wie Odd Bug 2D-Lichter verwendet hat, um Stimmung zu erzeugen. Es behandelt den Entwicklungsprozess des Studios zur Gestaltung einer Szene und wie sie Unitys 2D-Beleuchtungssystem in Kombination mit ihren eigenen Tools verwendet haben, um die Umweltwelt von Tails of Iron zu schaffen.

Tails of Iron wurde von Odd Bug Studio entwickelt, einer Gruppe von Freunden und Künstlern mit Sitz in Manchester, U.K. Das Spiel besteht aus vielen verschiedenen Levels, in denen der Spieler frei von einer Szene zur nächsten durch Türen oder Tunnel navigieren kann.

Jede Szenenerstellung beginnt mit dem Collider-Tool, einem benutzerdefinierten Tool, das vom Level-Designer des Studios erstellt wurde. Dies wird als Grundlage des Levels platziert und gibt der Szene ihre allgemeine Form. Es ist auch die Oberfläche, auf der der Spieler läuft. Die Collider-Linie wird als Leitfaden verwendet, um Kompositionen und Ideen für die Erstellung einer Reihe von Assets zu skizzieren und sie in die Szene zu platzieren.
Aber bevor das geschieht, muss die Szene mit dem Licht- und Layer-Tool eingerichtet werden, einem benutzerdefinierten Tool, das der leitende Programmierer des Studios, Matt Taylor, erstellt hat. Dieses Tool ermöglicht es dem Team, die Beleuchtung sowie die Beschaffung und Anordnung der Sprite-Assets zu verwalten, während sie detaillierte Levels mit einer großen Menge separater Sprite-Assets erstellen, um Parallaxenlevels zu erzeugen.
Sobald das Team die Ebenen definiert, wie Hintergrund und Mittelgrund, sammelt das Licht- und Layer-Tool alle Sprite-Renderer im Szenenabschnitt. Dann können die Assets basierend auf der z Tiefe jedes Assets im Levelabschnitt von nächstgelegenen zu entfernt sortiert werden. Sobald diese Liste erstellt ist, weist das Tool die Werte linear zu und stellt sicher, dass die Assets in der richtigen Reihenfolge gerendert werden.
Sobald dieser Schritt abgeschlossen ist, weist das Tool eine Ebene basierend auf den zuvor definierten Unterteilungen in der Szene zu. Dies definiert, welche Sprite-Renderer von einem bestimmten 2D-Licht betroffen sind. Durch die Kombination dieser beiden Prozesse kann das Studio große, detaillierte Parallaxenebenen mit spezifischen Beleuchtungsszenarien pro Ebene erstellen.
Das Team hat auch eine Bibliothek von Assets erstellt, die in mehrere Atlanten für ein bestimmtes Level unterteilt sind, damit sie die Assets leicht für die Verwendung in den Szenen auswählen können. Die Bindung von Assets an spezifische Levels hilft bei der Optimierung. Ihre Atlanten sind in Kategorien wie Felsen, Bäume und kleine Assets unterteilt. Das Team beginnt normalerweise mit der Platzierung der Mittelgrund-Assets, um die Collider zu umreißen und die Oberflächen einer Szene zu verstärken.
Das Platzieren einiger Assets im Vordergrund und Hintergrund hilft, die Beleuchtung einzurichten. Sie fahren mit großen Assets wie Bäumen, Felsen und Hügeln fort, um eine gute Komposition zu erstellen und fügen später Details hinzu. Während die Assets positioniert werden, sorgt die "Sortieren"-Funktion des Lichtwerkzeugs dafür, dass die Assets korrekt zugewiesen und in der richtigen Tiefe gerendert werden.
Das Platzieren von Assets ist manchmal wie ein großes 3D-Puzzle. Es kann herausfordernd sein, die richtigen Formen zu finden, um eine effektive Szene zu erstellen, die auch vom Spieler lesbar ist. Odd Bug wollte, dass jede Szene einzigartig ist. Dies hilft dem Spieler, sich in der Welt zurechtzufinden, da jede Szene mit ihren eigenen Wahrzeichen oder Assets unvergesslich wird.
Sie platzieren Assets in unterschiedlichen Tiefen, um einen Parallaxeneffekt zu erzeugen, während der Spieler durch die Szene läuft und die Perspektivkamera ihm folgen kann. Dies kann verstärkt werden, indem die Assets weiter auseinander auf der z-Achse oder näher an der Kamera platziert werden. Sie können das Asset, das der Kamera am nächsten ist, dunkler oder ganz schwarz halten, da dies eine Grenze in der Nähe der Bildschirmränder schafft und die Tiefe verstärkt.
Ein weiteres großartiges Merkmal des angepassten Lichtwerkzeugs von Odd Bug ist, dass es sofort eine künstliche Tiefe erzeugt, indem die Farbe jeder Unterteilungsschicht verblasst, während sie sich zum Horizont bewegt. Es ermöglicht dem Team, die Dichte anzupassen und die globale Lichtfarbe und das Volumen dieses Verblassens festzulegen. Dies schafft eine optimierte Illusion mit einem verblassenden Horizont und atmosphärischem Nebel und kann, kombiniert mit hinzugefügten Lichtern und Partikeln, dramatisch unterschiedliche Stimmungen in den Szenen erzeugen.

Sobald die Szene mit Assets gefüllt ist, ist es Zeit, Lichter hinzuzufügen, um die Stimmung zu setzen und wichtige Teile der Szene hervorzuheben. Hier kommen die Unity 2D Lichter mit dem benutzerdefinierten Light Tool Workflow ins Spiel.
Odd Bug hat das 2D Unity Beleuchtungssystem für seine mehrschichtige Parallaxenvision angepasst. Jedes 2D Licht bestimmt seine eigene Ebene basierend auf seiner z Tiefe in der Szene unter Verwendung der manuell definierten Unterteilungsebenen. Alternativ kann das Team manuell festlegen, welche Ebene das 2D Licht beeinflusst.
Die 2D Lichter in jedem Abschnitt beleuchten automatisch Sprites in jeder Ebene korrekt. Dies gibt dem Team eine große Kontrolle über die Beleuchtung, je nachdem, wo die Lichter platziert sind. Zum Beispiel können Sie ein stärkeres Punktlicht einrichten, um den Mittelgrund und die Charaktere dort zu beleuchten, mit verblassten Lichtern im Hintergrund, um den Fokus auf den Mittelgrund zu legen.
Das Layered Light System ist nützlich, um coole Effekte wie Silhouetten-Szenen zu erstellen, mit einem Licht, das im Hintergrund platziert ist und nur die Hintergrundebenen beeinflusst, was zu sehr schwachen Lichtern in der Mittel- und Vordergrundebene führt. Zusätzlich können Sie eine andere Atmosphäre schaffen, indem Sie ein Licht hinter einem Fenster oder einer Tür hinzufügen.
Es gibt hauptsächlich drei verschiedene Lichttypen, die in den Szenen verwendet werden: Punkt, Freiform und Sprite.

Das Punktlicht wird am häufigsten im Spiel verwendet, da es ein 2D-Kreis ist, den Sie schnell platzieren können, um wichtige Assets hervorzuheben oder künstliche Schatten zu erzeugen. Sie können es als nebligen Schein im Hintergrund verwenden, indem Sie die Volumenopazität erhöhen, oder es als Schein von einer Lampe verwenden, indem Sie die Abfallintensität des Lichts anpassen.

Sie können das Freiformlicht verwenden, wenn Sie eine starke Lichtquelle auf einem Asset mit einer bestimmten Form, wie einem Fenster, hinzufügen möchten. Sie können einfach die Form des Assets nachzeichnen, die Abfallbeleuchtung anpassen und das Licht auf die genaue Tiefe des Assets setzen. Das lässt es so aussehen, als würde das Objekt Licht ausstrahlen.

Das Sprite-Licht ermöglicht es Ihnen, ein bestimmtes Asset als das Licht selbst zu projizieren. Das Team verwendete dies bei Lichtstrahlen, die eine texturierte Lichtquelle haben. Dies kann im Szenario platziert und gedreht werden, um das Licht aus verschiedenen Winkeln zu zeigen. Durch die Kombination verschiedener Lichtarten können Sie Szenen erstellen, in denen die Charaktere mit atmosphärischem Licht beleuchtet werden.

Sobald die Szene schön beleuchtet ist, können Sie mit der Verfeinerung beginnen, indem Sie Partikeleffekte platzieren, um Bewegung zu bringen und unordentliche Bereiche zu glätten. Sie können einen Partikelfog in einer ausgewählten z Tiefe platzieren und ihn so einstellen, dass er auf der richtigen Schichtebene gerendert wird. Nebel ist ein großartiger Effekt, um die einzelnen Schichten zu trennen und mehr Tiefe zu erzeugen. In Tails of Iron verankert das Platzieren des Nebels im Vordergrund des Mittelgrunds auch die Charaktere in der Welt. Auf diese Weise bewegt sich der Nebel leicht in die Richtung, in die der Spieler gehen soll.
Der nächste Schritt besteht darin, atmosphärische Effekte wie Staubpartikel, Regen oder fallende Blätter hinzuzufügen, je nach Szene. Es ist gut, diese näher an der Kamera zu platzieren, um einen stärkeren Parallaxeneffekt zu erzeugen. Der Regeneffekt ist eine Kombination aus fallenden Wassertropfen und Partikeln von animierten Wasserspritzern, die auf dem Boden platziert sind. Diese Partikel, wie fast jedes andere Asset, sind ihren eigenen Schichten zugewiesen, damit sie mit dem Parallaxeneffekt im Spiel konsistent sind.
Wenn eine Szene hohes Gras, Blumen oder Bäume hat, stellen Sie sicher, dass Sie ihr ein wenig Bewegung geben. Leitender Programmierer Matt Taylor hat ein Tool erstellt, das alle ausgewählten Foliage-Sprite-Shader aus einer Szene in einen einzigen speziellen Shader umwandelt, der sie zusammen im Wind animiert. Das Team kann die Werte jedes Assets individuell anpassen. Die Baumblätter sind in unterschiedlich großen Blattstücken um die Baumkrone herum platziert, um die Bewegung natürlicher zu gestalten.
Die Szene wird mit einer Farbverarbeitung und einem Vignettierungseffekt zusammengebunden. Sie verwenden ein benutzerdefiniertes Tool, um ein Feld über den Bereich der Szene zu zeichnen, den sie von der Nachbearbeitung beeinflussen lassen möchten. Sie können es über die gesamte Szene oder über verschiedene Elemente ziehen, die sich vermischen, während der Spieler durch die Szene geht. Wenn eine Szene mehrere verschiedene Zustände hat, wie Tag und Nacht, können Sie einen Ordner in dieser Szene erstellen, der alle Lichter, Assets und Filter enthält, die im Spiel ein- oder ausgeschaltet werden.
Schließlich macht das Team einen letzten Durchgang (oder drei) für die Assets, die Platzierung und alles andere, bis die Szene poliert ist. Für weitere Informationen oder Fragen zu Tails of Iron und dem Team dahinter, folgen Sie @OddBugStudio auf Twitter.
Wenn Sie sehen möchten, was die 2D-Tools von Unity können, laden Sie unbedingt das Lost Crypt Beispielprojekt herunter. Das Projekt enthält ein Tutorial-Fenster, das Sie durch Funktionen wie 2D-Animation, 2D-Sprite-Form, 2D-Kachelkarten, 2D-Lichter, Shader Graph für 2D, sekundäre Texturen und Volumen-Post-Processing führt.

2D-Spielgrafik, Animation und Beleuchtung für Grafiker ist unser größter, umfassendster 2D-Entwicklungsleitfaden, der für Unity-Entwickler und -Grafiker erstellt wurde, die ein kommerzielles 2D-Spiel erstellen möchten.