Im letzten Teil des Unity 2D Tutorials hast du verschiedene Möglichkeiten kennengelernt, um animierte 2D Objekte zu platzieren. Durch ein Spritesheet können solche Objekte animiert werden. Ein Spritesheet ist nichts anderes als eine Sammlung aus einzelnen Sprites. Diese 2D Objekte werden nacheinander dargestellt, sodass eine Animation zu erkennen ist.
Außerdem haben wir über bereits bestehende Skripte eine Logik erstellt, die das Aufsammeln der Token ermöglicht. Dabei gab es 2 Animationen. Eine Animation für den Token, der noch nicht gesammelt wurde. Und eine Animation, sobald der Player den Token berührt. Nun wollen wir uns um die Erstellung eines Gegners in unserem Jump and Run spiel kümmern. Denn ohne Gegner ist ein solches Spiel nicht sonderlich interessant…
Übersicht Unity 2D Tutorial
1/12 – Einrichtung und Installation
2/12 – Erstellung 2D Character
3/12 – Erstellung Level
4/12 – Münzen einsammeln
5/12 – Erstellung Gegner (aktueller Artikel)
6/12 – Kamera mit Cinemachine
7/12 – Erstellung Respawn Punkt
8/12 – Audio & Sound
9/12 – Userinterface und Punktestand
10/12 – Laden weiterer Level
11/12 – Erstellung Hauptmenü
12/12 – Export Unity Projekt
Erstellung eines Gegners
Nachdem wir in den letzten Abschnitten bereits einige GameObjects zu der Scene hinzugefügt haben, soll nun ein weiteres in Form eines Gegners hinzukommen. Dafür verwenden wir ein vorhandenes Asset aus dem Template. Wechsle dazu unter Assets in den Prefabs Ordner und ziehe das Asset Enemy in die Hierarchie. Sobald der Gegner eingefügt ist, kannst du die Position in der Scene beliebig variieren.
Werfen wir einen kurzen Blick auf die einzelnen Komponenten des GameObjects:
- Transform: Platzierung und Skalierung des GameObjects
- Sprite Renderer: Darstellung der Grafiken
- Animator: Animation (Abspielen der Grafiken)
- Rigidbody 2D: Physik des GameObjects
- Capsule Collider 2D: Collider zur Interaktion mit anderen GameObjects
- Animation Controller: Skript mit Logik zur Steuerung der Animation
- Enemy Controller: Skript mit Logik zur Steuerung des Gegners
- Audio Source: Audiodaten für das GameObject
Nun kannst du testen, ob es möglich ist, auf den Gegner zu springen. Klicke auf den Play Button und springe mit der Leertaste auf den Gegner.
Allerdings wirst du bemerken, dass sich der Gegner derzeit noch nicht horizontal bewegt. Das kannst du ganz einfach ändern, indem du einen Pfad mit einer Start- und Endposition angibst. Dafür verwenden wir ein bestehendes Skript aus dem Template. Gehe dazu in Assets in den Ordner Scripts -> Mechanics. Dort solltest du das Skript PatrolPath finden. Dort ist bereits eine Start- und Endposition definiert. Diese Positionen bestimmen, in welchem Bereich sich der Gegner bewegen wird.
Um das Skript verwenden zu können, musst du dir in der Hierarchie ein leeres GameObject mit dem Namen PatrolPath erstellen. Danach fügst du eine neue Komponente ein. Suche das Skript PatrolPath und wähle es aus. Im Anschluss wechselst du zum GameObject Enemy und dort zur Komponente Enemy Controller. Hier kannst du unter Path das PatrolPath wählen.
Erstellung Gegner und Patrol Path
Hinweis: Mit dem ultimativen Unity Cheat Sheet erhältst du einen detaillierten Überblick über Tipps & Tricks mit dem Umgang von Unity. Sichere dir jetzt das Cheat Sheet, um deine Anwendungen noch einfacher und effektiver erstellen zu können!
Die Parameter für den Path kannst du jederzeit ändern. Navigiere zum GameObject PatrolPath und ändere den Parameter für die Start- und Endposition. Mehrere Gegner können übrigens auf die gleichen Pfade verwiesen werden. Denn die Position wird immer in Relation zu ihrer globalen Position in der Scene verwaltet.
Soweit so gut, unser Jump and Run Spiel nimmt langsam Gestalt an. Im nächsten Abschnitt wollen wir die Kamera einrichten. Aktuell haben wir zwar eine Scene, aber die Kamera ist statisch angeordnet und folgt noch nicht dem Player. Das werden wir im nächsten Teil des Unity 2D Tutorials ändern.
Änderung Parameter für Start- und Endposition Patrol Path