Inhaltsverzeichnis

Alle Kapitel aufklappen
Alle Kapitel zuklappen
1 Einführung
19
1.1 Was machen wir mit Unity?
19
1.2 Wie entsteht der programmierte Spielablauf?
20
1.3 Dateiendungen anzeigen lassen
20
1.4 Den Unity Hub installieren
21
1.5 Eine Unity-Lizenz erhalten
22
1.6 Eine Unity-Version installieren
22
1.7 Beispielprojekte und Assets
23
1.8 Nutzung der Materialien
24
1.8.1 Sonderfall Projekt »Szenenwechsel«
25
1.9 Upgrade eines Unity-Projekts
25
2 Das erste 2D-Projekt
27
2.1 Ein neues Projekt erstellen
27
2.2 Wichtige Bereiche im Unity Editor
28
2.3 Das Spielobjekt »Main Camera«
30
2.4 Assets importieren
31
2.5 Spielobjekte einfügen
32
2.6 Die Hierarchie ändern
33
2.7 Eine Szene speichern
35
2.8 Die Komponente »Transform«
35
2.8.1 Die Eigenschaften der »Transform«-Komponente
36
2.8.2 Werte in der »Inspector View« ändern
37
2.9 Die Ansicht in der »Scene View«
38
2.9.1 Positionswerte mithilfe der Maus ändern
39
2.9.2 Rotationswerte mithilfe der Maus ändern
40
2.9.3 Scale-Werte mithilfe der Maus ändern
41
3 Spielen Sie ein 2D-Jump&Run-Spiel
43
3.1 Wie geht das Spiel?
43
3.2 Unsere ersten Unity-Elemente
45
3.2.1 Assets
46
3.2.2 Spielobjekte
47
4 Entwickeln Sie ein 2D-Jump&Run-Spiel
53
4.1 Erzeugen Sie das Projekt und die Assets
53
4.2 Fügen Sie Spielobjekte ein
54
4.2.1 Schaffen Sie einen Hintergrund
54
4.2.2 Erzeugen Sie das Spielfeld
55
4.2.3 Setzen Sie den Affen auf den Boden
58
4.3 Erstellen Sie den Spielablauf
60
4.3.1 Stellen Sie »Visual Studio« ein
60
4.3.2 Führen Sie die Klasse »Spieler« ein
61
4.3.3 Arbeiten mit »Visual Studio«
62
4.3.4 Das Grundgerüst einer Klasse
63
4.3.5 Zur Erläuterung des C#-Codes in Abbildung 4.12
64
4.3.6 Zuordnung zwischen Spielobjekt und Code
65
4.3.7 Bewegen Sie den Affen
65
4.3.8 Variablen, Datentypen und Gültigkeit
66
4.3.9 Die Verarbeitung der Benutzereingabe
67
4.3.10 Die Änderung der Position
69
4.3.11 Die Anzeige von Fehlern
70
4.3.12 Verhindern Sie die Drehung
71
4.3.13 Begrenzen Sie die Bewegung
71
4.3.14 Treffen Sie die Bananen
73
4.3.15 Meiden Sie die Tiger
77
4.3.16 Die geschweiften Klammern
79
4.3.17 Die Tiger bewegen sich
80
4.4 Gestalten Sie die Benutzeroberfläche
82
4.4.1 Erstellen Sie die erste Anzeige
82
4.4.2 Sammeln Sie Punkte
84
4.4.3 Wie Sie Leben verlieren
87
4.4.4 Messen Sie die Spielzeit
88
4.4.5 Speichern Sie Werte dauerhaft
90
4.4.6 Geben Sie den Benutzern Hinweise
92
4.4.7 Starten Sie ein neues Spiel
96
4.4.8 Beenden Sie die Anwendung
99
4.4.9 Ideen für Erweiterungen
100
4.5 Erzeugen Sie eine ausführbare Version
101
5 Ein 2D-Breakout-Spiel
105
5.1 Führen Sie das Spiel aus
105
5.2 Erzeugen Sie das Projekt und die Assets
106
5.2.1 Fügen Sie ein Audio-Asset ein
107
5.2.2 Erstellen Sie ein 2D-Material
107
5.2.3 Lernen Sie 2D-Materialien kennen
108
5.2.4 Erzeugen Sie ein Prefab
110
5.3 Fügen Sie Spielobjekte ein
111
5.3.1 Füllen Sie das Spielfeld
111
5.3.2 Erzeugen Sie einen Ziegel
113
5.3.3 Wiederholen Sie den Vorgang
114
5.3.4 Wiederholen Sie die Wiederholung
115
5.3.5 Erzeugen Sie unterschiedliche Ziegel
117
5.4 Erstellen Sie den Spielablauf
118
5.4.1 Senden Sie den Ball ab
118
5.4.2 Bewegen Sie den Spieler
120
5.4.3 Sammeln Sie Punkte
121
5.4.4 Wie Sie Leben verlieren
125
5.5 Gestalten Sie die Benutzeroberfläche
128
5.5.1 Exportieren Sie ein Unity Package
128
5.5.2 Importieren Sie ein Unity Package
129
5.5.3 Passen Sie die Benutzeroberfläche an
129
5.5.4 Punkte, Leben und Infos anzeigen
131
5.5.5 Messen Sie die Spielzeit
133
5.5.6 Zeigen Sie die vorherige Zeit an
134
5.5.7 Starten Sie ein neues Spiel
136
5.5.8 Beenden Sie die Anwendung
139
5.5.9 Ideen für Erweiterungen
140
6 Ein 2D-Spiel für zwei Spieler
141
6.1 Führen Sie das Spiel aus
141
6.2 Bereiten Sie das Spiel vor
143
6.2.1 Erzeugen Sie das Projekt und die Assets
143
6.2.2 Erzeugen Sie das Spielfeld und das UI
144
6.2.3 Gestalten Sie das Spielfeld
146
6.3 Erstellen Sie den Spielablauf
149
6.3.1 Führen Sie den Aufschlag aus
150
6.3.2 Bewegen Sie die Spieler vertikal
151
6.3.3 Bewegen Sie die Spieler horizontal
154
6.3.4 Sammeln Sie Punkte
156
6.3.5 Eine kleine Übung
158
6.3.6 Ideen für Erweiterungen
158
6.4 Künstliche Intelligenz
159
7 Ein Gedächtnistrainer als 2D-Projekt
161
7.1 Führen Sie das Training aus
161
7.2 Bereiten Sie das Training vor
162
7.3 Das Training für drei Zahlen
163
7.3.1 Verteilen Sie die Zahlen
163
7.3.2 Vermeiden Sie doppelte Positionen
166
7.3.3 Löschen Sie die Zahlen
168
7.3.4 Prüfen Sie die Reihenfolge
170
7.4 Das Training erweitern
172
7.4.1 Machen Sie das Training leichter
172
7.4.2 Machen Sie das Training schwerer
174
7.4.3 Optimieren Sie das Training
176
7.4.4 Ideen für Erweiterungen
178
8 Ein 2D-Space-Shooter
181
8.1 Bereiten Sie das Spiel vor
182
8.1.1 Gestalten Sie die beiden Explosions-Prefabs
183
8.1.2 Erzeugen Sie Ihr Raumschiff und die Geschosse
184
8.1.3 Erstellen Sie die anderen Raumschiffe
186
8.1.4 Gestalten Sie die Energieanzeige
186
8.1.5 Erstellen Sie die Benutzeroberfläche
187
8.2 Erstellen Sie den Spielablauf
188
8.2.1 Bewegen Sie Ihr Raumschiff und feuern Sie
188
8.2.2 Bewegen Sie die Geschosse nach dem Abfeuern
190
8.2.3 Bewegen Sie die anderen Raumschiffe
191
8.2.4 Lassen Sie die Raumschiffe explodieren
193
8.2.5 Kollidieren Sie mit den anderen Raumschiffen
195
8.2.6 Führen Sie weitere Änderungen der Energie herbei
197
8.2.7 Messen Sie die Zeit und beenden Sie das Spiel
198
8.2.8 Die ausführbare Version
200
8.2.9 Eine kleine Übung
200
8.2.10 Ideen für Erweiterungen
201
9 Das erste 3D-Projekt
203
9.1 Grundlagen eines 3D-Projekts
203
9.1.1 Kamera, Skybox und Licht
203
9.1.2 Einfache 3D-Objekte
204
9.1.3 Farbiges Oberflächenmaterial
205
9.1.4 Oberflächenmaterial wechseln
207
9.1.5 Die Ansicht in der »Scene View« gestalten
207
9.2 Verschieben und Drehen
209
9.2.1 Spielobjekte drehen
209
9.2.2 Animiert verschieben
212
9.2.3 Kamera bewegen
214
9.2.4 Animiert drehen
216
9.2.5 Übersicht
218
10 Eine 3D-Animation
221
10.1 Schaffen Sie die Voraussetzungen
221
10.1.1 Betrachten Sie die fertige Animation
221
10.1.2 Bauen Sie das Beispiel auf
222
10.2 Erstellen Sie die Animation
224
10.2.1 Legen Sie die Animation an
224
10.2.2 Drehen Sie das rechte Bein
225
10.2.3 Erstellen Sie weitere Keyframes
226
10.2.4 Stellen Sie die Keyframes ein
227
10.2.5 Verschieben Sie das rechte Bein
228
10.3 Arbeiten Sie mit dem »Animator Controller«
229
10.3.1 Gestalten Sie die States
229
10.3.2 Erstellen Sie die Parameter
230
10.3.3 Erzeugen Sie die Transitions
230
10.4 Fügen Sie das C#-Script hinzu
232
10.4.1 Verbinden Sie Bewegung und Animation
232
10.4.2 Vervollständigen Sie die Animation
233
10.4.3 Ideen für Erweiterungen
234
11 Ein 3D-Balancer
235
11.1 Führen Sie das Spiel aus
235
11.2 Bereiten Sie das Spiel vor
236
11.2.1 Erzeugen Sie das Projekt und die Assets
236
11.2.2 Erzeugen Sie das Spielfeld und das UI
237
11.2.3 Relative Transform-Werte
238
11.3 Erstellen Sie den Spielablauf
240
11.3.1 Drehen Sie die Platte
240
11.3.2 Bewegen Sie den Ball und die Kamera
242
11.3.3 Ändern Sie die Punktzahl
244
11.3.4 Ideen für Erweiterungen
245
12 Ein 3D-Tetris
247
12.1 Führen Sie das Spiel aus
247
12.2 Bereiten Sie das Spiel vor
248
12.2.1 Erzeugen Sie das Projekt und die Assets
248
12.2.2 Erzeugen Sie das Spielfeld und das UI
248
12.2.3 Erstellen Sie das Würfel-Prefab
250
12.3 Erstellen Sie den Spielablauf
250
12.3.1 Bewegen Sie die Würfel
251
12.3.2 Eine »generische Liste«
252
12.3.3 Fügen Sie Elemente zur Liste hinzu
253
12.3.4 Entfernen Sie Elemente aus der Liste
256
12.3.5 Eine kleine Übung
258
12.3.6 Ideen für Erweiterungen
259
13 Ein Kopfrechentrainer als 3D-Projekt
261
13.1 Führen Sie das Training aus
261
13.2 Bereiten Sie das Training vor
262
13.3 Erstellen Sie den Trainingsablauf
263
13.3.1 Erzeugen Sie die Aufgabe und die Lösungen
263
13.3.2 Mischen Sie die Lösungen
266
13.3.3 Sammeln Sie Punkte
268
13.3.4 Verlieren Sie Leben
270
13.3.5 Ideen für Erweiterungen
272
14 Golf spielen auf einem 3D-Terrain
275
14.1 Führen Sie das Spiel aus
275
14.2 Bereiten Sie das Spiel vor
276
14.2.1 Erzeugen Sie das Projekt und die Landschaft
276
14.2.2 Weisen Sie der Landschaft eine Textur zu
277
14.2.3 Erstellen Sie die drei Ebenen
278
14.2.4 Fügen Sie den Rand hinzu
281
14.2.5 Erstellen Sie die beiden Rampen
282
14.2.6 Setzen Sie den Spieler und das Ziel in die Landschaft
284
14.2.7 Arbeiten Sie mit einem »Physics Material«
285
14.3 Erstellen Sie den Spielablauf
286
14.3.1 Schlagen Sie den Spielball
286
14.3.2 Versetzen Sie das Ziel
289
14.3.3 Vermeiden Sie den Verlust des Spielballs
290
14.3.4 Ideen für Erweiterungen
292
14.4 Ein weiteres Terrain
292
14.4.1 Erzeugen Sie zehn Ebenen
293
14.4.2 Fügen Sie den linken und den rechten Rand hinzu
294
14.4.3 Fügen Sie den unteren und den oberen Rand hinzu
295
14.4.4 Erzeugen Sie die erste Rampe
295
14.4.5 Erstellen Sie alle Rampen links
296
14.4.6 Erstellen Sie alle Rampen rechts
297
14.4.7 Setzen Sie die Positionen
298
15 Jagen auf einem 3D-Terrain
301
15.1 Führen Sie das Spiel aus
301
15.2 Bereiten Sie das Spiel vor
304
15.2.1 Erzeugen Sie das Projekt und die Landschaft
304
15.2.2 Steuern Sie den Zufall
304
15.2.3 Erzeugen Sie die weiteren Spielobjekte
308
15.2.4 Erstellen Sie die drei Prefabs
309
15.2.5 Zoomen Sie mithilfe eines Sliders
310
15.3 Erstellen Sie den Spielablauf
312
15.3.1 Bewegen Sie den Jäger
313
15.3.2 Treffen Sie die Ziele
315
15.3.3 Die Ziele starten eine Abwehr
317
15.3.4 Die Abwehr wird gefährlich
319
15.3.5 Messen Sie die Zeit
321
15.3.6 Ideen für Erweiterungen
323
16 Eine Schlange aus 3D-Joints
325
16.1 Führen Sie das Spiel aus
325
16.2 Bereiten Sie das Spiel vor
326
16.2.1 Erzeugen Sie die Assets und die Platte
326
16.2.2 Erstellen Sie die Schlange und ihre Beute
327
16.2.3 Stellen Sie die gelenkigen Verbindungen her
328
16.3 Erstellen Sie den Spielablauf
329
16.3.1 Bewegen Sie die Schlange
330
16.3.2 Treffen Sie die Beute
331
16.3.3 Verkürzen Sie die Schlange
332
16.3.4 Zählen Sie die Punkte
334
16.3.5 Die Segmente treffen den Rand
335
16.3.6 Messen Sie die Zeit
336
16.3.7 Ideen für Erweiterungen
337
17 Ein Renntraining und ein Autorennen
339
17.1 Führen Sie das Renntraining aus
339
17.2 Führen Sie das Autorennen aus
341
17.3 Bereiten Sie das Renntraining vor
342
17.3.1 Erzeugen Sie Projekt und Fahrbahn
342
17.3.2 Konstruieren Sie das Fahrzeug
343
17.3.3 Fügen Sie die Wheel Collider hinzu
345
17.4 Erstellen Sie den Ablauf des Renntrainings
347
17.4.1 Beschleunigen Sie das Fahrzeug
347
17.4.2 Lenken Sie das Fahrzeug
348
17.4.3 Folgen Sie dem Fahrzeug mit der Kamera
350
17.4.4 Bauen Sie die Begrenzungen auf
352
17.4.5 Eine »Lichtschranke« an der Startlinie
354
17.4.6 Messen Sie die Rundenzeiten
355
17.5 Erweitern Sie das Renntraining zum Autorennen
358
17.5.1 Erzeugen Sie das zweite Fahrzeug
358
17.5.2 Steuern Sie die Fahrzeuge getrennt
359
17.5.3 Teilen Sie den Bildschirm auf
362
17.5.4 Eine dritte Kamera für den Überblick
363
17.5.5 Getrennte Rundenzeiten nach einem Countdown
364
17.5.6 Ideen für Erweiterungen
368
18 Erkunden Sie das Verlies
369
18.1 Führen Sie das Spiel aus
369
18.2 Bereiten Sie das Spiel vor
373
18.2.1 Die Planung des Verlieses
373
18.2.2 Der Aufbau einer Kammer
374
18.2.3 Erstellen Sie die ersten Spielobjekte
376
18.2.4 Bauen Sie das Prefab für die Kammer
377
18.2.5 Die Schlüssel, Schatzkisten und Sperren
379
18.2.6 Gestalten Sie die Benutzeroberfläche
381
18.3 Erstellen Sie den Spielablauf
382
18.3.1 Folgen Sie dem Spieler mit der Kamera
382
18.3.2 Erstellen Sie alle Kammern
384
18.3.3 Konfigurieren Sie die Kammern
386
18.3.4 Gehen Sie durch ein Tor
388
18.3.5 Nehmen Sie den Schlüssel aus einer Schatzkiste
391
18.3.6 Schließen Sie eine Sperre auf
395
18.3.7 Speichern Sie den Spielstand
397
18.3.8 Laden Sie den alten Spielstand
398
18.3.9 Ideen für Erweiterungen
399
19 Ein Programmierkurs in C#
401
19.1 Das Unity-Projekt »Programmierkurs«
401
19.2 Grundlagen
403
19.2.1 Variablen und Datentypen
403
19.2.2 Rechenoperatoren
405
19.2.3 Division von ganzen Zahlen
407
19.2.4 Verzweigungen
408
19.2.5 Logische Verknüpfungen
410
19.2.6 Schleifen und Zufallszahlen
412
19.2.7 Schleifenabbruch mit »break«
415
19.3 Datenfelder
416
19.4 Zeichenketten
419
19.5 Methoden
421
19.5.1 Einfache Methode
422
19.5.2 Methode mit Parametern
423
19.5.3 Methode mit Rückgabewert
424
19.5.4 Methode mit Verweis-Parameter
425
19.6 Generische Listen
427
19.6.1 Die Hilfsmethode »AusgabeListe()«
429
19.6.2 Die »foreach«-Schleife
429
19.7 Daten auf der Festplatte
430
19.7.1 Daten speichern
430
19.7.2 Daten laden
431
19.7.3 Kontrolle der Daten
432
19.8 Objektorientierung
433
19.8.1 Die Spielobjekte im »Unity Editor«
434
19.8.2 Die Klasse »Spieler«
435
19.8.3 Änderungen aller Objekte der Klasse
436
19.8.4 Änderungen einzelner Objekte
437
20 Speichern Sie eine Highscore-Liste
439
20.1 Definition der eigenen Klasse
439
20.2 Die eigene Klasse nutzen
442
20.2.1 Eine generische Liste erzeugen und füllen
442
20.2.2 Eine generische Liste anzeigen
443
20.2.3 Einen neuen Eintrag hinzufügen
444
20.2.4 Alles speichern, alles löschen
447
20.2.5 Der Anzeige-Schalter
448
21 Arbeiten Sie mit mehreren Szenen
451
21.1 Der Ablauf des Projekts
451
21.2 Der Aufbau der ersten Szene
452
21.3 Weitere Szenen
456
22 Allgemeine Hinweise
459
22.1 Projekte bearbeiten
459
22.1.1 Projekte umbenennen
459
22.1.2 Projekte kopieren
460
22.2 Unity Packages
461
22.2.1 Exportieren Sie ein Unity Package
461
22.2.2 Importieren Sie ein Unity Package
462
22.3 Unity unter anderen Betriebssystemen
463
22.3.1 Unity unter macOS installieren
463
22.3.2 Unity unter Ubuntu Linux installieren
464
22.4 Browser-Anwendungen erstellen
464
22.5 Android-Apps erstellen
466
22.5.1 Änderungen im Code
466
22.5.2 Installieren Sie den Android Build Support
467
22.5.3 Stellen Sie die »Player Settings« ein
468
22.5.4 Führen Sie den Android-Build durch
470
22.5.5 Starten Sie die App unter Android
470
22.6 Bonusprojekte
471
22.6.1 Bonusprojekt »TomsFrogger«
471
22.6.2 Bonusprojekt »TomsPacman«
472
Index
475