Finde einen Schatz an Beleuchtungs- und visuellen Effekten in unserem neuen 3-Gewinnt-Beispiel Gem Hunter Match

SHANTI ZACHARIAH / UNITY TECHNOLOGIESSenior content marketing manager
Apr 29, 2024|8 Min.
Finde einen Schatz an Beleuchtungs- und visuellen Effekten in unserem neuen 3-Gewinnt-Beispiel Gem Hunter Match
Diese Website wurde aus praktischen Gründen für Sie maschinell übersetzt. Die Richtigkeit und Zuverlässigkeit des übersetzten Inhalts kann von uns nicht gewährleistet werden. Sollten Sie Zweifel an der Richtigkeit des übersetzten Inhalts haben, schauen Sie sich bitte die offizielle englische Version der Website an.

Gem Hunter Match, ein neues offizielles Unity-Beispiel, zeigt Ihnen, wie sich ein 2D-Puzzle/Match-3-Spiel mit auffälligen Beleuchtungs- und visuellen Effekten, die mit der Universal Render Pipeline (URP) in Unity 2022 LTS erstellt wurden, von der Konkurrenz abheben kann.

Laden Sie das Beispiel zusammen mit dem Mini-Handbuch herunter und machen Sie sich bereit, in kristallblauen Gewässern mit farbenprächtigen Juwelen und Meeresbewohnern nach Reichtümern zu tauchen. Sie lernen, wie Sie 2D-Sprites vorbereiten und beleuchten, um ihnen Tiefe zu verleihen, einen Sprite Custom Lit-Shader für Schimmer anwenden und Blend- und Welleneffekte erzeugen.

Herunterladen Gem Hunter Match.

Sehen Sie sich das Skript Gem Hunter Matchin Unity Samples an.

Das neueste hochwertige URP-Beispiel für Unity-Entwickler
Unity URP Spielbeispiele
Unity-Beispiele für URP

Gem Hunter Match folgt dem URP 3D Sample und Fröhliche Ernte als das neueste in einer Reihe von Beispielen, die von mehreren Unity-Teams erstellt wurden und die die vielen Möglichkeiten von URP in Unity 2022 LTS für 3D- und 2D-Multiplattform-Projekte veranschaulichen. Am Ende dieses Beitrags finden Sie einen Link zu weiteren großartigen URP-Lernressourcen.

Dieser spielbare Ausschnitt eines plattformübergreifenden Match-3-Puzzlespiels ist im Unity Asset Store und bei den Unity Samples erhältlich. Sie können Gem Hunter Match mit Ihren Assets oder Ihrem Gameplay anpassen oder alle Sprites, Shader, Effekte, Audio, Texturen und Skripte in einem eigenen Projekt wiederverwenden.

Eine einfache Spielschleife mit bunten Elementen
Die Spielschleife in Gem Hunter Match
Die Spielschleife in Gem Hunter Match

Blasen, Korallen und eine wachsame Meerjungfrau bilden den Hintergrund für das Spielbrett in Gem Hunter Match. Perlen, rosa Saphire, rubinrote Seesterne, blaue Fische, goldene Muscheln und schläfrige Meeresschildkröten bevölkern das Spielfeld in den drei spielbaren Levels. Entferne die Edelsteine und verdiene Booster und Münzen, indem du drei oder mehr Objekte zusammenbringst. Booster helfen dir, die Ziele zu erreichen, aber wenn du versagst, verlierst du ein Herz. Holzkisten und Seile sind Blocker; finde drei neben einer Holzkiste oder unter einem Seil, um sie zu entfernen.

Ein Beispiel für das Gameplay in Gem Hunter Match
Ein Beispiel für das Gameplay in Gem Hunter Match

Die einfache Spielschleife enthält ein Inventar, das Sie wiederverwenden können. Hier sind seine wichtigsten Elemente:

Die Hauptszene: Dieser Bildschirm listet alle spielbaren Level auf, die von einem ScriptableObject namens LevelList referenziert werden, das sich im Ordner Data befindet.

Die Level-Szene: Dies zeigt den Aufbau für das Gameplay. Sie müssen die Elemente im Abschnitt " Ziele" löschen.

Im Ordner Data/BonusItems befinden sich die Booster und die referenzierte Prefab, die Parameter wie die Combo-Form enthält, die gespawnt werden soll (falls mehrere Teile die gleiche Combo-Form haben, wird eine zufällige ausgewählt). Sie können Ihre eigenen Booster im oberen Menü über Assets > Erstellen > 2D Match erstellen.

Ende des Levels / Der Laden: Wenn du ein Level nicht schaffst oder abschließt, kannst du in den Shop gehen und dir Booster, Herzen oder andere Währung kaufen. Alle Shop-Artikel befinden sich im Ordner Data/ShopItems (Sie können auch eigene Artikel über Assets > Erstellen > 2D-Match hinzufügen). Zu den Artikeln im Shop gehören:

Münzen: Verdiene Münzen mit drei oder mehr Übereinstimmungen und verwende sie als weiche Währung. Herzen oder Leben: Diese Booster geben dir die Möglichkeit, einen gescheiterten Level erneut zu versuchen. Wenn dem Spieler in einem Match-3-Spiel die Booster ausgehen, gibt es oft eine Abklingzeit, bevor er seine Lebens-/Gesundheitspunkte wieder auffüllen kann.

Sterne: Du sammelst sie ein, nachdem du jeden Level abgeschlossen hast. In echten 3-Gewinnt-Spielen sind die Sterne oft Teil des Metaspiels, der Dekoration oder werden verwendet, um die Handlung voranzutreiben.

