Die Vertrautheit mit dem Unity 2D-Kachelkartensystem bietet Indie-Entwicklern und Spielestudios eine hervorragende Gelegenheit, Zeit zu sparen, um Prototypen zu erstellen und hochwertige 2D-Spiele zu erstellen.
Ohne dieses System können Sie Tage, wenn nicht Wochen damit verbringen, Ihr eigenes Kachelkartensystem zu schreiben oder das eines anderen zu verarbeiten. Und das ist nur Programmierung, aber was ist mit dem Kachelkarten-Editor?
Das neue System ist kostenlos und direkt in den Unity-Editor integriert. Es bietet viele Funktionen, die wir in diesem Tutorial behandeln werden.
In diesem Artikel verwenden wir ein einfaches 2D-Spiel, um Folgendes herauszufinden:
- Wie Kachelkarten funktionieren.
- So aktivieren Sie Kachelkarten in Unity und passen das Raster an.
- So fügen Sie einem Projekt Sprites hinzu, konvertieren sie in Kacheln und fügen sie dann der Kachelpalette hinzu.
- So verwenden Sie Kacheleditor-Tools zum Erstellen von Ebenen.
- So sortieren Sie Kacheln und platzieren sie in verschiedenen Ebenen.
- So fügen Sie Unity-Physikkacheln hinzu.
- So färben Sie Kacheln dynamisch.
- So ändern Sie vorgefertigte Kacheln mit nativem Code und Logik.
- So fügen Sie dem Projekt eigene Erweiterungen und Kachelzuordnungsskripte hinzu.
Ja, die Liste war großartig. Aber keine Angst - wenn wir anfangen zu verstehen, werden Sie schnell verstehen, wie einfach diese Tools sind.
Hinweis: In diesem Lernprogramm wird davon ausgegangen, dass Sie gut mit dem Unity-Editor arbeiten können. Wenn Sie der Meinung sind, dass Sie damit nicht vertraut sind, finden Sie im Tutorial Einführung in Unity alles, was Sie zum Erlernen dieses Tutorials benötigen. Darüber hinaus benötigen Sie Unity Version 2017.3 oder höher.
Was ist ein Plättchenspiel?
Ein 2D-Kachelspiel ist ein Spiel, bei dem Ebenen oder Spielbereiche aus vielen kleinen Kacheln (Kacheln) bestehen, die zusammen ein Kachelraster bilden. Manchmal können die Unterschiede zwischen den Plättchen offensichtlich sein, und manchmal scheinen sie den Spielern solide und nicht zu unterscheiden.
Die Sammlung von Kacheln im Spiel wird als Kachelsatz bezeichnet, und jede Kachel ist normalerweise ein Sprite, das Teil eines Spritesheets ist. Wenn Sie besser mit Sprite-Blättern umgehen möchten, haben wir ein 
Tutorial , das Unity-Sprite-Blätter beschreibt.
Wie Sie in diesem Tutorial sehen können, sind Kacheln normalerweise Quadrate. Sie können aber auch eine andere Form annehmen - Rechtecke, Parallelogramme oder Sechsecke. In Spielen wird normalerweise eine Draufsicht oder Seitenansicht verwendet, aber manchmal wird in Kachelspielen auch 2.5D verwendet.
Vielleicht kennen Sie bereits die beiden beliebtesten Spiele, die das Kachelkartensystem verwenden: 
Starbound und 
Terraria .
An die Arbeit gehen
Laden Sie die Projektmaterialien für dieses Tutorial herunter und entpacken Sie die ZIP-Datei.
Starten Sie den Unity-Editor und laden Sie das 
Rayzor-Starter- Projekt aus den entpackten Projektmaterialien.
Hier ist, womit Sie in diesem Projekt arbeiten werden:
- Cinemachine / Gizmos: Unity Cinemachine wird nur hinzugefügt, um eine benutzerfreundliche Kamera zu implementieren, die dem Player folgt.
- Paletten: In diesem Ordner speichern wir unsere eigenen Kachelpaletten.
- Fertighäuser: Einige Fertighäuser, die wir später im Spiel verwenden.
- Szenen: Hier werden Szenen geöffnet und gespeichert.
- Skripte: Einige einfache Skripte zur Steuerung der Bewegung des Spielers, der Logik der Kollision von Fallen und des Gewinns / Verlusts im Spiel. Dieser Ordner enthält auch Unity Tilemap-Skripte aus dem Unity 2D Extras Github-Repository , die wir später verwenden werden.
- Sfx: Sounds für das Spiel.
- Sprites: 2D-Sprites, aus denen wir Kachelpaletten erstellen. Sie werden aus einer Packung Höhlen und Kerker für Roguelike genommen . Der Autor des Pakets ist kenney.nl.
Spieleerstellung
Öffnen Sie die Spielszene aus dem Ordner " 
Szenen ".
Klicken Sie im Editor auf die Schaltfläche " 
Spielen" , um das Spiel zu starten. Bewegen Sie den Helden im Spielfenster mit den WASD-Tasten oder den „Pfeilen“.
Während der Held mit der Farbe # 00000 durch den scheinbar endlosen Hintergrund der Kamera wandert, verloren in der Leere.
Um dies zu beheben, benötigen wir 2D-Kachelwerkzeuge, um interessante Levels und Spielmechaniken zu erstellen.
Kachelpalette kennenlernen
Klicken Sie im Editor auf 
Fenster -> Kachelpalette , um das Fenster 2D- 
Kachelpalette zu öffnen.
Dieses Fenster ist Ihr bester Freund, wenn Sie an Kachelspielen in Unity arbeiten.
- Diese Reihe von Symbolen bietet grundlegende Werkzeuge zum Bearbeiten, Zeichnen und Löschen von Kacheln
- Mit dieser Auswahl können Sie verschiedene Paletten erstellen, die als Paletten zum Zeichnen wahrgenommen werden können, in denen wir die "Farben" und in diesem Fall Kacheln platzieren.
- Mit dieser Auswahl können Sie Pinsel mit unterschiedlichem Verhalten erstellen. Sie können eigene Pinsel hinzufügen, deren Verhalten sich vom Standardpinsel unterscheidet (z. B. Zeichnen von Fertigkacheln mit zusätzlichen Funktionen).
Klicken Sie auf 
Neue Palette erstellen und benennen Sie die 
RoguelikeCave- Palette. Ändern Sie nicht die Raster- und Zellenoptionen.
Klicken Sie auf 
Erstellen und speichern Sie die neue Palette im 
Ordner Assets \ Palettes des Projekts. Erstellen Sie darin einen neuen 
RoguelikeCave- Ordner.
Nun sollte die Ordnerstruktur Ihres Projekts folgendermaßen aussehen:
Im Fenster des 
Kachelpaletten-Editors sollte 
RoguelikeCave ausgewählt sein. Zu diesem Zeitpunkt haben wir noch keine Kacheln:
Wie kann ein Künstler seine Meisterwerke schaffen, wenn er keine Materialien hat?
Wählen Sie den Projektordner 
Sprites / roguelike-Cave-Pack aus, ohne das Fenster 
Kachelpalette zu schließen, und erweitern Sie das Asset 
roguelikeDungeon transparent.png . Wählen Sie dann alle Sprites in diesem Sprite-Blatt aus: Wählen Sie das erste Sprite aus, halten Sie die Umschalttaste gedrückt und wählen Sie das letzte Sprite aus.
Ziehen Sie alle ausgewählten Sprites in das RoguelikeCave-Fenster der Kachelpalette:
Ziehen Sie die Sprites per Drag & Drop in das Fenster Kachelpalette und wählen Sie einen Ort zum Speichern von Assets in Unity aus.
Erstellen Sie einen neuen 
Kachelordner in 
Assets / Palettes / RoguelikeCave und wählen Sie diesen Ordner als Speicherort aus:
Unity generiert für jedes aus dem Sprite-Blatt hinzugefügte Sprite ein Kachel-Asset. Warten Sie, bis der Vorgang abgeschlossen ist, vergrößern Sie dann das Fenster der Kachelpalette und bewundern Sie die gleichmäßigen Reihen schöner neuer Kacheln in der RoguelikeCave-Palette:
Wiederholen Sie den obigen Vorgang, um mithilfe des Fensters " 
Kachelpalette" eine Kachelpalette zu erstellen . 
Benennen Sie diesmal jedoch die neue 
RoguelikeCustom- Palette.
Legen Sie die neue Palette in einen neuen Ordner. 
Benennen Sie den Ordner 
RoguelikeCustom und verschieben Sie ihn in den 
Ordner Assets / Palettes des Projekts.
Verwenden Sie dieses Mal unter Verwendung des oben beschriebenen Prozesses die Sprites aus dem 
Blatt Assets / Sprites / roguelike-custom / roguelike-normal-cutdown-sheet.png , um die Kacheln der neuen Palette auszufüllen. Erstellen Sie einen 
Kachelordner im 
RoguelikeCustom- Palettenordner und verschieben Sie die Kachelbestände dorthin:
Freuen Sie sich, jetzt kennen Sie die Magie der Erstellung einer Kachelpalette!
Fliesen Map Mesh
Öffnen Sie das 
GameObject- Menü oben im Unity-Editor (oder die Unity-Menüleiste, wenn Sie MacOS verwenden), klicken Sie auf 
2D-Objekt und dann auf 
Tilemap , um ein neues Tilemap-Raster zu erstellen:
Sie sollten sehen, dass der Szenenhierarchie ein neues GameObject- 
Raster hinzugefügt wurde. Erweitern Sie es und wählen Sie die integrierte GameObject 
Tilemap aus .
Stellen Sie sich diese 
Tilemap als eine Ebene (vielleicht eine von vielen) in Ihrem Spiel vor. Sie können neue Objekte hinzufügen, um zusätzliche Tilemap-Ebenen zu erstellen.
Im Inspektor sehen Sie zwei Komponenten, die Unity automatisch zu diesem GameObject hinzugefügt hat:
- Die TilemapKomponenteTilemapvon der Unity-Engine verwendet, um Sprites in der mit derGridKomponente gekennzeichneten Schaltung zu speichern. In unserem Fall ist dies GameObject Grid . Wenn Sie Tilemap zum ersten Mal erstellen, müssen Sie sich nicht wirklich um alle technischen Funktionen der Kommunikation von Unity zwischen all diesen Komponenten kümmern.
- Tilemap Rendererbezeichnet das Material, das zum Rendern von Kacheln in Tilemap verwendet wird. Außerdem können Sie die Sortiereigenschaften dieser Tilemap-Ebene konfigurieren.
Benennen 
Sie GameObject 
Tilemap in 
BaseLayer um .
Verwenden verschiedener Zeichenwerkzeuge für Kachelpaletten
Schalten Sie den Editor in den Szenenmodus.
Wählen Sie die RoguelikeCave-Palette aus, ohne die Kachelpalette zu schließen, und wählen Sie dann das 
Pinselwerkzeug aus (oder drücken Sie 
B ). Wählen Sie eine Sandkachel wie unten gezeigt:
Bewegen Sie den Cursor im Szenenfenster auf das Raster neben dem Player. Die Sandfliesenbürste rastet am Gitter ein.
Halten Sie die linke Maustaste gedrückt und zeichnen Sie einen rechteckigen Bereich um den Player. Es wird auf der Tilemap BaseLayer-Ebene gezeichnet:
Das Zeichnen großer Flächen kann eine eintönige Aufgabe sein, daher gibt es einen Pinsel mit 
gefüllten Kisten, mit dem große Flächen 
gemalt werden können. Klicken Sie im Fenster Kachelpalette auf das 
quadratische Pinselsymbol (oder drücken Sie 
U ).
Kehren Sie zum Editor zurück und zeichnen Sie ein noch größeres Rechteck um den Player, indem Sie die linke Maustaste gedrückt halten und den Cursor von links oben in die untere rechte Ecke ziehen:
Obwohl wir dem Spiel ein wenig Farbe hinzugefügt haben, sieht dieser Sandkerker langweilig aus. Es ist Zeit, einige Details hinzuzufügen!
Verwenden Sie die 
Menüoption GameObject -> 2D-Objekt -> Tilemap , um eine neue Tilemap-Ebene zu erstellen. Diesmal ist es das einzige Objekt, das in der Hierarchie erstellt wird, da wir bereits ein geeignetes Raster haben. Benennen Sie diese Ebene in 
DungeonFloorDecoration um :
Wechseln Sie im Fenster " 
Kachelpalette" die 
aktive Tilemap in die 
Ebene "DungeonFloorDecoration" :
Wählen Sie das 
Pinselwerkzeug ( 
B ) und zeichnen Sie die auf der Karte verstreuten Objekte im Szenenfenster:
Deaktivieren Sie die 
DungeonFloorDecoration in der GameObject-Hierarchie und aktivieren 
Sie sie erneut, um zu sehen, wie das Rendern auf der aktiven Tilemap die DungeonFloorDecoration-Ebene ändert und alle gerenderten Kacheln auf diese neue Ebene fallen:
Erstellen Sie erneut eine neue Tilemap-Ebene mit der 
Option GameObject -> 2D-Objekt -> Tilemap . Nennen 
wir es 
kollidierbar . In Zukunft schaffen wir damit Wände und Grenzen.
Schalten Sie die aktive Tilemap im Fenster " 
Kachelpalette" auf " 
Kollidierbar" . Wähle das Pinselwerkzeug ( 
B ) aus und zeichne die folgenden Kacheln, um eine Wand um den Spielbereich zu bauen. Die im Bild unten rot hervorgehobenen Bereiche sind die neuen Teile, die hinzugefügt werden müssen:
Schauen Sie sich den Screenshot unten im Fenster "Kachelpalette" an, um herauszufinden, wo sich die Kacheln befinden, die zum Erstellen der Wand benötigt werden. Vergessen Sie nicht, dass Sie die Kombinationen STRG-Z oder CMD-Z verwenden können, um die Aktion rückgängig zu machen oder Fehler mit dem aktuellen Pinsel zu löschen (während Sie die 
Umschalttaste gedrückt halten ):
Starten Sie das Spiel im Editor und versuchen Sie, durch die Wand zu kommen:
Wer hat den Noclip-Modus aktiviert? Sie haben das nicht erwartet?
Das Problem ist, dass wir nur die Standardkacheln gezeichnet haben und die magische Physikeinheit noch nicht auf die Tilemap-Ebene angewendet haben.
Wählen Sie GameObject 
Collideable aus und fügen Sie eine neue Komponente hinzu, indem Sie im 
Inspektorfenster auf die Schaltfläche Komponente hinzufügen klicken. 
Geben Sie im Suchfeld 
Tilemap Collider 2D ein :
Diese Komponente wurde speziell für Unity 2D-Kachelspiele erstellt. Es wendet einfach die Form des physischen Colliders auf alle Kacheln in der Ebene an, zu der er hinzugefügt wurde, ohne andere Arbeiten auszuführen.
Starten Sie das Spiel erneut und versuchen Sie, durch die Wand zu kommen. Zugang verweigert!
Hinweis: Manchmal können Sie beim Bewegen der Kamera kleine schwarze Linien zwischen einigen Kacheln bemerken. Dies scheint ein Problem mit der Kamerabewegung in Projekten mit dem 2D-Tilemap-Unity-System zu sein. Sie können es fast vollständig entfernen, indem Sie Anti-Aliasing in den Grafikeinstellungen deaktivieren. Selbst wenn dies im Beschaffungsprojekt erfolgt, ist der Effekt dennoch leicht spürbar. Die Lösung für dieses Problem könnte darin bestehen, ein eigenes Kamerabewegungsskript mit Pixelversatz hinzuzufügen. Eine gute Diskussion dieses Problems finden Sie hier .
Kollisionen funktionieren gut, und Sie könnten denken, dass das genug ist. Derzeit werden Collider jedoch nicht effizient optimiert. Vergrößern Sie im Szenenmodus einen Teil der Wand und sehen Sie sich die Konturen der Collider an:
Um jedes Plättchen befindet sich ein Collider. Die mittleren Wandabschnitte benötigen diese zusätzlichen Kollider nicht.
Fügen 
Sie bei ausgewähltem GameObject 
Collideable die 
Composite Collider 2D- Komponente hinzu. Dadurch wird auch automatisch RigidBody2D hinzugefügt.
Setzen Sie den Parameter 
BodyType RigidBody2D auf 
Statisch und aktivieren Sie das Kontrollkästchen 
Von Composite verwendet in der 
2D- Komponente 
Tilemap Collider :
Danach werden Sie feststellen, dass diese unnötigen quadratischen Kollider in der Mitte der Wände verschwinden.
Beenden Sie die Erstellung der Wände, indem Sie sie oben aufbauen und schließen, etwa 16 Kacheln hoch. Vergiss nicht. dass die kollidierbare Datei als aktive Tilemap des 
Fensters Kachelpalette ausgewählt werden soll:
Die Dungeon-Sektion wird für unseren Helden ohne Hindernisse keine Schwierigkeit darstellen. Jetzt werden wir mit der Schaffung des Todesraums beginnen, der durch wunderschöne alte Marmorkorridore ergänzt wird. Nach Überwindung all dieser Hindernisse erhält der Spieler eine Belohnung - einen Berg aus Gold.
Um diese Korridore zu zeichnen, verwenden wir den speziellen Fliesenpinsel 
Rule Tile . Wie Sie zu Beginn des Tutorials gesehen haben, wurden dem Projekt bereits zusätzliche Kachelskripte aus dem 
Unity 2D Extras Github-Repository hinzugefügt. Eines davon ist Rule Tile.
Mit Regelkachel können wir Regeln festlegen, welche Kacheln abhängig von den benachbarten Kacheln, die wir haben, gezeichnet werden sollen.
Klicken Sie mit der rechten Maustaste auf den Ordner 
Prefabs des Projekts und wählen Sie 
Erstellen -> Regelkachel (dieses Element sollte sich oben im Menü befinden). 
Nennen Sie das neue 
MarbleFloorRuleTile- Element:
Wählen Sie diese neue 
MarbleFloorRuleTile aus und setzen Sie mit dem Inspektor das 
Standard-Sprite auf 
roguelikeDungeon_transparent_335 . Fügen Sie dann eine neue Kachelregel hinzu, indem Sie auf das Symbol 
+ klicken. Wählen Sie den Wert 
roguelikeDungeon_transparent_339 für 
Sprite dieser Regel aus und klicken Sie auf alle äußeren Quadrate im Regelschema, sodass auf jedem ein grüner Pfeil nach außen zeigt:
Zeichnen 
Sie mit dem Feldfüllpinsel ( 
B ) in der Kachelpalette und der Auswahl der Tilemap- 
Basisschicht einen geraden Abschnitt der Marmorwand. Es ist notwendig, dass es den gesamten freien Raum des Bodens bedeckt.
Sie können feststellen, dass die Ebene dabei die Wandkacheln mit Kollidern schließt, da die Reihenfolge der Ebenen noch nicht festgelegt wurde. Dies kann einfach behoben werden, indem Sie 
GameObject Collideable 
auswählen und die 
Reihenfolge in der Ebene der 
Tilemap Renderer- Komponente auf einen höheren Wert 
ändern ( 
5 reicht aus):
Gehen Sie zurück zum 
Prefabs- Ordner des Projekts, öffnen Sie das Kachelfenster, wählen Sie die RoguelikeCave-Palette aus und ziehen Sie 
MarbleFloorRuleTile an eine leere Stelle in der Palette:
Verwenden Sie den Kastenfüllpinsel und zeichnen Sie einige Teile des Marmorbodens in den Raum:
Beachten Sie, dass eine benutzerdefinierte Regelkachel, die vollständig von allen Winkeln und Flächen umgeben ist, zu einer dekorierten Kachel wird (das im Editor für Kachelregeln ausgewählte Sprite).
Das ist eine Falle!
Nein, wir werden Admiral Akbar nicht als Charakter zum Spiel hinzufügen. Wir werden einen Fliesenpinsel für das Fertighaus der Falle erstellen, mit dem wir Fallen zeichnen, die mit rotierenden Klingen schießen!
Erstellen Sie ein neues leeres GameObject in der Hierarchie und nennen Sie es 
ShootingTrap . Erstellen Sie ein leeres GameObject-Kind in ShootingTrap. Nennen Sie es 
Sprite :
Wählen Sie 
Sprite aus und fügen Sie die 
Sprite Renderer- Komponente hinzu. Setzen Sie die 
Sortierebene auf 
Player und die 
Reihenfolge in Ebene auf 
1, damit sie über den restlichen Ebenen gerendert wird. Wählen Sie das 
Sprite- Feld aus und legen Sie 
roguelikeDungeon_transparent_180 als Sprite fest.
Drehen Sie nun die Transformation des 
Sprite- Objekts um 
-90 in der 
Z- Achse:
Kehren Sie als Nächstes zu GameObject 
ShootingTrap zurück und fügen Sie mithilfe des Inspektors eine neue Komponente hinzu. Suchen Sie im Suchfeld nach 
Shooting Trap und hängen Sie dieses Skript an.
Dieses Skript wird zu den heruntergeladenen Projektdateien hinzugefügt. Tatsächlich wird Corutin alle zwei Sekunden gestartet, wodurch eine vorgefertigte Instanz des rotierenden Sägeblattes (oder eines anderen vorgefertigten) in der aktuellen Position der Falle erstellt wird.
Setzen Sie den Parameter 
Item to Shoot Prefab der Shooting Trap-Komponente auf 
Projectile (das Fertighaus befindet sich in 
/ Assets / Prefabs ):
Starten Sie das Spiel erneut im Editor und verwenden Sie den Szenenmodus, um die Falle zu finden. Sie arbeitet!
Ziehen Sie eine Kopie von 
ShootingTrap aus der Hierarchie in den 
Ordner / Assets / Prefabs des Projekts, um ein Fertighaus zu erstellen. Entfernen Sie ShootingTrap aus der Hierarchie.
Wir verwenden ein anderes 
Kachelpinselskript namens 
PrefabBrush , um einen Pinsel zu erstellen, mit dem Fertighäuser auf Tilemap-Ebenen gezeichnet werden können.
Klicken Sie mit der rechten Maustaste auf den 
Ordner / Assets / Prefabs des Projekts und wählen Sie 
Erstellen -> Fertigpinsel . 
Nennen Sie das Objekt 
PrefabBrush .
Verwenden Sie den Inspektor, um den Parameter 
Prefabs Size PrefabBrush auf 
1 und den Parameter 
Element 0 auf 
ShootingTrap zu setzen .
Erstellen Sie eine neue Tilemap-Ebene mit dem Namen " 
Traps" im 
Raster und öffnen Sie das Fenster "Kachelpalette".
Wählen Sie den normalen Kachelpinsel ( 
B ) aus und wählen 
Sie im Dropdown-Menü unten im Fenster 
Kachelpalette PrefabBrush aus . Wählen Sie Active Tilemap 
Traps als Ebene aus und zeichnen Sie im Szenenfenster mehrere vorgefertigte Traps am linken Rand des Raums.
Erweitern Sie die GameObject- 
Traps in der Hierarchie und experimentieren Sie mit dem 
Shoot Start Delay- Wert für jeden Wert auf jedem Gameobject 
ShootingTrap mithilfe des Shooting Trap-Skripts im Inspektor. Addiere 0,25 zum Wert jeder Falle, d.h.
- First ShootingTrap -> Shoot Start Delay = 0.1
- Zweite ShootingTrap -> Shoot Start Delay = 0,35
- Dritte ShootingTrap -> Shoot Start Delay = 0.6
- Usw...
Starten Sie das Spiel und bestehen Sie den Test, wenn Sie sich trauen.
Ultimatives Ziel
Das Ziel dieses Mini-Dungeons ist es, einen Haufen Gold zu bekommen. Ruhm und Reichtum erwarten diejenigen, die es erreichen, und vermeiden tödliche fliegende Klingen.
Erstellen Sie eine neue Tilemap-Ebene mit dem Namen " 
Ziel" in GameObject 
Grid . Wählen Sie 
Ziel und ändern Sie den Wert der 
Tilemap-Renderer-Reihenfolge in Ebene auf 
2 :
Stellen Sie sicher, dass PrefabBrush weiterhin ausgewählt ist, ohne das Fenster Kachelpalette zu schließen. Stellen Sie 
Element 0 auf die 
Zielvoreinstellung im Ordner / Assets / Prefabs des Projekts.
Dies ist ein Fertighaus mit einem Berg aus goldenem Sprite, mit Box Collider 2D mit aktiviertem Is Trigger, einer zusätzlichen 
Goal.cs und einem einfachen 
Goal.cs Skript, das den Sound des Erreichens des Ziels reproduziert und das Level neu startet, wenn der Spieler in den 
Goal.cs fällt.
Verwenden Sie den Standard-Fliesenpinsel, um eine vorgefertigte Zielkachel oben im Raum hinter den Fallen zu zeichnen:
Starten Sie das Spiel erneut und versuchen Sie, das Ziel zu erreichen. Wenn Sie zu dieser Kachel gelangen, wird die 
OnTriggerEnter2D() Logik von 
Goal.cs , die den Soundeffekt reproduziert und den Pegel neu 
Goal.cs .
Feinschliff
Jetzt ist der Dungeon zu leicht und frei. Wir können dem Stil hinzufügen, indem wir zu einem 2D-Sprite-Material wechseln, das auf Licht reagieren kann.
Wählen Sie die Objekte Sprite Player, Goal und ShootingTrap aus und lassen Sie das Sprite Renderer- 
Material SpriteLightingMaterial verwenden :
Dies ist Material mit einem daran befestigten 
Sprite / Diffuse- Shader. Dadurch kann die Szenenbeleuchtung Sprites beeinflussen.
Wählen Sie im GameObject- 
Raster die 
Objekte BaseLayer, DungeonFloorDecoration, Collideable und Goal aus und verwenden Sie dann den Inspektor, um das 
Tilemap Renderer-Material SpriteLightingMaterial auch im Material 
zu verwenden .
Wählen Sie dann in GameObject 
Lights Richtungslicht und reduzieren Sie das 
Intensitätslicht auf 
0,3 .
So viel besser!
Außerdem werden Sie jetzt feststellen, dass der Spieler ein 
Punktlicht trägt, dh eine 
Laterne , die um ihn herum leuchtet.
Nachdem die Sprites in der Szene das richtige Material verwenden, wirkt sich die Unity-Beleuchtung auf alle umgebenden Sprites aus.
Ziehen Sie zwei Kopien des FlickerLight- 
Fertighauses aus dem 
Ordner / Assets / Prefabs des Projekts in Scene und platzieren Sie sie in GameObject 
Lights .
Stellen Sie die erste Fertighausposition 
(X: -11,25, Y: 4, Z: -1,35) und die zweite - 
(X: 2,75, Y: 4, Z: -1,35) ein .
Erstellen Sie eine neue Tilemap-Ebene mit dem Namen 
WallsAndObjects und setzen Sie die 
Tilemap-Renderer-Reihenfolge im Ebeneninspektor auf 
15 . Denken Sie daran, dass 
Material auch 
SpriteLightingMaterial verwendet .
Schalten Sie den 
Kachelpalettenpinsel wieder auf 
Standardpinsel und die 
aktive Tilemap auf 
WallsAndObjects .
Zeichnen Sie mit dem Pinsel ( 
B ) zwei „Lichtlampen“ -Kacheln unter jedes der neuen FlickerLights, die wir an den Ecken des Anfangsbereichs platziert haben:
Zeit der Schwierigkeit
Mal sehen, ob wir den Dungeon noch weiter verbessern können. Verwenden Sie die Ebene Tilemap 
WallsAndObjects , um Bücherregale oben im 
Dungeonraum mit einer anderen 
Kachelpalette namens 
RoguelikeCustom zu erstellen . Zeichnen Sie auch ein oder zwei Teile der rissigen Wand.
Kehren 
Sie zur Ebene Tilemap 
DungeonFloorDecoration zurück und fügen Sie dem Marmorboden weitere Details hinzu, z. B. Risse auf mehreren Fliesen:
Herzlichen Glückwunsch, du hast dein erstes Mini-Dungeon-Level abgeschlossen! Als Ergebnis sollten Sie etwas Ähnliches erhalten:
Wohin als nächstes?
Wenn Sie einen Schritt verpasst haben, können Sie sich das fertige Ergebnis dieses Tutorials ansehen, indem Sie das Unity 
Rayzor-Abschlussprojekt aus herunterladbaren 
Materialien öffnen .
Wir haben in diesem Tutorial viel gelernt, aber wie bei jedem anderen Unternehmen gibt es immer etwas anderes!
Es gibt interessante Kachelpinselskripte, die in diesem Tutorial nicht behandelt werden. Lesen Sie 
hier darüber und überlegen Sie, ob Sie sie verwenden können.
Hier erfahren Sie auch, wie Sie animierte Kacheln erstellen.