Schlosser | Spieleentwicklung mit Unity | E-Book | www.sack.de
E-Book

E-Book, Deutsch, 939 Seiten

Reihe: Rheinwerk Computing

Schlosser Spieleentwicklung mit Unity

Das umfassende Handbuch
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
Schlosser Spieleentwicklung mit Unity jetzt bestellen!

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...


Schlosser, Max
Max Schlosser ist wissenschaftlicher Mitarbeiter und Promovend im Fachbereich Medieninformatik in Mittweida – und durch und durch Games-Fan. Mit Java entwickelt er schon seit seiner Jugendzeit eigene Plugins für seine zahlreichen Minecraft-Welten. Beinah noch mehr Spaß als das Entwickeln macht ihm die Vermittlung seines Wissens – ob auf seinem YouTube-Kanal »Schloool«, »BiVieh«, an der Hochschule oder im Buch: Er ist begeistert, wenn aus seinen Erklärungen praktische Skills und spielbare Games werden.



Ihre Fragen, Wünsche oder Anmerkungen
Vorname*
Nachname*
Ihre E-Mail-Adresse*
Kundennr.
Ihre Nachricht*
Lediglich mit * gekennzeichnete Felder sind Pflichtfelder.
Wenn Sie die im Kontaktformular eingegebenen Daten durch Klick auf den nachfolgenden Button übersenden, erklären Sie sich damit einverstanden, dass wir Ihr Angaben für die Beantwortung Ihrer Anfrage verwenden. Selbstverständlich werden Ihre Daten vertraulich behandelt und nicht an Dritte weitergegeben. Sie können der Verwendung Ihrer Daten jederzeit widersprechen. Das Datenhandling bei Sack Fachmedien erklären wir Ihnen in unserer Datenschutzerklärung.