Sie sind hier
E-Book

Spiele entwickeln mit Unity 5

2D- und 3D-Games mit Unity und C# für Desktop, Web & Mobile

AutorCarsten Seifert
VerlagCarl Hanser Fachbuchverlag
Erscheinungsjahr2015
Seitenanzahl642 Seiten
ISBN9783446445802
FormatPDF/ePUB
KopierschutzWasserzeichen/DRM
GerätePC/MAC/eReader/Tablet
Preis31,99 EUR
Spiele entwickeln mit Unity 5//
- Für alle, die ihr eigenes Spiel entwickeln wollen; Vorkenntnisse sind nicht erforderlich
- Im Internet: die Games aus dem Buch mit allen Ressourcen, Videotutorials zur Vertiefung und weitere Beispiele, Zusatzmaterialien
Entwerfen Sie komplexe 3D-Welten; kombinieren Sie die unterschiedlichen Tools und Techniken, die Unity bietet; entwickeln Sie zusammen mit dem Autor zwei komplette Spiele.
AUS DEM INHALT //
Installation & Oberfläche von Unity 5.0 // Einführung in C# // Skript-Programmierung // Objekte in der 2. und 3. Dimension // Physically Based Shading // Kameras: die Augen des Spielers // Licht und Schatten // Physik-Engine // Maus, Tastatur, Touch // Audio // Partikeleffekte mit Shuriken // Landschaften gestalten // Wind Zones // GUI-Systeme // Prefabs // IInternet & Datenbanken // Animationen // Künstliche Intelligenz // Fehlersuche & Performance // Spiele erstellen & publizieren // Beispiel 1: 2D-Touch-Game // Beispiel 2: 3D-Adventure// Produktionsprozesse in der Spieleentwicklung

Dipl.-Ing (FH) Carsten Seifert ist Spiele- und Softwareentwickler, Blogger und YouTuber. Der Unity-Community ist er mit seinen Tutorials bestens bekannt. Besuchen Sie ihn auf seiner Webseite www.hummelwalker.de.

Kaufen Sie hier:

Horizontale Tabs

