Das 2D Game Kit ist ein Plattformer, den du in einem der Unity Tutorials kreieren kannst. In dem Jump and Run lernst du Gegner einzubauen, Türen per Schalter zu öffnen und deine Figur zu teleportieren.
Erst einmal kommst du hier zum 2D Game Kit bei Unity
Zuerst kreieren wir eine neue Szene.
Eine neue Szene kreieren
Das Projekt erlaubt das Anlegen neuer Szenen im 2D Game Kit. Diese Szenen enthalten Ellen (unsere Heldin), einen kleinen Plattformer, Health UI und alles was du benötigst, um dich zu bewegen und anzugreifen.
Lass uns für das 2D Game Kit eine neue Szene erstellen:
– Im Hauptmenü wähle Kit Tools
– Aktiviere Create New Szene
- Ein neues Fenster öffnet sich
- Im leeren Feld neben New Szene gebe den Szenennamen ein
-Klicke Create
Unity erstellt eine neue Szene an deinem Projekt und fügt diese zu den Build Settings hinzu.
Unity öffnet eine neue Szene im Editor, den du arbeiten kannst.
Einen Level erstellen
Das 2D Game Kit nutzt Unity’s Tilemap-Funktionen, die entworfen sind, um dir zu helfen, einen Level schnell und einfach zu malen. Das Kit bietet dir alles, sodass du direkt starten kannst.
Beginne mit dem Level Design:
Im Hauptmenü gehe zu Window–>2D–>Tile Palette
Du benötigst zwei Tile Palettes, die dir erlauben, einen Level zu malen.
Diese Tiles nutzen das skriptfähige Tile-System der Unity Tilemap. Sie wählen automatisch das richtige Sprite für den Plattformer. Wir haben zwei Arten von Sprites.
Wir müssen auf Nummer sicher gehen, dass in der Tile Palette die korrekten Einstellungen vorgenommen sind:
Klicke dann auf das Tile Palette Menü.
Wähle Tileset_Gamekit
Wähle das Tile, das du für deinen Level nutzen möchtest
- Jetzt lass uns einige Tiles in der Szene malen, um den Level zu kreieren:
- Klicke auf Tile Palette, um ein Tile auszuwählen
- Navigiere zum Szenenbildschirm
- Klicke Links, um das ausgewählte Tile in den Level zu ziehen und deinen Level zu erstellen
- Wenn du einen Fehler machst benutze den Radiergummi der Tile Palette, um ausgewählte Tiles zu löschen
Deine Level vom 2D Game Kit testen
Jetzt, nachdem du einen Level erstellt hast, ist es Zeit ihn zu testen:
– drücke play oben im Editor
Folgende Tasten benötigst du im 2D Game Kit für Ellen, den Spielcharakter
Bewegen: A, D
Springen: Leertaste
Hocken: S
Schießen: O
Nahkampf: K
Aktivieren: E
Eine Plattform durchqueren: S und Leertaste
Es gibt außerdem ein Debug-Menü. Drücke F12 auf der Tastatur, um die Option zu ermöglichen oder die Waffen von Ellen im Game View zu deaktivieren.
Eine bewegliche Plattformen hinzufügen
Bevor wir beginnen, GameObjects im Szenenbildschirm zu manipulieren, gehe auf Nummer sicher, dass du dich nicht im Bearbeitungsmodus mit der Tile Palette befindest. Um dies sicherzustellen schließe die Tile Palette oder wähle das Bewegungstool in der oberen linken Ecke des Editors. Du kannst ebenso das Bewegungstool wählen, indem du wie auf der Tastatur W drückst.
Jetzt lass uns eine bewegliche Plattform im Level einbauen:
Navigiere ins Projektfenster:
-gehe zu Prefabs–> Interactables –>Moving Platform
In Interactables findest du alles, womit deine Spielfigur interagieren kann. Dazugehören Türen, Schalter & Co.
Klicke links und ziehe die bewegliche Plattform in Bildschirm.
Nutze dieses Tool, um die bewegliche Plattform dort zu platzieren, wurde sie im Level haben möchtest.
Wenn du die bewegliche Plattform ausgewählt hast, erscheint eine rote Linie mit einem Bewegungstool und einem roten Pfeil am Ende. Dies zeigt den Weg an, den die Plattform nehmen wird, wenn gespielt wird.
Welchen Weg nimmt die Plattform?
Nutze das Bewegungstool, um zu beeinflussen, welchen Weg die Plattform nutzen soll.
Eine Vorschau der beweglichen Plattform und ihres Weges zu bekommen, wähle die bewegliche Plattform und gehe folgendermaßen vor:
– Navigiere ins Inspektorfenster
– in der Komponente der beweglichen Plattform, finde den Preview Positions Slider
– Wähle diese Option aus, um zu sehen, wohin sich die bewegliche Plattform bewegen wird.
Gestalte den Weg der Plattform etwas komplexer, indem du dafür sorgst, dass sie sich in einem Rechteck bewegt. Wir tun das, indem wir Nodes hinzufügen.
Nodes sind zusätzliche Navigationspunkte für die bewegliche Plattform.
Im Inspektorfenster, suche die Moving Platform Component.
Klicke zweimal Add Node.
Es werden zwei weitere rote Linien eingefügt.
Diese kannst du nutzen, um die Position der Punkte festzulegen, zu denen sich die Plattform bewegen soll.
Du wirst feststellen, dass es keinen Weg gibt von der letzten Plattform zum Anfangspunkt gibt. Wenn du Play drückst, wird die Plattform letzten Punkt stoppen. Die Plattform bewegt sich zum letzten Punkt und bewegt sich anschließend wieder zurück.
Die Einstellungen der Plattform
Du kannst im 2D Game Kit die Einstellungen der Plattform verändern, damit sich ihr Weg wiederholt:
Suche in der Moving Platform Componente, die Looping-Option.
Klicke im Drop-down-Menü, bei dem Back_Forth eingestellt ist
Wähle Loop
Dies erlaubt eine Wiederholung des Weges, den die Plattform nimmt. Der letzte Punkt und der Anfangspunkt des Weges werden miteinander verbunden.
Jede Komponente im Spiel hat viele Optionen, die eingestellt werden können.
Eine Tür mit einem Events öffnen
Das 2D Game Kit erlaubt, Events zu erstellen. Wir nutzen die Events, um zum Beispiel eine Tür zu öffnen, wenn der Spieler auf eine Plattform tritt.
Zuerst füge eine Tür hinzu:
Im Projektfenster viele Prefabs–>Interactables
Suche Door Prefab und ziehe es in den Szenenbildschirm. Platziere es irgendwo auf dem Weg des Spielers, wo es den Weg des Spielers blockiert.
Nun wählen wir ein Pressure Pad, die Druckplatte aus. Die Druckplatte muss betätigt werden, damit die Tür sich öffnet:
Du findest es ebenfalls im Projektfenster unter Prefabs–>Interactables und suche das PressurePad Prefab
Ziehe sieauf den Boden vor der Tür.
Einige Events sind bereits definiert, wie zum Beispiel das PressurePad, wenn der Spieler darauf tritt. Die Druckplattform spielt eine Musik ab und leuchtet auf. Jetzt verbinden wir das PressurePad und die Tür.
Das PressurePad
Wähle im Hierarchiefenster das PressurePad.
Suche im Inspektorfenster die PressurePad-Komponente.
In der On Pressed-Liste klicke + unten rechts und füge ein neues Event hinzu
Ziehe das Door GameObject vom Hierarchiefenster zu None(Object), unter Event.
Im Dropdown-Menü steht momentan No Function. Suche den Animator–>Play(string)
In der nächsten Textbox unter dem Menü gebe den Text DoorOpening ein.
Starte das Spiel und nutze Bewegungstasten, um auf die Druckplatte zu rennen und die Tür zu öffnen. Die Tür sollte sich öffnen!
Alle Animatoinsclips im Projektfenster finden sich unter Art–> Animations–>Animation Clips.
Um verschiedene Animationen in einem Event abzuspielen, muss der Name des Animation Clips exakt ausgewählt sein.
Wenn du den Schalter ändern möchtest, anstatt eines Druckfeldes, kannst du dies auf die gleiche Weise tun, aber stattdessen den ReusableSwitch im Prefabs-Ordner auswählen.
Feinde hinzufügen
Es gibt zwei vorgefertigte Feinde: Chomper und Spitter.
Finde diese im Projektfenster Prefabs–>Enemies
Sie werden beide von der Enemy Behaviour-Componente im Inspektorfenster kontrolliert. Du kannst diese Komponenten nutzen, um Einstellungen vorzunehmen, wie zum Beispiel die Geschwindigkeit des Gegners, das Blickfeld, die Gesundheit und vieles mehr. Jeder Gegner hat die gleichen Komponenten, nur dass sie unterschiedlich eingestellt sind.
Beachte, dass du nicht nur bestimmte Werte festlegen kannst, sondern auch auf die Komponenteneigenschaften klicken und sie nach links / rechts ziehen kannst, um die Werte zu beeinflussen.
Füge Chomper in der Szene hinzu. Spiele mit den Einstellungen, wie zum Beispiel Geschwindigkeit und Sichtfeld herum. Vergiss nicht im Spielmodus mit F12 die Waffen zu aktivieren und mit O oder K anzugreifen.
In der Szene wähle Chomper aus. Wir können seinen View FOV und die View Direction einstellen, sodass er Ellen nicht registriert, bevor er sich umdreht.
Schaden mit Objekten
In diesem Abschnitt entdecken wir das Schadenssystem. Um dies zu tun, wollen wir eine Box auf den Gegner werfen, um ihn auszuschalten.
Erstelle im Level einen Abschnitt, auf dem Ellen sich in einer höheren Position befindet. Chomper befindet sich auf einer niedrigeren Plattform.
Gehe zu Prefabs–> Enemies und ziehe dem Gegmer in den Szene und platziere ihn auf der niedrigeren Ebene im Level, bei der Klippe
– wähle ihn später aus und gehe auf das Enemy Behaviour Script
– reduziere die View Distance, so der Gegner nicht sofort auf dich schießt, wenn du das Spiel startest
– Im Projekt Fenster gehe zu Prefabs–> Interactables, klicke und ziehe das Pushable Box Prefab in den Szene
– Wähle die Pushable Box im Hierarchiefenster und klicke im Inspektorfenster auf Add Component
– Klicke auf Damager, um die PushableBox hinzuzufügen.
Die Damagekomponente
Die Damagekomponente sagt dem GameObjects, dass die Damageable Component (der angegeben Gegner) Schaden erleiden.
Der Damager wird von einer grünen Kollisionsbox repräsentiert, die angezeigt wird. Dies ist der Bereich, der Schaden verursacht. Hier gibt es momentan noch keinen Zusammenhang zur PushableBox. Wenn du also diese auf den Gegner wirfst, wird er keinen Schaden erleiden.
Bewegen wir diese Box so, dass sie ungefähr der Größe und Position der Pushable Box entspricht. Hierfür gibt es zwei Möglichkeiten:
– wähle und ziehe die grünen Punkte an den Ecken der grünen Kollisionsbox zu denen der Kiste, die geworfen wird.
– Suche im Inspektorfenster die Damager Componente
– Passe die Form und die Größe an, um das Kollisionsfeld zu positionieren und zu vergrößern. Am einfachsten ist es, mit der linken Maustaste auf die Markierungen zu klicken und nach links und rechts zu ziehen, um durch die Werte einzustellen.
Zuletzt gehe auf Nummer sicher, dass der Schaden dem richtigen Spieleobjekt zugefügt wird. Wir teilen die Objekte in bestimmte Ebenen (Layers) im Editor ein, sodass sie leicht gefunden und getrennt werden können:
– Wähle PushableBox
– Im Inspektor suche die Damager-Komponente
– Unter Hittable Layers im Dropdown-Menü wähle Enemy Layer
– Die PushableBox wird jetzt Schaden zu allem auf dieser Ebene zufügen, wie zum Beispiel unserem Gegner
Dekorieren
Zusätzlich gibt es dekorative Elemente, die du einbauen kannst. Finde diese unter Art–>Sprites–>Environment
Viele dekorative Elemente finden sich in einem Unterordner, deshalb denke daran, die Pfeiler aufzufächern und zu sehen, welche Sprites sich in welcher Kategorie befinden.
Die Protagonistin vom 2D Game Kit
Ellen ist die Protagonistin im 2D-Kit.
Im Inspektorfenster erkennst du, dass sie ein Damageable Script hat, was bedeutet, dass sie durch alles was einen Damager hat, Schaden erleiden kann.
Fügst du beispielsweise Stacheln im 2D Game Kit ein, haben sie eine Damager-Komponente, welche dem Charakter schaden zufügt.
Wenn du ein HealthPickup einfügst, kann Ellen Gesundheit wiedererlangen, wenn es dieses einsammelt.
Um Ellen aus dem 2D Game Kit und die Kamera zeitgleich zu bewegen bzw. die Startposition von beidem zu veränden, wähle Ellen, drücke Strg und wähle zusätzlich die Kamera aus. Dann kannst du beide gleichzeitig über das Bewegungstool verschiedeben.
Den Spieler Teleportieren im 2D Game Kit
Du kannst den Spieler im 2D Game Kit von einer Szene in die andere oder zwischen verschiedenen Levels teleportieren.
Innerhalb einer Szene teleportieren:
Um den Spieler innerhalb der Szene zu teleportieren, benutzen wir transition. Für dies benötigen wir zwei Prefabs:
- TransitionStart
- TransitionEnd
– Zuerst müssen wir die Einstellungen für den Startpunkt festlegen:
im Projekt Fenster wähle Prefabs–>SceneControl
– Suche das TransitionStart Prefab
– Ziehe TransitionsStart ins Szenebild. Platziere es in einer Position, in welcher der Spieler den Collider bzw. die grüne Box berührt, wenn er darauf läuft.
Den Bestimmungsort festlegen:
Ziehe ein weiteres TransitionStart Prefab vom SceneControl-Ordner in den Szenenbildschirm
– Im Inspectorfenster benenne dies zu TransitionEnd
Das Verbinden für die Teleportation im 2D Game Kit
– Lass uns beide verbinden:
Im Hierarchiefenster wähle TransitionStart GameObject
– Im Inspektorfenster finden die TransitionPoint-Komponente
– Ziehe das Ellen GameObject vom Hierarchiefenster zur Transition Point-Komponente in den Transitioning Game Object Slot
– Setze den Transition Type auf Same Scene
Du tust dies, um sicher zu gehen, dass nur Ellen teleportiert wird und dass dies nur innerhalb der Szene geschieht.
Die Einstellungen für den Bestimmungsort
Jetzt lass uns im 2D Game Kit die Einstellungen des Bestimmungsortes festlegen:
Ziehe das TransitionEnd GameObject zum TransitionPoint und in den Slot für DestinationTransform
– Setze Transition When auf On Trigger Enter
Trigger Enter bedeutet, dass der Transport nur aktiviert wird, wenn der Spieler den Collider betritt. Ansonsten wird Ellen nur teleportiert, wenn du die Taste E drückst und Transition When auf Interact Pressed gestellt ist. Stellst du Interact Pressed ein, muss der Spieler eine Taste drücken, um zu teleportieren.
In eine andere Szene teleportieren
Dafür werden zum Beispiel im 2D Game Kit zwei Prefabs benötigt:
- TransitionStart, ist das gleiche Prefab wie vorher. Es sendet den Spieler zu seinem Bestimmungsort. Es enthält den Transition Point, der alle Einstellungen enthält, wo der Teleport startet und wohin der Spieler teleportiert werden soll. Platziere dieses Prefab dort, wo der Teleport beginnen soll.
- TransitionDestination ist ein Prefab, zu dem der Spieler gesendet wird. Es enthält die TransitionDestination-Komponente. Platziere das Prefabs in einer anderen Szene, wo der Transport beendet werden soll.
Einstellungen für den Bestimmungsort des Transportes
– Zuerst soll der Bestimmungsort im 2D Game Kit festgelegt werden. Wir benötigen alle Informationen von diesem, wenn der Startpunkt für den Transport festgelegt wird. Um dies für eine Szene hinzuzufügen, navigieren wir zum Projektfenster und gehen zu Prefabs–> SceneControl–>TransitionDestination
Platziere diesen deiner Szene, wo der Teleport eher hinführen soll.
Das TransitionDestination Prefab enthält im 2D Game Kit eine Scene Transition Destination-Komponente
– zuerst lege einen Buchstaben für Destination Tag fest. Dies ist relevant für die Scene Transition Destination Component
– Als nächstes lege das Objekt fest, dass transportiert werden soll. Ziehe nun das GameObject vom Hierarchie Fenster in den Slot für Transitioning Game Object.
– Schließlich gehe auf Nummer sicher, dass deine Szene sich in den Editor’s Build Settings befindet.
– Gehe zu File-->Build Settings und klicke auf Add Open Scenes
Den Startpunkt festlegen
– Diese Einstellungen entsprechen denen des vorigen Abschnittes:
– Transiton Type: Different Level
– New Scene Name: Der Name der Szene
– Transition Destination –> Destination Tag-Buchstabe aus der Transition Destination Componente
Beispiel: Sorge dafür, dass der Spieler in den ersten Level teleportiert wird.
In der Transition Start-Komponente stelle folgendes ein:
Transition Type: Different Level
New Scene Name: Zone1
Transition Destination: A
Drücke Play und gehe dorthin, wo der Teleporter ist. Du solltest den ganzen Weg bis zu Zone 1 teleportiert werden.
Zerstörbare Objekte im 2D Game Kit
Du kannst Objekte im 2D Game Kit hinzufügen, die zerstört werden können, wie z. B. Wände.
Im Beispiel findest du die Einstellungen zu DestructableWall_Whole.
Darin kannst du dann sämtliche Einstellungen am Objekt vornehmen.
Objekte, die zerstört werden können, haben ein Damageable Script.
Unter Starting Health stellst du beispielsweise ein, wie oft ein Objekt getroffen werden muss, bevor es zerstört wird.
Das Inventar im 2D Game Kit
Wenn deine Spielfigur im 2D Game Kit ein Inventar benötigt, braucht sie einen Inventory Controller.
Gegenstände, die aufgesammelt werden können, benötigen dann als Add Component das „Inventory Item“.
Der Schlüssel, den Ellen einsammeln soll, benötigt außerdem einen Collider, welcher der Größe angepasst wird.
Unter Inventory Key wird der Titel eingetragen, den das Item somit im Inventar trägt.
Stelle unter Layers Player ein, damit auch nur die Spielfigur den Schlüssel einsammeln kann. Füge außerdem einen Audio-Clip hinzu, wie zum Beispiel GenericPickup.
Erstelle eine Tür und sage dem System, dass sich für Ellen beim Einsammeln des Schlüssels die Tür öffnet. Dafür füge die Tür beim Inventarcontroller von Ellen ein und nehme dich gleichen Einstellungen wie bei der ersten Tür vor.
Damit der Schlüssel verschwindet, wenn Ellen ihn einsammelt, aktiviere im Invantarkontroller vom Schlüssel: Disable on Enter
Soll der Schlüssel im 2D Game Kit in einem Inventar erschienen, füge anschließend eine UI ein. Damit fügst du dann am rechten Platz den Inventarplatz für den Schlüssel ein.
Unter Key UI im Inspektorfenster vom KeyCanvas fügst du den Namen deines Objektes ein und gibst die Menge der zu sammelnden Objekte ein.
Dialoge einfügen mit dem 2D Game Kit
Du benötigst hierfür im 2D Game Kit ebenfalls den UI-Bereich. Du benötigst UI-Prefabs –> DialogueCanvas
Ziehe dieses ebenfalls unter UI. Dies muss beispielsweise verbunden werden, damit die Dialogbox erscheint, wenn ein Ereignis stattfindet.
Beim Teleporter füge über Add Component schließlich „Interact on Button 2D“ hinzu.
Damit sich dies nur auf Ellen bezieht, wähle dazu die PlayerLayer. Dafür wähle zuerst Nothing und dann Player im Layerfeld. Wähle unter Interact On Button 2D das Pluszeichen und ziehe außerdem vom Hierarchiefeld den DialogueCanvas in den leeren Objektraum.
Füge unter DialogueCanvas den Namen des Objekts ein, bei dem schließlich die Dialogbox erscheinen soll.
Je nachdem, was du dort eingibst, erscheint der Text im Textfenster.
Originally posted 2020-02-19 09:00:37.