E-Book, Deutsch, 939 Seiten
Reihe: Rheinwerk Computing
Schlosser Spieleentwicklung mit Unity
1. Auflage 2024
ISBN: 978-3-8362-9541-3
Verlag: Rheinwerk
Format: EPUB
Kopierschutz: 0 - No protection
Das umfassende Handbuch
E-Book, Deutsch, 939 Seiten
Reihe: Rheinwerk Computing
ISBN: 978-3-8362-9541-3
Verlag: Rheinwerk
Format: EPUB
Kopierschutz: 0 - No protection
Unity - die geniale Plattform steckt hinter großen Games wie Among Us und Pokémon Go und wird in der Indie-Szene geliebt. Egal, ob du gerade einsteigst oder schon eine Karriere in der Games-Branche im Blick hast: Dieses Handbuch ist der perfekte Begleiter, wenn du die sagenhafte Engine meistern willst. Von den Grundkonzepten über Prefabs und Scripte bis zum komplexen 3D-Spiel mit coolen Mechaniken wirst du nach und nach zum Profi.
Dieses Handbuch ist einstiegsfreundlich und umfassend zugleich. Max Schlosser zeigt dir von der Installation an, wie es geht, hält Praxisbeispiele bereit und hört auch bei anspruchsvollen Themen nicht auf, alles genau zu erklären.
Du programmierst dabei nicht einfach Fertiges nach, sondern baust dir ein solides Repertoire auf, inklusive der Konzepte, Scripting mit C# und der Logik hinter den Effekten. Trainiere deine Skills und mach aus deinen besten Ideen spielbare Games!
Aus dem Inhalt:
- Installation und erste Schritte
- Animationen und Sound
- Lebewesen automatisch navigieren
- Klassiker wie Pong, Flappy Bird und Tower Defense selbst entwickeln
- UI-Layouts optimieren
- Das Physik-System geschickt einsetzen
- Scripting-Grundlagen mit C#
- Objektorientierung, Generics, LINQ u. v. m.
- Partikel und Modelle
Autoren/Hrsg.
Weitere Infos & Material
Materialien zum Buch ... 25 Vorwort ... 27 1. Einführung ... 29 1.1 ... Das Problem vieler Einsteiger ... 29 1.2 ... Wichtige Ansätze des Buches ... 30 1.3 ... Lernen mit dem Buch ... 32 1.4 ... Vorstellung der Kapitel ... 35 2. Die Unity-Engine ... 39 2.1 ... Was ist eigentlich Unity? ... 39 2.2 ... Installation ... 42 2.3 ... Erstellung des ersten Unity-Projekts ... 55 2.4 ... Mit den Downloadmaterialien zum Buch arbeiten ... 58 3. Grundlegende Konzepte in der Engine ... 61 3.1 ... Der erste Überblick über Unity ... 61 3.2 ... Game Objects und Components ... 74 3.3 ... Orientierung in der Scene View ... 95 3.4 ... Parenting ... 102 3.5 ... Musterlösungen für die Übungen ... 107 4. Das erste Script ... 109 4.1 ... Scripts und die Sprache C# ... 110 4.2 ... Das erste Script erstellen ... 110 4.3 ... Aufbau eines neu erstellten Scripts ... 115 4.4 ... Das erste Script zum Leben erwecken ... 120 4.5 ... Musterlösungen für die Übungen ... 127 5. Grundlegende Konzepte der Sprache C# ... 129 5.1 ... Einfache Methoden ... 130 5.2 ... Datentypen und Variablen ... 136 5.3 ... Datentypen für Zahlen und Textzeichen ... 152 5.4 ... Methoden mit Rückgabewerten und Parametern ... 167 5.5 ... Boolesche Logik ... 179 5.6 ... if-Abfragen ... 188 5.7 ... Arrays ... 201 5.8 ... Schleifen ... 209 5.9 ... Enumerationstypen ... 219 5.10 ... switch-Anweisung ... 223 5.11 ... Praktische Hilfsmittel für Zahlen und Text ... 227 5.12 ... Umgang mit Fehlern ... 231 5.13 ... Musterlösungen für die Übungen ... 243 6. Scripting in Unity ... 251 6.1 ... Über Scripts die Transform-Component verändern ... 251 6.2 ... Anwendungsbeispiel: Einen Spielcharakter steuern ... 266 6.3 ... Interaktion zwischen mehreren Scripts ... 282 6.4 ... Game Objects und weitere nützliche Funktionen ... 294 6.5 ... Weitere Kenntnisse zu Scenes ... 304 6.6 ... Musterlösungen für die Übungen ... 311 7. Übungskomplex 1 ... 315 7.1 ... Aufgaben ... 315 7.2 ... Tipps ... 317 7.3 ... Lösungen ... 318 8. Physik ... 323 8.1 ... Grundlagen physikalischer Simulationen ... 323 8.2 ... Physik und Scripting ... 335 8.3 ... Raycasting ... 349 8.4 ... Musterlösungen für die Übungen ... 357 9. Fortgeschrittene Scripting-Themen ... 361 9.1 ... Coroutines ... 361 9.2 ... PlayerPrefs ... 373 9.3 ... Attribute ... 375 9.4 ... Scriptable Objects ... 383 9.5 ... Musterlösungen für die Übungen ... 389
10. Prefabs ... 395 10.1 ... Prefabs erstellen ... 398 10.2 ... Prefabs über Code instanziieren ... 407 10.3 ... Musterlösungen für die Übungen ... 414
11. Übungskomplex 2 ... 417 11.1 ... Aufgaben ... 417 11.2 ... Tipps ... 419 11.3 ... Lösungen ... 421
12. Objektorientierte Programmierung ... 435 12.1 ... Grundlagen der objektorientierten Programmierung ... 435 12.2 ... Referenz- und Wertetypen ... 439 12.3 ... Der Konstruktor ... 454 12.4 ... Das Schlüsselwort »static« ... 460 12.5 ... Properties ... 466 12.6 ... Vererbung ... 474 12.7 ... Die Basisklasse »object« und ihre Möglichkeiten ... 491 12.8 ... Abstraktionen ... 497 12.9 ... Musterlösungen für die Übungen ... 513
13. 2D-Inhalte ... 519 13.1 ... Projekte mit dem 2D-Template erstellen ... 519 13.2 ... Sprites ... 522 13.3 ... 2D-Physik ... 542 13.4 ... Tilemaps ... 547 13.5 ... Musterlösungen für die Übungen ... 556
14. User Interfaces ... 561 14.1 ... Grundlagen zu UI in Unity ... 561 14.2 ... Grundlegende Anordnung von UI-Elementen ... 567 14.3 ... UI-Components ... 585 14.4 ... UI-Layouts zusammensetzen ... 619 14.5 ... Musterlösungen für die Übungen ... 637
15. Visualisierung ... 647 15.1 ... Einstellungen im Projekt ... 647 15.2 ... Licht ... 650 15.3 ... Arbeit mit 3D-Assets ... 661 15.4 ... Partikelsysteme (Shuriken) ... 673 15.5 ... Terrains ... 686 15.6 ... Bauen des Spiels ... 698
16. Animation ... 703 16.1 ... Beispiel: Einführung in das Animationssystem ... 703 16.2 ... Details -- Animation Clips ... 713 16.3 ... Details -- Animator Controller ... 733 16.4 ... Musterlösungen für die Übungen ... 766
17. Sound ... 771 17.1 ... Grundlagen von Sound ... 771 17.2 ... Sounds und Scripting ... 778 17.3 ... Anpassung von Sounds ... 785 17.4 ... Mikrofoneingaben ... 794 17.5 ... Musterlösung für die Übungen ... 796
18. Navigation ... 799 18.1 ... Einführung in das Navigationssystem ... 799 18.2 ... Weitere NavMesh-Components ... 811 18.3 ... Musterlösungen für die Übungen ... 817
19. Fortgeschrittene Konzepte der Sprache C# ... 819 19.1 ... Collections ... 819 19.2 ... Datenklassen und ihre Möglichkeiten ... 827 19.3 ... Generics ... 833 19.4 ... Delegates ... 840 19.5 ... Events ... 852 19.6 ... LINQ ... 860 19.7 ... Speicherung von Daten mit JSON ... 867 19.8 ... Musterlösungen für die Übungen ... 879
20. Übungskomplex 3 ... 883 20.1 ... Aufgaben ... 883 20.2 ... Tipps ... 886 20.3 ... Lösungen ... 888
21. Übungskomplex 4 ... 915 21.1 ... Aufgaben ... 916 21.2 ... Tipps ... 921
22. Ausblick ... 923 Index ... 925
2.2 Installation
Nachdem geklärt ist, was Unity ist und warum gerade diese Game Engine eine gute Wahl darstellt, ist es nun endlich Zeit, tätig zu werden. In den nächsten Schritten wirst du Unity herunterladen und auf deinem Rechner installieren.
2.2.1 Download und Installation des Unity-Hubs
Der Download für Unity kann über die offizielle Website gestartet werden. Diese ist direkt über den folgenden Link abrufbar, der ebenfalls auf der Webseite des Buches zu finden ist: https://unity3d.com/de/get-unity/download.
Abbildung 2.1 Ansicht der Download-Webseite für Unity
Aussehen der Website
Die Unity-Website wird ständig weiterentwickelt und so könnte die Download-Webseite anders aussehen, als in Abbildung 2.1 dargestellt. Auch wenn das Aussehen der Seite oder die Benennung der Buttons abweichen sollte, ist das Herunterladen der Software trotzdem unter dem angegebenen Link möglich.
Der Button Für Windows herunterladen bietet den schnellsten Weg zum passenden Download. Der Name des Buttons weicht dabei natürlich ab, je nachdem, welches Betriebssystem du verwendest.
Beim Anklicken startet der Download für ein wichtiges Programm, das du für die Installation benötigst. Dieses heißt Unity Hub und bietet viele Vorteile, um Unity besser nutzen zu können, darunter die einfache Installation und Verwaltung mehrerer Unity-Versionen. Das Programm ist somit gut geeignet, um noch schneller mit der eigentlichen Entwicklung zu beginnen.
Vorteile von Unity Hub
Insgesamt bietet Unity Hub viele Vorteile, die den Umgang mit Unity weiter vereinfachen. Dazu zählen beispielsweise:
-
die Installation verschiedener Unity-Versionen sowie das Wählen einer Version bei der Erstellung oder Bearbeitung eines Spiels
-
die Installation von Erweiterungen für bereits heruntergeladene Unity-Versionen
-
die Verwaltung deiner genutzten Unity-Lizenzen
-
das Erstellen neuer Spiele ausgehend von Vorlagen, die bestimmte Voreinstellungen beinhalten und den Start der Entwicklung leichter machen
-
der Zugriff auf verschiedene Lehrressourcen zum Einstieg in die Entwicklung mit Unity
Nach dem Download kannst du das heruntergeladene Programm öffnen, um die Installation zu starten, wobei sich die Installation zwischen den einzelnen Betriebssystemen nur geringfügig unterscheidet.
Windows
Nach dem Öffnen der Installationsdatei müssen die Lizenzbedingungen akzeptiert werden (siehe Abbildung 2.2). Im Anschluss wählst du den Installationsordner für Unity Hub und startest die Installation (siehe Abbildung 2.3).
Abbildung 2.2 Die Annahme der Lizenzbedingungen unter Windows
Abbildung 2.3 Starten der Installation unter Windows
MacOS
Nach dem Öffnen der Installationsdatei musst du die Lizenzbedingungen akzeptieren (siehe Abbildung 2.4). Anschließend kann das Programm Unity Hub in den Ordner Anwendungen verschoben und von dort gestartet werden (siehe Abbildung 2.5).
Abbildung 2.4 Die Annahme der Lizenzbedingungen unter MacOS
Abbildung 2.5 Installation von Unity Hub durch Verschieben der Datei in den Ordner »Anwendungen« (englisch »Applications«)
Linux
Die Anwendungsdatei kann zunächst an einem beliebigen Ort gespeichert und anschließend ausgeführt werden. Falls das Ausführen der Datei zu einem Fehler wie Unity Hub konnte nicht angezeigt werden führt, sind in der Regel die Ausführungsrechte der Datei nicht gesetzt. Je nach verwendeter Distribution ist das Zuweisen über die Benutzeroberfläche möglich. Alternativ kannst du das Terminal nutzen, um benötigte Ausführungsrechte zu setzen (beispielsweise über chmod +x UnityHub.AppImage). Für weitere Hilfestellungen mit der Linux-Installation solltest du auf die offizielle Unity-Dokumentation zurückgreifen.
Verwendung von Windows im Buch
Alle weiteren Installationsschritte werden unter dem Betriebssystem Windows 11 vorgenommen. Auch die Screenshots sind von der Windows-Installation aufgenommen worden. Die einzelnen Schritte sind jedoch gut auf Installationen anderer Betriebssysteme übertragbar.
2.2.2 Einrichtung der Unity-Lizenz unter Unity Hub
Um über Unity Hub neue Spiele erstellen zu können, muss eine gültige Lizenz für Unity zugewiesen werden. Die Lizenz, die du für das Erstellen von Spielen benötigst, ist kostenlos. Das Kaufen einer kostenpflichtigen Lizenz wird erst dann notwendig, wenn du Geld mit deinen entwickelten Spielen verdienst. Bis dahin ist es aber wie erwähnt noch ein langer Weg. Es sei denn, du bist ein Naturtalent mit einer tollen Idee im Kopf!
Unter Unity wird die Lizenz mit einem eigenen Account, der sogenannten Unity ID, verknüpft. Der erste Schritt besteht somit darin, eine solche Unity ID anzulegen. Den Registrierungsvorgang kannst du über Unity Hub starten, indem du auf das Account-Symbol 1 klickst und anschließend Create Account 2 wählst (siehe Abbildung 2.6).
Abbildung 2.6 Starten des Registrierungsvorgangs über Unity Hub
Anschließend öffnet sich die Webseite zum Erstellen einer neuen Unity ID (siehe Abbildung 2.7). Im Formular müssen eine gültige E-Mail-Adresse, ein Passwort, ein Nutzername sowie dein voller Name hinterlegt werden. Außerdem muss das Lesen der Nutzungs- und Datenschutzbestimmungen über einen Haken in den ersten beiden Feldern bestätigt werden. Der dritte Haken zur Einwilligung in den Erhalt von Werbe-E-Mails von Unity ist dagegen optional. Durch einen Captcha bestätigst du, dass du kein Roboter bist. Ich hoffe doch, dass gerade ein Mensch das Buch liest?
Abbildung 2.7 Formular zum Anlegen einer neuen Unity ID
Nach dem Absenden der Registrierung wird eine E-Mail zur Bestätigung an deine verwendete E-Mail-Adresse gesendet. Nachdem du den Link in der E-Mail angeklickt hast, ist es geschafft: Der neue Account ist angelegt und kann für das Aktivieren einer Lizenz genutzt werden.
Der erstellte Account muss nun nur noch mit Unity Hub verknüpft werden. Die Webseite mit dem Login-Formular wird in Unity Hub über einen Klick auf das Account-Symbol und anschließend Sign in geöffnet (siehe Abbildung 2.8).
Abbildung 2.8 Login mit der neu erstellten Unity ID
Nach der Anmeldung mit der soeben angelegten Unity ID wird der Login in Unity Hub automatisch vorgenommen.
Als Letztes fehlt das Anlegen einer neuen Lizenz in Unity Hub. Dafür musst du erneut das Account-Symbol in Unity Hub auswählen. Der Lizenzbildschirm wird über Manage Licenses geöffnet. Wenn du Unity Hub zum ersten Mal installiert hast, sollten keine vorhandenen Lizenzen gefunden werden. Stattdessen kannst du über den Button Add in der rechten oberen Ecke eine neue Lizenz erstellen und für deinen Account in Unity Hub hinterlegen. Zum Hinzufügen einer neuen Lizenz öffnet sich ein neues Fenster in Unity Hub (siehe Abbildung 2.9).
Abbildung 2.9 Auswahloptionen zum Anlegen einer neuen Lizenz
Es gibt mehrere Wege, eine gültige Lizenz zu aktivieren. Die beiden oberen Wege werden für das manuelle Aktivieren von Lizenzen verwendet. Da für das Buch ohnehin die kostenlose Personal-Lizenz verwendet wird, kannst du bedenkenlos die unterste Option Get a free personal license wählen, mit der eine neue Personal-Lizenz automatisch erstellt und...