Blick ins Buch
Inhaltsverzeichnis
Inhalt6
Vorwort24
1 Einleitung26
1.1?Multiplattform-Publishing26
1.2?Das kann Unity (nicht)27
1.3?Lizenzmodelle27
1.4?Aufbau und Ziel des Buches28
1.5?Weiterentwicklung von Unity29
1.6?Online-Zusatzmaterial29
2 Grundlagen32
2.1?Installation32
2.2?Oberfläche32
2.2.1?Hauptmenü34
2.2.2?Scene View35
2.2.2.1?Navigieren in der Scene View36
2.2.2.2?Scene Gizmo36
2.2.3?Game View37
2.2.4?Toolbar38
2.2.5?Hierarchy40
2.2.5.1?Parenting41
2.2.6?Inspector42
2.2.6.1?Kopfinformationen im Inspector43
2.2.6.2?Variablen Werte zuweisen43
2.2.6.3?Komponenten-Menüs44
2.2.6.4?Preview-Fenster45
2.2.7?Project Browser45
2.2.7.1?Assets suchen und finden46
2.2.7.2?Assets importieren47
2.2.8?Console47
2.3?Das Unity-Projekt48
2.3.1?Neues Projekt anlegen48
2.3.2?Bestehendes Projekt öffnen49
2.3.2.1?Ältere Projekte öffnen50
2.3.3?Projektdateien50
2.3.4?Szene50
2.3.5?Game Objects51
2.3.6?Components52
2.3.7?Tags53
2.3.8?Layer54
2.3.9?Assets54
2.3.9.1?UnityPackage55
2.3.9.2?Asset Import55
2.3.9.3?Asset Export56
2.3.9.4?Asset Store56
2.3.10?Frames57
2.4?Das erste Übungsprojekt58
3 C# und Unity60
3.1?Die Sprache C#60
3.2?Syntax61
3.3?Kommentare62
3.4?Variablen62
3.4.1?Namenskonventionen62
3.4.2?Datentypen63
3.4.3?Schlüsselwort var64
3.4.4?Datenfelder/Array64
3.4.4.1?Arrays erstellen64
3.4.4.2?Zugriff auf ein Array-Element65
3.4.4.3?Anzahl aller Array-Items ermitteln65
3.4.4.4?Mehrdimensionale Arrays65
3.5?Konstanten66
3.5.1?Enumeration66
3.6?Typkonvertierung67
3.7?Rechnen68
3.8?Verzweigungen69
3.8.1?if-Anweisungen69
3.8.1.1?Komplexere if-Anweisungen70
3.8.2?switch-Anweisung71
3.9?Schleifen72
3.9.1?for-Schleife72
3.9.1.1?Negative Schrittweite73
3.9.1.2?break73
3.9.2?Foreach-Schleife73
3.9.3?while-Schleife74
3.9.4?do-Schleife74
3.10?Klassen75
3.10.1?Komponenten per Code zuweisen75
3.10.2?Instanziierung von Nichtkomponenten76
3.10.3?Werttypen und Referenztypen78
3.10.4?Überladene Methoden78
3.11?Der Konstruktor79
3.11.1?Konstruktoren in Unity79
3.12?Lokale und globale Variablen80
3.12.1?Namensverwechslung verhindern mit this80
3.13?Zugriff und Sichtbarkeit80
3.14?Statische Klassen und Klassenmember81
3.15?Parametermodifizierer out/ref82
3.16?Array-Übergabe mit params83
3.17?Eigenschaften und Eigenschafts­methoden84
3.18?Vererbung85
3.18.1?Basisklasse und abgeleitete Klassen85
3.18.2?Vererbung und die Sichtbarkeit86
3.18.3?Geerbte Methode überschreiben86
3.18.4?Zugriff auf die Basisklasse87
3.18.5?Klassen versiegeln87
3.19?Polymorphie88
3.20?Schnittstellen88
3.20.1?Schnittstelle definieren88
3.20.2?Schnittstellen implementieren89
3.20.2.1?Unterstützung durch MonoDevelop90
3.20.3?Zugriff über eine Schnittstellen90
3.21?Namespaces91
3.21.1?Eigene Namespaces definieren91
3.22?Generische Klassen und Methoden92
3.22.1?List93
3.22.2?Dictionary94
4 Skript-Programmierung96
4.1?MonoDevelop96
4.1.1?Hilfe in MonoDevelop97
4.1.2?Syntaxfehler97
4.2?Nutzbare Programmiersprachen98
4.2.1?Warum C#?98
4.3?Unitys Vererbungsstruktur99
4.3.1?Object99
4.3.2?GameObject100
4.3.3?ScriptableObject100
4.3.4?Component100
4.3.5?Transform101
4.3.6?Behaviour101
4.3.7?MonoBehaviour101
4.4?Skripte erstellen101
4.4.1?Skripte umbenennen102
4.5?Das Skript-Grundgerüst102
4.6?Unitys Event-Methoden103
4.6.1?Update103
4.6.2?FixedUpdate104
4.6.3?Awake105
4.6.4?Start105
4.6.5?OnGUI105
4.6.6?LateUpdate106
4.7?Komponentenprogrammierung106
4.7.1?Auf GameObjects zugreifen107
4.7.1.1?FindWithTag107
4.7.1.2?FindGameObjectsWithTag108
4.7.1.3?Find108
4.7.2?GameObjects aktivieren und deaktivieren108
4.7.3?GameObjects zerstören109
4.7.4?GameObjects erstellen109
4.7.5?Auf Components zugreifen109
4.7.5.1?GetComponent110
4.7.5.2?SendMessage110
4.7.5.3?Direktzugriff111
4.7.6?Components hinzufügen111
4.7.7?Components entfernen112
4.7.8?Components aktivieren und deaktivieren112
4.7.9?Attribute112
4.8?Zufallswerte114
4.9?Parallel Code ausführen115
4.9.1?WaitForSeconds116
4.10?Verzögerte und wiederholende Funktionsaufrufe mit Invoke116
4.10.1?Invoke116
4.10.2?InvokeRepeating, IsInvoking und CancelInvoke117
4.11?Daten speichern und laden118
4.11.1?PlayerPrefs-Voreinstellungen118
4.11.2?Daten speichern119
4.11.3?Daten laden119
4.11.4?Key überprüfen120
4.11.5?Löschen120
4.11.6?Save120
4.12?Szeneübergreifende Daten121
4.12.1?Werteübergabe mit PlayerPrefs121
4.12.1.1?Startmenüs zur Initialisierung nutzen122
4.12.2?Zerstörung unterbinden123
4.12.2.1?DontDestroyOnLoad als Singleton123
4.13?Debug-Klasse124
4.14?Kompilierungsreihenfolge125
4.14.1?Programmsprachen mischen und der sprachübergreifende Zugriff125
4.15?Ausführungsreihenfolge126
4.16?Plattformabhängig Code kompilieren126
4.17?Eigene Assets mit ScriptableObject127
4.17.1?Neue ScriptableObject-Subklasse erstellen128
4.17.2?Instanzen eines ScriptableObjects erstellen129
4.17.2.1?Eigener Menü-Knopf zum Erstellen von Assets129
5 Objekte in der zweiten und dritten Dimension132
5.1?Das 3D-Koordinatensystem132
5.2?Vektoren133
5.2.1?Ort, Winkel und Länge134
5.2.2?Normalisieren135
5.3?Das Mesh136
5.3.1?Normalenvektor137
5.3.2?MeshFilter und MeshRenderer137
5.4?Transform139
5.4.1?Kontextmenü der Transform-Komponente139
5.4.2?Objekthierarchien140
5.4.3?Scripting mit Transform141
5.4.4?Quaternion141
5.5?Shader und Materials142
5.5.1?Der Standard-Shader143
5.5.1.1?Rendering Mode145
5.5.1.2?Main Maps146
5.5.1.3?Secondary Maps152
5.5.1.4?Metallic vs. Specular154
5.5.2?Texturen158
5.5.2.1?Import von Texturen159
5.5.2.2?Normalmaps erstellen160
5.5.3?UV Mapping161
5.6?3D-Modelle einer Szene zufügen163
5.6.1?Primitives163
5.6.2?3D-Modelle importieren164
5.6.2.1?Model Import Settings165
5.6.3?In Unity modellieren165
5.6.4?Prozedurale Mesh-Generierung166
5.6.5?Level Of Detail166
5.6.5.1?LODGroups167
5.6.5.2?LOD-Qualitätseinstellungen168
5.7?2D in Unity168
5.7.1?Sprites169
5.7.1.1?Sprite Editor171
5.7.1.2?Sprite Packer172
5.7.2?SpriteRenderer174
5.7.2.1?Darstellungsreihenfolgen von Sprites175
5.7.2.2?Sprite-Shader176
5.7.3?Parallex Scrolling177
6 Kameras, die Augen des Spielers180
6.1?Die Kamera180
6.1.1?Komponenten eines Kamera-Objektes182
6.1.2?HDR – High Dynamic Range-Rendering182
6.1.2.1?Rückwandeln mit Tonemapping183
6.1.2.2?Abarbeitungsreihenfolge festlegen184
6.1.3?Linearer- und Gamma-Farbraum185
6.1.3.1?Die Gamma-Korrektur185
6.1.3.2?Linear-Space und Gamma-Space in Unity186
6.2?Kamerasteuerung188
6.2.1?Statische Kamera188
6.2.2?Parenting-Kamera188
6.2.3?Kamera-Skripte189
6.2.3.1?Kamera-Skripte programmieren189
6.3?ScreenPointToRay191
6.4?Mehrere Kameras191
6.4.1?Kamerawechsel191
6.4.2?Split-Screen193
6.4.3?Einfache Minimap194
6.4.4?Render Texture195
6.5?Image Effects197
6.5.1?Beispiel: Haus bei Nacht197
6.6?Skybox199
6.6.1?Mehrere Skyboxen gleichzeitig einsetzen200
6.6.2?Skybox selber erstellen201
6.7?Occlusion Culling202
6.7.1?Occluder Static und Occludee Static203
6.7.2?Occlusion Culling erstellen204
7 Licht und Schatten206
7.1?Ambient Light206
7.2?Lichtarten207
7.2.1?Directional Light208
7.2.2?Point Light209
7.2.3?Spot Light209
7.2.4?Area Light210
7.3?Schatten211
7.3.1?Einfluss des MeshRenderers auf Schatten212
7.4?Light Cookies213
7.4.1?Import Settings eines Light Cookies213
7.4.2?Light Cookies und Point Lights214
7.5?Light Halos215
7.5.1?Unabhängige Halos216
7.6?Lens Flares216
7.6.1?Eigene Lens Flares217
7.7?Projector217
7.7.1?Standard Projectors217
7.8?Lightmapping219
7.8.1?Light Probes221
7.9?Rendering Paths223
7.9.1?Forward Rendering224
7.9.2?Vertex Lit225
7.9.3?Deferred Lighting226
7.10?Global Illumination227
7.10.1?Baked GI227
7.10.2?Precomputed Realtime GI228
7.11?Reflexionen (Spiegelungen)228
7.11.1?Reflection Probes229
7.12?Qualitätseinstellungen232
7.12.1?Quality Settings232
7.12.2?Qualitätsstufen per Code festlegen232
8 Physik in Unity234
8.1?Physikberechnung234
8.2?Rigidbodies235
8.2.1?Rigidbodies kennenlernen236
8.2.2?Masseschwerpunkt237
8.2.3?Kräfte und Drehmomente zufügen238
8.2.3.1?AddForce-Methode238
8.2.3.2?AddTorque-Methode239
8.2.3.3?ConstantForce-Komponente241
8.3?Kollisionen241
8.3.1?Collider241
8.3.1.1?Mesh Collider242
8.3.1.2?Collider modifizieren243
8.3.1.3?OnCollision-Methoden244
8.3.2?Trigger245
8.3.3?Static Collider246
8.3.4?Kollisionen mit schnellen Objekten246
8.3.5?Terrain Collider248
8.3.6?Layer-basierende Kollisionserkennung248
8.3.7?Mit Layer-Masken arbeiten248
8.4?Wheel Collider250
8.4.1?Wheel Friction Curve251
8.4.2?Entwicklung einer Fahrzeugsteuerung253
8.4.2.1?CarController.cs258
8.4.3?Autokonfiguration260
8.4.4?Fahrzeugstabilität262
8.5?Physic Materials263
8.6?Joints264
8.6.1?Fixed Joint264
8.6.2?Spring Joint264
8.6.3?Hinge Joint264
8.7?Raycasting265
8.8?Character Controller266
8.8.1?SimpleMove267
8.8.2?Move268
8.8.3?Kräfte zufügen269
8.8.4?Einfacher First Person Controller270
8.9?2D-Physik272
8.9.1?OnCollision2D- und OnTrigger2D-Methoden273
8.9.2?2D Physic Effectors275
9 Maus, Tastatur, Touch276
9.1?Virtuelle Achsen und Tasten276
9.1.1?Der Input-Manager276
9.1.2?Virtuelle Achsen278
9.1.3?Virtuelle Tasten278
9.1.4?Steuern mit Mauseingaben279
9.1.5?Joystick-Inputs279
9.1.6?Anlegen neuer Inputs280
9.2?Achsen- und Tasteneingaben auswerten280
9.2.1?GetAxis280
9.2.2?GetButton281
9.3?Tastatureingaben auswerten282
9.3.1?GetKey282
9.3.2?anyKey282
9.4?Mauseingaben auswerten283
9.4.1?GetMouseButton283
9.4.2?mousePosition284
9.4.3?Mauszeiger ändern285
9.5?Touch-Eingaben auswerten286
9.5.1?Der Touch-Typ286
9.5.2?Input.touches287
9.5.3?TouchCount287
9.5.4?GetTouch288
9.5.5?CrossPlatformInput288
9.6?Beschleunigungssensor auswerten290
9.6.1?Input.acceleration290
9.6.2?Tiefpass-Filter291
9.7?Steuerungen bei Mehrspieler-Games292
9.7.1?Split-Screen-Steuerung292
9.7.2?Netzwerkspiele293
10 Audio294
10.1?AudioListener294
10.2?AudioSource295
10.2.1?Durch Mauern hören verhindern297
10.2.2?Sound starten und stoppen299
10.2.3?Temporäre AudioSource300
10.3?AudioClip301
10.3.1?Länge ermitteln301
10.4?Reverb Zone301
10.5?Filter303
10.6?Audio Mixer303
10.6.1?Das Audio Mixer-Fenster303
10.6.1.1?Die Audio-Steuerungseinheit305
10.6.2?Audiosignalwege307
10.6.2.1?Send & Receive308
10.6.2.2?Duck Volume309
10.6.3?Mit Snapshots arbeiten311
10.6.4?Views erstellen312
11 Partikeleffekte mit Shuriken314
11.1?Editor-Fenster315
11.2?Particle Effect Control316
11.3?Numerische Parametervarianten316
11.4?Farbparameter-Varianten317
11.5?Default-Modul317
11.6?Effekt-Module318
11.6.1?Emission319
11.6.2?Shape319
11.6.2.1?Sphere319
11.6.2.2?HemiSphere319
11.6.2.3?Cone319
11.6.2.4?Box320
11.6.2.5?Mesh320
11.6.3?Velocity over Lifetime320
11.6.4?Limit Velocity over Lifetime321
11.6.5?Force over Lifetime321
11.6.6?Color over Lifetime321
11.6.7?Color by Speed321
11.6.8?Size over Lifetime322
11.6.9?Size by Speed322
11.6.10?Rotation over Lifetime322
11.6.11?Rotation by Speed322
11.6.12?External Forces322
11.6.13?Collision323
11.6.13.1?Planes323
11.6.13.2?World324
11.6.14?Sub Emitter324
11.6.15?Texture-Sheet-Animation324
11.6.16?Renderer325
11.6.16.1?Billboard326
11.6.16.2?Stretched Billboard326
11.6.16.3?Horizontal Billboard326
11.6.16.4?Vertical Billboard326
11.6.16.5?Mesh327
11.7?Partikelemission starten, stoppen und unterbrechen327
11.7.1?Play327
11.7.2?Stop328
11.7.3?Pause328
11.7.4?enableEmission328
11.8?OnParticleCollision328
11.8.1?GetCollisionEvents329
11.9?Feuer erstellen329
11.9.1?Materials erstellen330
11.9.2?Feuer-Partikelsystem331
11.9.3?Rauch-Partikelsystem334
11.10?Wassertropfen erstellen337
11.10.1?Tropfen-Material erstellen337
11.10.2?Wassertropfen-Partikelsystem338
11.10.3?Kollisionspartikelsystem340
11.10.4?Kollisionssound342
12 Landschaften gestalten344
12.1?Was Terrains können und wo die Grenzen liegen345
12.2?Terrainhöhe verändern345
12.2.1?Pinsel346
12.2.2?Oberflächen anheben und senken346
12.2.3?Plateaus und Schluchten erstellen347
12.2.4?Oberflächen weicher machen348
12.2.5?Heightmaps348
12.2.5.1?Reale Landschaften als Vorlagen nutzen349
12.3?Terrain texturieren350
12.3.1?Textur-Pinsel351
12.3.2?Texturen verwalten351
12.4?Bäume und Sträucher353
12.4.1?Bedienung des Place Tree-Tools353
12.4.2?Wälder erstellen354
12.4.3?Mit Bäumen kollidieren354
12.5?Gräser und Details hinzufügen355
12.5.1?Detail-Meshs355
12.5.2?Gräser356
12.5.3?Quelldaten nachladen357
12.6?Terrain-Einstellungen357
12.6.1?Base Terrain358
12.6.2?Resolution358
12.6.3?Tree & Details Objects359
12.6.4?Wind Settings359
12.6.5?Zur Laufzeit Terrain-Eigenschaften verändern360
12.7?Der Weg zum perfekten Terrain361
12.8?Gewässer362
13 Wind Zones364
13.1?Spherical vs. Directional365
13.2?Wind Zone – Eigenschaften366
13.3?Frische Brise367
13.4?Turbine367
14 GUI368
14.1?Das UI-System uGUI369
14.1.1?Canvas369
14.1.1.1?Render Modes370
14.1.1.2?Canvas Scaler372
14.1.2?RectTransform373
14.1.2.1?Anchors375
14.1.3?UI-Sprite Import377
14.1.4?Grafische Controls378
14.1.4.1?Text378
14.1.4.2?Image379
14.1.4.3?Raw Image380
14.1.4.4?Panel380
14.1.4.5?Effects380
14.1.5?Interaktive Controls381
14.1.5.1?Button384
14.1.5.2?InputField385
14.1.5.3?Toggle und Toggle Group385
14.1.5.4?Slider386
14.1.5.5?Scrollbar387
14.1.6?Controls designen387
14.1.7?Animationen in uGUI388
14.1.8?Event Trigger389
14.2?Screen-Klasse390
14.2.1?Schriftgröße dem Bildschirm anpassen391
14.3?OnGUI-Programmierung391
14.3.1?GUI392
14.3.1.1?Label392
14.3.1.2?Button und RepeatButton393
14.3.1.3?TextField und TextArea393
14.3.1.4?Subfenster394
14.3.2?GUILayout395
14.3.2.1?Ausrichtung festlegen395
14.3.3?GUIStyle und GUISkin396
15 Prefabs398
15.1?Prefabs erstellen und nutzen398
15.2?Prefab-Instanzen erzeugen398
15.2.1?Instanzen per Code erstellen399
15.2.2?Instanzen weiter bearbeiten399
15.3?Prefabs ersetzen und zurücksetzen400
16 Internet und Datenbanken402
16.1?Die WWW-Klasse402
16.1.1?Rückgabewert-Formate403
16.1.2?Parameter übergeben404
16.1.2.1?WWWForm404
16.2?Datenbank-Kommunikation405
16.2.1?Daten in einer Datenbank speichern405
16.2.2?Daten von einer Datenbank abfragen406
16.2.3?Rückgabewerte parsen408
16.2.4?Datenhaltung in eigenen Datentypen408
16.2.5?HighscoreCommunication.cs410
16.2.6?Datenbankverbindung in PHP412
17 Animationen414
17.1?Allgemeiner Animation-Workflow415
17.2?Animationen erstellen415
17.2.1?Animation View416
17.2.2?Curves vs. Dope Sheet417
17.2.3?Animationsaufnahme417
17.2.3.1?Ansicht im Animation-Fenster anpassen418
17.2.3.2?Sprite-Animationen418
17.2.3.3?Root Motion-Kurven erstellen421
17.2.4?Beispiel Fallgatter-Animation422
17.3?Animationen importieren423
17.3.1?Rig424
17.3.1.1?Generic424
17.3.1.2?Humanoid424
17.3.2?Animationen426
17.3.2.1?Animationen aufteilen426
17.3.2.2?Importierte Animation-Clips bearbeiten427
17.3.2.3?Mask429
17.3.2.4?Events429
17.4?Animationen einbinden429
17.4.1?Animator Controller429
17.4.1.1?Animation States erstellen430
17.4.1.2?Transitions – Animation States wechseln431
17.4.1.3?Any State nutzen433
17.4.1.4?Blend Trees433
17.4.1.5?Layer und Avatar Masks434
17.4.1.6?Sub-State Machines436
17.4.1.7?State Machine Behaviours441
17.4.2?Animator-Komponente445
17.4.3?Beispiel Fallgatter: Animator Controller446
17.5?Controller-Skripte448
17.5.1?Parameter des Animator Controllers setzen448
17.5.1.1?Mit Hash-Werten arbeiten449
17.5.2?Animation States abfragen449
17.5.3?Beispiel Fallgatter Controller-Skript450
17.6?Animation Events452
18 Künstliche Intelligenz454
18.1?NavMeshAgent455
18.1.1?Eigenschaften der Navigationskomponente456
18.1.2?Zielpunkt zuweisen456
18.1.3?Pfadsuche unterbrechen und fortsetzen457
18.2?NavigationMesh457
18.2.1?Object Tab459
18.2.2?Bake Tab459
18.2.3?Areas Tab460
18.3?NavMeshObstacle461
18.4?Off-Mesh Link462
18.4.1?Automatische Off-Mesh Links462
18.4.2?Manuelle Off-Mesh Links463
18.5?Point & Click-Steuerung für Maus und Touch464
19 Fehlersuche und Performance468
19.1?Fehlersuche468
19.1.1?Breakpoints469
19.1.2?Variablen beobachten470
19.1.3?Console Tab nutzen470
19.1.4?GUI- und GUILayout nutzen471
19.2?Performance471
19.2.1?Rendering-Statistik472
19.2.2?Batching-Verfahren473
19.2.3?Analyse mit dem Profiler475
19.2.4?Echtzeit-Analyse auf Endgeräten476
19.2.4.1?Webplayer-Game remote analysieren476
19.2.4.2?Android-Game remote analysieren477
19.2.4.3?iOS-Game remote analysieren477
20 Spiele erstellen und publizieren478
20.1?Der Build-Prozess478
20.1.1?Szenen des Spiels479
20.1.2?Plattformen480
20.1.3?Notwendige SDKs480
20.1.4?Plattformspezifische Optionen481
20.1.5?Developer Builds481
20.1.5.1?Autoconnect Profiler481
20.1.5.2?Script Debugging481
20.2?Publizieren482
20.2.1?App483
20.2.2?Browser-Game483
20.2.3?Desktop-Anwendung484
21 Erstes Beispiel-Game: 2D-Touch-Game486
21.1?Projekt und Szene486
21.1.1?Die Kamera488
21.1.2?Texturen importieren und Sprites definieren488
21.2?Gespenster und Hintergrund490
21.2.1?Gespenster animieren493
21.2.2?Gespenster laufen lassen497
21.2.3?Gespenster-Prefab erstellen499
21.3?Der GameController499
21.3.1?Der Spawner500
21.3.2?Level-Anzeige502
21.3.3?Der Input-Controller503
21.3.4?Game Over-UI505
21.3.5?Hintergrundmusik511
21.4?Punkte zählen512
21.5?Spielende513
21.6?Spiel erstellen514
22 Zweites Beispiel-Game: 3D Dungeon Crawler516
22.1?Level-Design517
22.1.1?Modellimport518
22.1.1.1?Allgemeine Import Settings518
22.1.1.2?bat_03 Import Settings518
22.1.1.3?crate_01 Import Settings519
22.1.1.4?stone_01 Import Settings519
22.1.1.5?floor_01 Import Settings519
22.1.2?Materials konfigurieren519
22.1.3?Prefabs erstellen520
22.1.3.1?Wall Prefab520
22.1.3.2?Torch Prefab520
22.1.3.3?Wall_Torch Prefab521
22.1.3.4?Floor Prefab521
22.1.3.5?Ceiling Prefab522
22.1.4?Dungeon erstellen522
22.1.4.1?Boden erstellen522
22.1.4.2?Wände erstellen523
22.1.4.3?Decke erstellen524
22.1.4.4?Allgemeine Licht-Einstellungen524
22.1.4.5?Fackelbeleuchtung524
22.1.4.6?Akzent-Beleuchtung526
22.1.5?Dekoration erstellen527
22.1.5.1?Crate Prefab527
22.1.5.2?Barrel Prefabs527
22.2?Inventarsystem erstellen528
22.2.1?Verwaltungslogik528
22.2.1.1?InventoryItem.cs532
22.2.1.2?CreateInventoryItem.cs532
22.2.1.3?Inventory.cs533
22.2.1.4?PickableItem.cs535
22.2.2?Oberfläche des Inventarsystems535
22.2.3?Inventar-Items539
22.2.3.1?HoverEffects.cs544
22.3?Game Controller545
22.4?Spieler erstellen546
22.4.1?Lebensverwaltung547
22.4.1.1?LifePointController.cs555
22.4.1.2?HealthController.cs556
22.4.1.3?PlayerHealth.cs556
22.4.2?Spielersteuerung558
22.4.2.1?PlayerController.cs563
22.4.2.2?Footsteps.cs564
22.4.2.3?Shooting.cs565
22.4.3?Wurfstein entwickeln566
22.4.3.1?StoneBehaviour.cs569
22.4.3.2?Zerberstenden Stein konfigurieren570
22.4.4?Lautstärke steuern572
22.5?Quest erstellen573
22.5.1?Erfahrungspunkte verwalten573
22.5.1.1?EPController.cs574
22.5.2?Questgeber erstellen575
22.5.2.1?WaterQuest.cs580
22.5.2.2?WaterdropSound.cs582
22.5.2.3?InGameMenu.cs582
22.5.3?Sub-Quest erstellen583
22.5.3.1?AnimateDoor.cs587
22.6?Gegner erstellen589
22.6.1?Model-, Rig- und Animationsimport589
22.6.2?Komponenten und Prefab konfigurieren590
22.6.3?Animator Controller erstellen592
22.6.4?NavMesh erstellen594
22.6.5?Umgebung und Feinde erkennen595
22.6.5.1?EnemySonar.cs596
22.6.6?Gesundheitszustand verwalten597
22.6.6.1?EnemyHealth.cs600
22.6.7?Künstliche Intelligenz entwickeln601
22.6.7.1?EnemyAI.cs607
22.7?Eröffnungsszene610
22.7.1?Szene erstellen610
22.7.2?Startmenü-Logik erstellen611
22.7.2.1?MainMenu.cs612
22.7.3?Menü-GUI erstellen613
22.8?Web-Player-Anpassungen615
22.8.1?Web-Player-Template ändern615
22.8.2?Quit-Methode im Web-Player abfangen615
22.9?Finale Einstellungen616
22.10?So könnte es weitergehen619
23 Der Produktionsprozess in der Spieleentwicklung620
23.1?Die Produktionsphasen620
23.1.1?Ideen- und Konzeptionsphase621
23.1.2?Planungsphase621
23.1.3?Entwicklungsphase621
23.1.4?Testphase622
23.1.5?Veröffentlichung und Postproduktion622
23.2?Das Game-Design-Dokument622
24 Schlusswort624
Index626