Kreative Kontrolle mit objektbezogener Beleuchtung auf 2D-Sprites
Verwendung des Knotens "Punktprodukt" im Shader-Graphen zur Erzeugung von Effekten auf einem Edelstein im Beispiel

2D-Puzzle- und 3-Gewinnt-Spiele sind beliebt, weil sie niedlich und farbenfroh sind, einfach und unterhaltsam zu spielen und für jeden von fast überall aus zugänglich.

Sie können auch schöne Grafiken enthalten, aber mit ihrer statischen Kamera, dem repetitiven Gameplay und, in vielen Fällen, vorgefertigten Licht- und Schatteneffekten, sind sie nicht gerade für herausragende Licht- und visuelle Effekte bekannt. Und doch gibt es viele Möglichkeiten, mit Glitzern und Schimmern für zusätzlichen Spaß zu sorgen.

Ein Sprite Custom Lit Shader ist eine der Techniken, die zur Erstellung der visuellen Effekte in Gem Hunter Match verwendet werden. Dieser Shader ersetzt die Szenenbeleuchtung und ermöglicht es uns, die 2D-Lichttexturinformationen zu ändern und die Beleuchtung der einzelnen Teile zu steuern. Das Ergebnis ist eine kreative Beleuchtung der Sprites, wie der schimmernde Effekt, der sich über die Figuren bewegt.

Die Lichtpositionsdaten werden in den Shader verlagert, so dass keine eigentlichen Lichtobjekte in der Szene benötigt werden, was ebenfalls zur Übersichtlichkeit beiträgt. Die gekapselte objektbezogene Beleuchtung im Shader eignet sich gut für eine bessere Isolierung und Bearbeitung bei der Skalierung und verbessert die Leistung, wenn eine Stapelverarbeitung möglich ist.

Normale Maske und Maskenkarte

Da die Licht- und Schatteninformationen im Shader gespeichert sind, werden nur die Farbinformationen in die Sprites aufgenommen. Die Normal Map wird vom 2D-Lichtsystem verwendet, um die Richtung jedes Pixels zu berechnen und sicherzustellen, dass es je nach seiner Position mehr oder weniger Licht erhält. Die Mask Map wird von Lichtern verwendet, die einen bestimmten RGB-Kanal beeinflussen können.

Die Lights-Vorlage in Gem Hunter Match-Levelszenen enthält die 2D-Lichter für das Gitter. Diese Lichter wirken sich auf den Standard-Shader "Sprite Lit" aus und werden auf die Gitterelemente angewendet, die in der Sortierebene enthalten sind und Licht erhalten.

Das folgende Bild veranschaulicht die Schritte bei der Erstellung der Sprites und wie sich der Sprite Custom Lit-Shader in diesen Prozess einfügt.

Sprite-Vorbereitung im Spiel
Sprite-Zubereitung: Die verschiedenen Lichter im Spiel verwenden die Sprite-Informationen, um ein dynamisches 2D-Lichtsystem zu erzeugen; weitere Informationen finden Sie im Mini-Handbuch, das Gem Hunter Match beiliegt.
Ein Blendeffekt bringt die Edelsteine zum Leuchten

In Gem Hunter Match wird eine "fiktive" Lichtposition durch das LightRotator GameObject dargestellt, das animiert wird, um einen Blendeffekt auf den Edelsteinen zu erzeugen. Die Änderungen an der 2D-Lichttextur und die mit dem Dot Product Node erzeugten Glanzlichter werden beide im TileShader Shader Graph verwendet, der auf die Edelsteine im Spiel angewendet wird.

Abbildung des Punktproduktknotens
Verwendung des Knotens "Punktprodukt" im Shader-Graphen zur Erzeugung von Effekten auf einem Edelstein im Beispiel

Der Knoten "Punktprodukt" kann in 2D-Projekten nützlich sein, wenn Sie eine benutzerdefinierte Beleuchtung erstellen möchten. Das Punktprodukt misst, wie nah zwei Vektoren aneinander liegen. In der Probe wird die LightDirection-Position mit der scheinbaren Richtung jedes Pixels in der Normal Map verglichen. Das abgetastete Schwarz-Weiß-Bild kann verwendet werden, um dem Sprite Licht hinzuzufügen und die Werte zur Laufzeit für alle Teile zu aktualisieren, die denselben Shader verwenden.

Edelsteinjäger-Spiel erhalten

Kamera-Sortier-Ebenen-Textur für einen Schockwellen-Effekt
Der Schockwellen-/Verkrüppelungseffekt im Edelsteinjäger-Spiel
Der Schockwellen-/Verkrüppelungseffekt im Edelsteinjäger-Spiel

Der Radial Warp-Shader verwendet die URP 2D Camera Sorting Layer Texture-Einstellung. Mit dieser praktischen Funktion haben Sie Zugriff auf die Grafiken, die bis zur angegebenen Sortierebene in den URP 2D Renderer-Einstellungen erzeugt wurden und die Sie dann in Shader Graph verwenden können, um Effekte anzuwenden. In der Fröhliche Ernte wird die Kamera-Sortierschicht-Textur verwendet, um einen Wasserbrechungseffekt zu erzeugen, und in Dragon Crasherswird sie für eine Rauchverzerrung verwendet. In diesem Beispiel verwenden wir sie, um eine Verzerrung anzuwenden, die eine Schockwelle simuliert und so einen zusätzlichen visuellen Anreiz bietet, wenn Sie einen Treffer erzielen. Das ist die Art von Effekt, die eine Wirkung erzeugt, an die sich Ihre Spieler erinnern werden.

Bringen Sie Ihr gelegentliches 2D-Spiel zum Strahlen
Lassen Sie sich von unserem neuesten URP-Beispiel inspirieren
Lassen Sie sich von unserem neuesten URP-Beispiel inspirieren