Schlosser | Spieleentwicklung mit Unity | E-Book | 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...



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.