Weitere E-Books zum Thema: Informatik - Algorithmen - Softwaresysteme

Softwaretechnik

E-Book Softwaretechnik
Format: PDF

Software-Projekte geraten oft in Schwierigkeiten: Zeit und Budget werden überschritten; das Projekt tritt auf der Stelle; im schlimmsten Fall wird es ohne Ergebnis abgebrochen. Manche…

Softwaretechnik

E-Book Softwaretechnik
Format: PDF

Software-Projekte geraten oft in Schwierigkeiten: Zeit und Budget werden überschritten; das Projekt tritt auf der Stelle; im schlimmsten Fall wird es ohne Ergebnis abgebrochen. Manche…

Softwaretechnik

E-Book Softwaretechnik
Format: PDF

Software-Projekte geraten oft in Schwierigkeiten: Zeit und Budget werden überschritten; das Projekt tritt auf der Stelle; im schlimmsten Fall wird es ohne Ergebnis abgebrochen. Manche…

Software Engineering

E-Book Software Engineering
Architektur-Design und Prozessorientierung Format: PDF

Das Lehrbuch behandelt alle Aspekte der Software-Entwicklung, besonders aber Methoden und Richtlinien zur Herstellung großer und qualitativ hochwertiger Softwareprodukte. Es vermittelt das zur…

