Unity3D KI / AI – Tutorial Serie
In meiner Unity3D Tutorial Reihe bin ich bereits auf die Grundlagen der 3D Spieleentwicklungsumgebung Unity eingegangen.
Nun will ich mich in dieser neuen Serie mit dem Thema Künstliche Intelligenz in Unity beschäftigen.
Künstliche Intelligenz in Computer-Spielen
In der Spieleentwicklung wird meistens unter dem Begriff „Künstliche Intelligenz“, kurz KI, das Verhalten von computergesteuerten Gegnern oder Mittspielern (NPCs) verstanden. Aber eine offizielle Definition des Begriffs gibt es nicht.
So kann man auch nicht sagen, wann KI eigentlich wirklich beginnt. Ist es schon intelligent, wenn sich eine Schatztruhe von alleine öffnet, nur weil der Spieler daneben steht? Da geht es schon los.
Jedenfalls kommt heutzutage eigentlich kein Computer-Spiel, egal ob Adventure, Racing-Game oder Brettspiel-Simulator ohne irgendeine Form von Künstlicher Intelligenz aus.
Inhalt
In dieser Tutorial-Serie behandel ich verschiedene Grundlagen, die bei der Entwicklung/Programmierung von Gegnern und NPCs in Unity3D nützlich sind.
Dabei lege ich vorallem Wert auf die Techniken und Mechanismen und wie Ihr diese in Unity3D einsetzen könnt und weniger darauf, ein vollwertiges Endprodukt zu entwickeln.
Hoffentlich gefällt Euch das Thema und auch die behandelten Unterthemen.
Tutorial-Folgen
Im Rahmen dieser Reihe sind die folgenden 18 Unity3D-Tutorials erschienen:
- Unity3D KI/AI Tutorial: #1 – Künstliche Intelligenz In diesem Tutorial werden Grundlagen zum Thema Künstliche Intelligenz erläutert sowie das Testszenario in Unity3D erstellt.
- Unity3D KI/AI Tutorial: #2 – Dialoge mit NPCs Mit etwas C#-Code werden wir einem Nicht Spieler Charakter (non player character) das Sprechen bzw. Kommunizieren beibringen. Gleichzeitig ist es auch die Einführunge für den nächsten Teil, in dem wir dieses Verhalten weiter ausbauen werden.
- Unity3D KI/AI Tutorial: #3 – Questgeber programmieren – Aufgaben übertragen In diesem Tutorial-Teil wird die Künstliche Intelligenz des NPCs ergänzt. So wird sie zu einem Questgeber erweitert, die unserem Spieler eine Aufgabe aufträgt und auf verschiedene Zustände unterschiedliche reagiert.
- Unity3D KI/AI Tutorial: #4 – NPC Follower / Begleiter – Ausrichtung mit Quaternion Wir beginnen in diesem Tutorial mit dem Programmieren eines freundlich gesonnen Begleiterts für unseren Hauptcharakter. In diesem Teil werden wird dafür sorgen, dass sich dieser immer mit einer kleinen Verzögerung zu unserem Spieler ausrichtet.
- Unity3D KI/AI Tutorial: #5 – NPC Follower / Begleiter – Gehen In dem zweiten Abschnitt des Follower-Kapitels bringen wir den KI-Charakter nun endlich zum Laufen.
- Unity3D KI/AI Tutorial: #6 – NPC Follower / Begleiter – Animation Vernünftige KI-Mitspieler besitzen natürlich auch Animationen, die die Bewegungen der NPCs realistischer wirken lassen. In diesem Teil sorgen wir dafür, dass unser NPC von Unity3D auch dementsprechend animiert wird.
- Unity3D KI/AI Tutorial: #7 – NPC Follower / Begleiter – Raycasts und Anhöhen Der NPC soll sich nicht nur auf einem Höhenlevel bewegen können, sondern auch auf höher und tiefer gelegene Ebenen. In diesem Teil sorgen wird dafür, dass der KI-Charakter einen Abhang herunterspringen kann.
- Unity3D KI/AI Tutorial: #8 – NPC Follower / Begleiter – Stufensteigen In diesem Teil werden wir dafür sorgen, dass unser in Unity3D entwickelte NPC auch Stufen steigen kann und so unserem Spieler auch konsequent verfolgen kann.
- Unity3D KI/AI Tutorial: #9 C# Vererbung für Gegner-KI Dieser Teil stellt den Beginn eines neuen Abschnitts dar. Ab hier entwickeln wir die Künstliche Intelligenz eines Gegner-NPCs. Und als Grundlage dient uns dabei das Follower-Skript, weshalb dieses Tutorial auch das Thema Vererbung in C# behandelt.
- Unity3D KI/AI Tutorial: #10 Coroutinen in C# Um dem Gegner das Angreifen zu ermöglichen, werden wir eine Coroutine programmieren, die diese Aufgabe behandelt. In diesem Tutorial erkläre ich, wie wir dies in C# machen und wo die Besonderheiten liegen.
- Unity3D KI/AI Tutorial: #11 Kampf / Angriff In diesem Teil entwickeln wir Code für das Angreifen und Schießen unseres KI-Charakters. Ein wichitger Teil ist hierbei auch die Berücksichtigung der unterschiedlichen Animationen.
- Unity3D KI/AI Tutorial: #12 Zielerkennung mit Raycasts in C# Um das Verhalten des NPCs etwas realistischer zu gestalten, werden wir in diesem Unity3D-Tutorial die Künstliche Intelligenz mit Raycasts erweitern.
- Unity3D KI/AI Tutorial: #13 Verfolgen Damit der NPC seinen Gegner auch dann noch weiter folgt, auch wenn dieser bereits nicht mehr zu sehen ist, werden wir in diesem Tutorial noch einige Anpassungen an der KI machen.
- Unity3D KI/AI Tutorial: #14 Animation und Aktion synchronisieren In diesem Teil werden wir dafür sorgen, dass der AI-Roboter auch tatsächlich Projektile verschießt. Dabei ist die Synchronisation der Aktion an sich mit den Animationen des NPCs ein wichtiger Teil.
- Unity3D KI/AI Tutorial: #15 Waypoints Was sind Waypoints und wie setze ich sie ein. In diesem Tutorial gehe ich auf statische Waypoints ein.
- Unity3D KI/AI Tutorial: #16 Dynamische Waypoints Dieses Tutorial behandelt dynamische Waypoints, welche zur Laufzeit generiert werden.
- Unity3D KI/AI Tutorial: #17 Dynamische Waypoints implementieren In dieser Folge analysieren wir den Code um die dynamischen Waypoints richtig zu implementieren.
- Unity3D KI/AI Tutorial: #18 Waypoints löschen Wir programmieren noch eine Löschroutine für unsere Waypoints und schließen diese Unity3D-Reihe ab.
Über Anregungen und Kommentare von Euch freue ich mich natürlich wieder sehr!
Gruß Carsten
Wunderbar! KI ist genau das Gebiet, was mich am Meisten interessiert. Ich freue mich auf die ersten Folgen. =D
Klasse tut danke an so menschen die sowas durchziehen, werd mir auch KI angucken. (muss aber anmerken das manche sachen mir etwas umständlicher als nötig vorkamen… 🙂 )
Aber war schon klasse, und ne beruhigende stimme xD
@ChaKuzA: Vielen Dank für das Lob.
Deiner Anmerkung stimme ich zu. Aber das Projekt diente dazu Funktionen von Unity zu erklären und nicht elegant eine Autosteuerung zu programmieren 😉
Schick mir doch mal Deine Version, wie Du sie programmiert hättest. Und wenn Du möchtest, könnte ich das Skript dann auch hier online stellen 🙂
Gruß Carsten
Ich bin für diese Serie wartet auch, können Sie mir bitte sagen, wie lange es wird, dass ich bei diesen Übungen zu erlernen.
Ich mag die Art Sie zu lehren.
Dank
Ok, ich hab das tut ja nun schon durchgearbeitet. Ich werd mal im quelltext durchkommentieren was ich warum anders gemacht habe… Jetzt lade ich erstmal die KI videos…