Inhaltsverzeichnis

Alle Kapitel aufklappen
Alle Kapitel zuklappen
1 Einführung
17
1.1 Was machen wir mit Unity?
17
1.2 Wie entsteht der programmierte Spielablauf?
18
1.3 Dateiendungen anzeigen lassen
19
1.4 Unity Hub installieren
19
1.5 Unity-Version installieren
23
1.6 MonoDevelop installieren
25
1.7 Beispielprojekte und Assets
27
1.8 Unity-Projekte und Unity-Versionen
27
2 Das erste 2D-Projekt
29
2.1 Erstellung eines neuen Projekts
29
2.2 Wichtige Bereiche im Unity Editor
30
2.3 Das Spielobjekt »Main Camera«
32
2.4 Assets importieren
33
2.5 Spielobjekte einfügen
34
2.6 Ändern der Hierarchie
35
2.7 Eine Szene speichern
37
2.8 Die Komponente »Transform«
38
2.8.1 Die Eigenschaften der Transform-Komponente
38
2.8.2 Werte in der »Inspector View« ändern
40
2.9 Die Ansicht in der »Scene View«
41
2.9.1 Positionswerte mithilfe der Maus ändern
42
2.9.2 Rotationswerte mithilfe der Maus ändern
43
2.9.3 Scale-Werte mithilfe der Maus ändern
44
3 Spielen Sie ein 2D-Jump&Run-Spiel
45
3.1 Wie geht das Spiel?
45
3.2 Unsere ersten Unity-Elemente
47
3.2.1 Assets
48
3.2.2 Spielobjekte
49
4 Entwickeln Sie ein 2D-Jump&Run-Spiel
54
4.1 Erzeugen Sie Projekt und Assets
54
4.2 Fügen Sie Spielobjekte ein
55
4.2.1 Schaffen Sie einen Hintergrund
55
4.2.2 Erzeugen Sie das Spielfeld
56
4.2.3 Setzen Sie den Affen auf den Boden
58
4.3 Erstellen Sie den Spielablauf
61
4.3.1 Wählen Sie die Entwicklungsumgebung
61
4.3.2 Führen Sie die Klasse »Spieler« ein
62
4.3.3 Bewegen Sie den Affen
66
4.3.4 Verhindern Sie die Drehung
71
4.3.5 Begrenzen Sie die Bewegung zur Seite
71
4.3.6 Treffen Sie die Bananen
73
4.3.7 Meiden Sie die Tiger
77
4.3.8 Die geschweiften Klammern
79
4.3.9 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 Verlieren Sie Leben
87
4.4.4 Messen Sie die Spielzeit
88
4.4.5 Speichern Sie Werte dauerhaft
91
4.4.6 Geben Sie den Benutzern Hinweise
93
4.4.7 Starten Sie ein neues Spiel
97
4.4.8 Beenden Sie die Anwendung
100
4.4.9 Ideen für Ihre Erweiterungen
101
4.5 Erzeugen Sie eine ausführbare Version
102
5 Ein 2D-Breakout-Spiel
105
5.1 Führen Sie das Spiel aus
105
5.2 Erzeugen Sie Projekt und 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
116
5.3.5 Erzeugen Sie unterschiedliche Ziegel
117
5.3.6 Mehrfache Verzweigung mit »switch«-Ausdruck
119
5.4 Erstellen Sie den Spielablauf
119
5.4.1 Senden Sie den Ball ab
119
5.4.2 Bewegen Sie den Spieler
122
5.4.3 Sammeln Sie Punkte
123
5.4.4 Verlieren Sie Leben
126
5.5 Gestalten Sie die Benutzeroberfläche
129
5.5.1 Exportieren Sie ein Unity Package
129
5.5.2 Importieren Sie ein Unity Package
130
5.5.3 Passen Sie die Benutzeroberfläche an
131
5.5.4 Punkte, Leben und Infos anzeigen
133
5.5.5 Messen Sie die Spielzeit
134
5.5.6 Zeigen Sie die vorherige Zeit an
136
5.5.7 Starten Sie ein neues Spiel
137
5.5.8 Beenden Sie die Anwendung
141
5.5.9 Ideen für Ihre Erweiterungen
142
6 Ein 2D-Spiel für zwei Spieler
143
6.1 Führen Sie das Spiel aus
143
6.2 Bereiten Sie das Spiel vor
145
6.2.1 Erzeugen Sie Projekt und Assets
146
6.2.2 Erzeugen Sie Spielfeld und UI
146
6.2.3 Gestalten Sie das Spielfeld
148
6.3 Erstellen Sie den Spielablauf
151
6.3.1 Führen Sie den Aufschlag aus
151
6.3.2 Bewegen Sie die Spieler vertikal
153
6.3.3 Bewegen Sie die Spieler horizontal
156
6.3.4 Sammeln Sie Punkte
158
6.3.5 Eine kleine Übung
160
6.3.6 Ideen für Ihre Erweiterungen
161
6.4 Künstliche Intelligenz
161
7 Ein Gedächtnistrainer als 2D-Projekt
163
7.1 Führen Sie das Training aus
163
7.2 Bereiten Sie das Training vor
164
7.3 Das Training für drei Zahlen
165
7.3.1 Verteilen Sie die Zahlen
166
7.3.2 Vermeiden Sie doppelte Positionen
169
7.3.3 Löschen Sie die Zahlen
171
7.3.4 Prüfen Sie die Reihenfolge
172
7.4 Die Erweiterung des Trainings
174
7.4.1 Machen Sie das Training leichter
175
7.4.2 Machen Sie das Training schwerer
176
7.4.3 Optimieren Sie das Training
179
7.4.4 Ideen für Ihre Erweiterungen
181
8 Ein 2D-Space-Shooter
183
8.1 Bereiten Sie das Spiel vor
184
8.1.1 Gestalten Sie die beiden Explosions-Prefabs
185
8.1.2 Erzeugen Sie Ihr Raumschiff und die Geschosse
186
8.1.3 Erstellen Sie die anderen Raumschiffe
188
8.1.4 Gestalten Sie die Energieanzeige
189
8.1.5 Erstellen Sie die Benutzeroberfläche
189
8.2 Erstellen Sie den Spielablauf
190
8.2.1 Bewegen Sie Ihr Raumschiff, und feuern Sie
190
8.2.2 Bewegen Sie die Geschosse nach dem Abfeuern
193
8.2.3 Bewegen Sie die anderen Raumschiffe
193
8.2.4 Lassen Sie die Raumschiffe explodieren
195
8.2.5 Kollidieren Sie mit den anderen Raumschiffen
198
8.2.6 Führen Sie weitere Änderungen der Energie herbei
199
8.2.7 Messen Sie die Zeit, und beenden Sie das Spiel
201
8.2.8 Ausführbare Version
203
8.2.9 Eine kleine Übung
203
8.2.10 Ideen für Ihre Erweiterungen
204
9 Das erste 3D-Projekt
205
9.1 Grundlagen eines 3D-Projekts
205
9.1.1 Kamera, Skybox und Licht
205
9.1.2 Einfache 3D-Objekte
206
9.1.3 Farbiges Oberflächenmaterial
207
9.1.4 Oberflächenmaterial mit Textur
208
9.1.5 Oberflächenmaterial wechseln
210
9.1.6 Ansicht in der »Scene View« gestalten
211
9.2 Verschieben und Drehen
213
9.2.1 Spielobjekte drehen
213
9.2.2 Animiert verschieben
216
9.2.3 Kamera bewegen
218
9.2.4 Animiert drehen
221
9.2.5 Übersicht
223
10 Eine 3D-Animation
225
10.1 Schaffen Sie die Voraussetzungen
225
10.1.1 Betrachten Sie die fertige Animation
225
10.1.2 Bauen Sie das Beispiel auf
226
10.2 Erstellen Sie die Animation
228
10.2.1 Legen Sie die Animation an
228
10.2.2 Drehen Sie das rechte Bein
229
10.2.3 Erstellen Sie weitere Keyframes
230
10.2.4 Stellen Sie die Keyframes ein
231
10.2.5 Verschieben Sie das rechte Bein
232
10.3 Arbeiten Sie mit dem »Animator Controller«
233
10.3.1 Gestalten Sie die States
233
10.3.2 Erstellen Sie die Parameter
234
10.3.3 Erzeugen Sie die Transitions
235
10.4 Fügen Sie das C#-Script hinzu
236
10.4.1 Verbinden Sie Bewegung und Animation
236
10.4.2 Vervollständigen Sie die Animation
237
10.4.3 Ideen für Ihre Erweiterungen
238
11 Ein 3D-Balancer
239
11.1 Führen Sie das Spiel aus
239
11.2 Bereiten Sie das Spiel vor
240
11.2.1 Erzeugen Sie Projekt und Assets
240
11.2.2 Erzeugen Sie Spielfeld und UI
241
11.2.3 Relative Transform-Werte
242
11.3 Erstellen Sie den Spielablauf
244
11.3.1 Drehen Sie die Platte
244
11.3.2 Bewegen Sie den Lederball und die Kamera
247
11.3.3 Ändern Sie die Punktzahl
248
11.3.4 Ideen für Ihre Erweiterungen
250
12 Ein 3D-Tetris
251
12.1 Führen Sie das Spiel aus
251
12.2 Bereiten Sie das Spiel vor
252
12.2.1 Erzeugen Sie Projekt und Assets
252
12.2.2 Erzeugen Sie Spielfeld und UI
253
12.2.3 Erstellen Sie das Würfel-Prefab
254
12.3 Erstellen Sie den Spielablauf
255
12.3.1 Bewegen Sie die Würfel
255
12.3.2 Eine »generische Liste«
256
12.3.3 Fügen Sie Elemente zur Liste hinzu
257
12.3.4 Entfernen Sie Elemente aus der Liste
260
12.3.5 Eine kleine Übung
263
12.3.6 Ideen für Ihre Erweiterungen
263
13 Ein Kopfrechentrainer als 3D-Projekt
264
13.1 Führen Sie das Training aus
264
13.2 Bereiten Sie das Training vor
265
13.3 Erstellen Sie den Trainingsablauf
266
13.3.1 Erzeugen Sie die Aufgabe und die Lösungen
266
13.3.2 Mischen Sie die Lösungen
269
13.3.3 Sammeln Sie Punkte
271
13.3.4 Verlieren Sie Leben
273
13.3.5 Ideen für Ihre Erweiterungen
275
14 Golf spielen auf einem 3D-Terrain
277
14.1 Führen Sie das Spiel aus
277
14.2 Bereiten Sie das Spiel vor
278
14.2.1 Erzeugen Sie Projekt und Landschaft
279
14.2.2 Weisen Sie der Landschaft eine Textur zu
279
14.2.3 Erstellen Sie die drei Ebenen
280
14.2.4 Fügen Sie den Rand hinzu
283
14.2.5 Erstellen Sie die beiden Rampen
284
14.2.6 Setzen Sie Spieler und Ziel in die Landschaft
286
14.2.7 Arbeiten Sie mit einem »Physic Material«
287
14.3 Erstellen Sie den Spielablauf
288
14.3.1 Schlagen Sie den Spielball
288
14.3.2 Versetzen Sie das Ziel
291
14.3.3 Vermeiden Sie den Verlust des Spielballs
292
14.3.4 Ideen für Ihre Erweiterungen
294
14.4 Ein weiteres Terrain
294
14.4.1 Erzeugen Sie zehn Ebenen
295
14.4.2 Fügen Sie den linken und den rechten Rand hinzu
296
14.4.3 Fügen Sie den unteren und den oberen Rand hinzu
297
14.4.4 Erzeugen Sie die erste Rampe
298
14.4.5 Erstellen Sie alle Rampen links
299
14.4.6 Erstellen Sie alle Rampen rechts
299
14.4.7 Setzen Sie die Positionen
300
15 Jagen auf einem 3D-Terrain
302
15.1 Führen Sie das Spiel aus
302
15.2 Bereiten Sie das Spiel vor
305
15.2.1 Erzeugen Sie Projekt und Landschaft
305
15.2.2 Steuern Sie den Zufall
305
15.2.3 Erzeugen Sie die weiteren Spielobjekte
309
15.2.4 Erstellen Sie die drei Prefabs
310
15.2.5 Zoomen Sie mithilfe eines Sliders
311
15.3 Erstellen Sie den Spielablauf
313
15.3.1 Bewegen Sie den Jäger
314
15.3.2 Treffen Sie die Ziele
316
15.3.3 Die Ziele starten eine Abwehr
318
15.3.4 Die Abwehr wird gefährlich
320
15.3.5 Messen Sie die Zeit
322
15.3.6 Ideen für Ihre Erweiterungen
324
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
329
16.3 Erstellen Sie den Spielablauf
330
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 Ihre Erweiterungen
338
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 das Projekt und die Fahrbahn
343
17.3.2 Konstruieren Sie das Fahrzeug
344
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
356
17.5 Erweitern Sie das Renntraining zum Autorennen
358
17.5.1 Erzeugen Sie das zweite Fahrzeug
359
17.5.2 Steuern Sie die Fahrzeuge getrennt
360
17.5.3 Teilen Sie den Bildschirm auf
362
17.5.4 Eine dritte Kamera für den Überblick
364
17.5.5 Getrennte Rundenzeiten nach einem Countdown
365
17.5.6 Ideen für Ihre Erweiterungen
369
18 Erkunden Sie das Verlies
370
18.1 Führen Sie das Spiel aus
370
18.2 Bereiten Sie das Spiel vor
375
18.2.1 Die Planung des Verlieses
376
18.2.2 Der Aufbau einer Kammer
376
18.2.3 Erstellen Sie die ersten Spielobjekte
378
18.2.4 Bauen Sie das Prefab für die Kammer
379
18.2.5 Die Schlüssel, Kisten und Sperren
381
18.2.6 Gestalten Sie die Benutzeroberfläche
383
18.3 Erstellen Sie den Spielablauf
384
18.3.1 Folgen Sie dem Spieler mit der Kamera
385
18.3.2 Erstellen Sie alle Kammern
386
18.3.3 Konfigurieren Sie die Kammern
388
18.3.4 Gehen Sie durch ein Tor
391
18.3.5 Nehmen Sie den Schlüssel aus einer Schatzkiste
394
18.3.6 Schließen Sie eine Sperre auf
398
18.3.7 Speichern Sie den Spielstand
400
18.3.8 Laden Sie den alten Spielstand
401
18.3.9 Ideen für Ihre Erweiterungen
402
19 Ein Programmierkurs in C#
404
19.1 Das Unity-Projekt »Programmierkurs«
404
19.2 Grundlagen
406
19.2.1 Variablen und Datentypen
406
19.2.2 Rechenoperatoren
408
19.2.3 Division von ganzen Zahlen
411
19.2.4 Verzweigungen
411
19.2.5 Logische Verknüpfungen
413
19.2.6 Schleifen und Zufallszahlen
415
19.3 Datenfelder
419
19.4 Zeichenketten
423
19.5 Methoden
425
19.5.1 Einfache Methode
426
19.5.2 Methode mit Parametern
426
19.5.3 Methode mit Rückgabewert
427
19.5.4 Methode mit Verweis-Parameter
429
19.6 Generische Listen
430
19.6.1 Hilfsmethode »AusgabeListe()«
432
19.6.2 foreach-Schleife
433
19.7 Daten auf der Festplatte
434
19.7.1 Daten speichern
434
19.7.2 Daten laden
435
19.7.3 Kontrolle der Daten
436
19.8 Objektorientierung
437
19.8.1 Die Spielobjekte im »Unity Editor«
438
19.8.2 Die Klasse »Spieler«
440
19.8.3 Änderungen aller Objekte der Klasse
441
19.8.4 Änderungen einzelner Objekte
442
20 Speichern Sie eine Highscore-Liste
444
20.1 Definition der eigenen Klasse
444
20.2 Nutzung der eigenen Klasse
446
20.2.1 Generische Liste erzeugen und füllen
447
20.2.2 Generische Liste anzeigen
448
20.2.3 Einen neuen Eintrag hinzufügen
449
20.2.4 Alles speichern, alles löschen
452
20.2.5 Der Anzeige-Schalter
453
21 Arbeiten Sie mit mehreren Szenen
455
21.1 Der Ablauf des Projekts
455
21.2 Der Aufbau der ersten Szene
456
21.3 Weitere Szenen
460
22 Allgemeine Hinweise
462
22.1 Projekte bearbeiten
462
22.1.1 Projekte umbenennen
462
22.1.2 Projekte kopieren
463
22.2 Unity Packages
464
22.2.1 Exportieren Sie ein Unity Package
464
22.2.2 Importieren Sie ein Unity Package
465
22.3 Unity unter anderen Betriebssystemen
466
22.3.1 Unity unter macOS installieren
466
22.3.2 Unity unter Ubuntu Linux installieren
467
22.4 Browser-Anwendungen erstellen
468
22.5 Android-Apps erstellen
470
22.5.1 Änderungen im Code
470
22.5.2 Installieren Sie den Android Build Support
472
22.5.3 Stellen Sie die Player Settings ein
472
22.5.4 Führen Sie den Android-Build durch
474
22.5.5 Starten Sie die App unter Android
474
22.6 Bonusprojekte
475
22.6.1 Bonusprojekt »TomsFrogger«
475
22.6.2 Bonusprojekt »TomsPacman«
476
Index
478