Software Engineering

E-Book Software Engineering
Architektur-Design und Prozessorientierung Format: PDF

Das Lehrbuch behandelt alle Aspekte der Software-Entwicklung, besonders aber Methoden und Richtlinien zur Herstellung großer und qualitativ hochwertiger Softwareprodukte. Es vermittelt das zur…

Weitere Zeitschriften

arznei-telegramm

arznei-telegramm

Das arznei-telegramm® informiert bereits im 53. Jahrgang Ärzte, Apotheker und andere Heilberufe über Nutzen und Risiken von Arzneimitteln. Das arznei-telegramm®  ist neutral und ...

dental:spiegel

dental:spiegel

dental:spiegel - Das Magazin für das erfolgreiche Praxisteam. Der dental:spiegel gehört zu den Top 5 der reichweitenstärksten Fachzeitschriften für Zahnärzte in Deutschland (laut LA-DENT 2011 ...

SPORT in BW (Württemberg)

SPORT in BW (Württemberg)

SPORT in BW (Württemberg) ist das offizielle Verbandsorgan des Württembergischen Landessportbund e.V. (WLSB) und Informationsmagazin für alle im Sport organisierten Mitglieder in Württemberg. ...

dima

dima

Bau und Einsatz von Werkzeugmaschinen für spangebende und spanlose sowie abtragende und umformende Fertigungsverfahren. dima - die maschine - bietet als Fachzeitschrift die Kommunikationsplattform ...

Eishockey NEWS

Eishockey NEWS

Eishockey NEWS bringt alles über die DEL, die DEL2, die Oberliga sowie die Regionalligen und Informationen über die NHL. Dazu ausführliche Statistiken, Hintergrundberichte, Personalities ...