Cover von Virtual Reality-Spiele entwickeln mit Unity wird in neuem Tab geöffnet

Virtual Reality-Spiele entwickeln mit Unity

Grundlagen, Beispielprojekte, Tipps & Tricks ; behandelt Unity 2017
Verfasser*in: Suche nach Verfasser*in Korgel, Daniel
Verfasser*innenangabe: Daniel Korgel
Jahr: 2018
Verlag: München, Hanser
Mediengruppe: Buch
nicht verfügbar

Exemplare

AktionZweigstelleStandorteStatusFristVorbestellungen
Vorbestellen Zweigstelle: 07., Urban-Loritz-Pl. 2a Standorte: NT.ES Korg / College 6c - Informatik & Computer Status: Entliehen Frist: 13.05.2024 Vorbestellungen: 0

Inhalt

Auch du kannst dein eigenes Virtual Reality-Spiel mit Unity entwickeln ¿ in diesem Buch lernst, du wie es funktioniert.Dieser praktische Leitfaden bietet dir einen fundierten Einstieg in die Entwicklung von Virtual Reality-Welten. Von den VR- und Unity-Grundlagen über die fortgeschrittene Unity-Programmierung bis hin zu kompletten Beispielprojekten für unterschiedliche VR-Headsets erhältst du hier das nötige Know-how für deine eigene VR-App. Berücksichtigt werden u. a. Oculus Rift, SteamVR (z. B. HTC Vive), GearVR und GoogleVR (z. B. Daydream). Alle Beispielprojekte stehen online zum Download zur Verfügung.Folgende Themen erwarten dich:- Eine Einführung in Virtual Reality, die unterstützten VR-Headsets und die wichtigsten Funktionen der Unity Engine. - Das Kapitel "Quickstart" führt in die Grundlagen der 3D-Entwicklung mit Unity ein und ist die Basis für die darauffolgenden Kapitel. - Do´s and Don´ts bei der Entwicklung von VR-Spielen werden anhand von Praxisbeispielen erklärt, wobei du die meisten der beschriebenen Beispiele einfach nachbauen kannst. - Du erhältst einen tieferen Einblick in Unity, dessen interne VR-Unterstützung sowie in die verschiedenen VR-Entwicklerwerkzeuge für VR-Headsets wie Oculus Rift, HTC Vive, GearVR und Daydream u. a.- Schließlich wird für jedes VR-Headset ein Beispielprojekt gezeigt, mit dem du dein neu erworbenes Wissen umsetzen kannst ¿ und du erfährst natürlich auch, wie du dein Spiel mit Anderen teilst und VR-tauglich präsentierst.- Tipps, wie du Ideen für eigene Projekte findest und Tricks zur Spieleentwicklung runden das Buch ab. Verlagstext
Vorwort XV
1 Einleitung 1
1.1 Virtual Reality . 2
1.2 Ziel des Buches 2
1.3 Unterstützte Virtual-Reality-Brillen 3
1.4 Unity . 4
1.4.1 Die verschiedenen Versionen von Unity . 5
1.5 Was brauche ich? . 6
1.6 Weiterentwicklung der Technik . 7
1.7 Online-Zusatzmaterial . 7
2 Einfuhrung in Virtual Reality . 9
2.1 Begriffserklärungen 9
2.2 Augmented Reality, Mixed Reality und Virtual Reality 11
2.3 Virtual Reality ist tot ¿ lang lebe Virtual Reality . 12
2.4 Unterstützte Virtual-Reality-Brillen 15
2.4.1 Oculus Rift 16
2.4.2 HTC Vive . 17
2.4.3 Samsung GearVR . 18
2.4.4 Google Cardboard (nur teilweise unterstützt) . 19
2.4.5 Google Daydream 20
2.5 Andere VR-Brillen 21
2.5.1 Microsoft Mixed Reality . 21
2.5.2 PlayStation VR . 22
2.5.3 Razer OSVR . 23
2.6 Spiele, Anwendungen, Demos und Erfahrungen . 24
2.7 Seated, Standing & Room Scale . 25
2.8 ¿Bekannte¿ Probleme . 26
2.8.1 Auflösung & Fliegengitter-Effekt 27
2.8.2 Hardwareanforderungen 27
2.8.3 Kurz- und Weitsichtigkeit 28
2.8.4 Simulator Sickness . 28
3 Quickstart: 3D-Entwicklung mit Unity 31
3.1 Installation 31
3.1.1 Die Unity ID . 33
3.1.2 Android SDK & Java Development Kit(GearVR, GoogleVR) 34
3.2 Der erste Start . 38
3.3 Ein neues Projekt anlegen . 39
3.4 Die Unity-Oberfläche 40
3.4.1 Drag & Drop . 41
3.4.2 Project Browser 42
3.4.3 Console . 43
3.4.4 Hierarchy . 44
3.4.5 Scene View 46
3.4.6 Inspector 48
3.5 Scenes 54
3.5.1 Unity in der dritten Dimension . 54
3.5.2 GameObjects 55
3.5.3 Prefabs . 57
3.6 Die wichtigsten Components . 58
3.6.1 Camera und Audio Listener 58
3.6.2 Lights 59
3.6.3 Mesh Filter und Mesh Renderer 60
3.6.4 Collider . 61
3.6.5 Rigidbody . 62
3.6.6 Audio Source 63
3.6.7 Scripts/Behaviours . 64
3.7 Assets 64
3.7.1 Dateien importieren 67
3.7.2 Unity Packages 68
3.7.3 Asset Store 71
3.7.4 Import Settings 72
3.8 Projektvorbereitung (GearVR, GoogleVR) . 72
3.8.1 Zielplattform zu Android wechseln 73
3.8.2 Externe Tools angeben (Android SDK, JDK) . 74
3.9 Test Scene erstellen und starten 76
3.9.1 Rohbau für den Raum erstellen . 78
3.9.2 Scene speichern 81
3.9.3 Licht anpassen . 82
3.9.4 Collider hinzufügen . 83
3.9.5 Möbelstücke einräumen . 84
3.9.6 Bücher hinzufügen . 87
3.9.7 Weitere Details . 91
3.9.8 Lichter und Lichteinstellungen optimieren . 92
3.9.9 Spieler positionieren 95
3.10 VR-Unterstützung aktivieren . 96
3.10.1 Unitys VR-Unterstützung aktivieren . 96
3.11 Player Settings anpassen (GearVR, GoogleVR) . 97
3.12 Anti-Aliasing aktivieren . 99
3.13 Die Scene in VR testen 100
3.13.1 Am PC in VR testen (Oculus Rift, SteamVR) 101
3.13.2 Auf dem Smartphone in VR testen (GearVR, GoogleVR) 102
3.14 So geht es weiter . 111
4 Dos and Don¿ts ¿ Game-Design fur Virtual Reality 113
4.1 Beispielprojekt . 114
4.2 Immersion 114
4.2.1 Immersion brechen . 118
4.3 Positional Tracking . 118
4.3.1 Mobile VR-Brillen 120
4.4 Locomotion 121
4.4.1 Klassische Locomotion 121
4.4.2 Teleport Locomotion 124
4.4.3 Ohne künstliche Locomotion . 125
4.4.4 Andere Eingabemethoden für das Laufen . 128
4.5 Lebendige Spielwelt erschaffen . 129
4.6 User Interface . 133
4.6.1 Distanz und Größe 136
4.7 Aufmerksamkeit lenken . 137
4.7.1 Objekte untersuchen 138
4.7.2 Ereignisse nicht verpassen 141
4.8 Uncanny Valley 142
4.8.1 Auswirkung für dich 145
4.9 Sound Design und Spatial Sound 146
4.9.1 Spatial Sound 146
4.9.2 Spatial-Audio-Engines . 149
5 C#-Scripte fur Unity programmieren . 151
5.1 C#, .Net und Mono 152
5.2 Grundlagen 152
5.2.1 C#-Syntax . 152
5.2.2 Kommentare 153
5.2.3 Variablen . 154
5.2.4 Methoden . 161
VIII Inhalt
5.2.5 Klassen . 164
5.2.6 Dynamische Datentypen . 165
5.2.7 Statische Methoden und statische Variablen 167
5.2.8 Vererbung . 168
5.2.9 Namespaces . 171
5.2.10 Lebenszyklus von Variablen . 172
5.2.11 Sichtbarkeiten . 173
5.2.12 Ausnahmen ¿ ¿Exceptions¿ 174
5.3 Erster Test . 175
5.3.1 Microsoft Visual Studio 2017 . 175
5.3.2 Script, Behaviour, Component und ihr Aufbau 179
5.3.3 Debug-Ausgaben in die Console 180
5.3.4 Eigenes Script testen 181
5.3.5 Notation von Methoden und Variablen in diesem Buch . 183
5.4 Erweiterte Grundlagen 183
5.4.1 Bedingungen und Verzweigungen . 183
5.4.2 Schleifen 186
5.4.3 Eigenschaften 191
5.4.4 Dynamische Listen . 192
5.5 Unity-spezifische Grundlagen 196
5.5.1 Zufallswerte . 196
5.5.2 Editor-Eigenschaften 197
5.5.3 MonoBehaviour Lebenszyklus-Methoden . 200
5.5.4 MonoBehaviour-Event-Methoden 202
5.5.5 Auf GameObjects zugreifen 203
5.5.6 GameObjects via Code erstellen 206
5.5.7 GameObjects zerstören 207
5.5.8 Transforms: GameObjects bewegen . 207
5.5.9 Auf andere Components zugreifen 209
5.5.10 Components zu GameObject hinzufügen . 212
5.5.11 Components entfernen 213
5.5.12 Parallele Methoden mit Coroutines 213
5.5.13 Scripted-Event-Beispiel 214
5.5.14 Methoden verzögert aufrufen mit Invoke . 215
5.6 Problemlösung . 216
5.6.1 Wort im Code ist rot unterstrichen 216
5.6.2 Fehler in der Console im Editor . 217
5.6.3 Fehler in der Console, während das Spiel läuft 217
5.6.4 ¿Can¿t add script¿-Meldung oder Script ist nicht im
¿Add Component¿-Menü vorhanden . 218
5.6.5 Sonstige Fehler 219
6 Erweiterte Unity-Einfuhrung 221
6.1 Licht, Schatten und Lightmapping . 221
6.1.1 Global Illumination . 222
6.1.2 Farbräume 232
6.1.3 Environment Light . 233
6.1.4 Lichter in der Scene 234
6.1.5 Emissive Materials . 240
6.1.6 Light Probes . 240
6.1.7 Reflexionen . 243
6.1.8 Lighting-Fenster . 246
6.1.9 Light Explorer . 248
6.2 Shader 249
6.2.1 Der Standard Shader 250
6.2.2 Mobile Shader . 255
6.3 Audio . 258
6.3.1 AudioSources 259
6.3.2 AudioSources via Script steuern 262
6.3.3 Temporäre AuidoSource via Script 264
6.3.4 Reverb Zones 264
6.3.5 Audio Mixer . 265
6.4 Tastatur und Gamepad-Eingaben lesen . 269
6.4.1 Der Input-Manager . 270
6.4.2 Virtuelle Tasten und Achsen . 270
6.4.3 Konfiguration einer Achse . 271
6.4.4 Gamepad- und Tastatureingaben erfassen 273
6.5 Physik 275
6.5.1 Collider . 275
6.5.2 Rigidbody . 278
6.5.3 Kräfte und Beschleunigung 280
6.5.4 Physics Joints ¿ Verknüpfungen 281
6.5.5 Kollisionen und Trigger erkennen . 285
6.5.6 Raycasts 291
6.5.7 Character Controller 292
6.6 Partikeleffekte . 295
6.6.1 Partikelsysteme 296
6.6.2 Particle-Effect-Steuerung 297
6.6.3 Module des Particle Systems . 298
6.6.4 Particle Effect Editor 305
6.6.5 Particle Systems via Script steuern 305
6.6.6 Standard-Partikeleffekte . 306
6.7 Landschaften mit Terrains erstellen . 306
6.8 Animation System 309
6.8.1 Animation Workflow 310
6.8.2 Humanoide Animationen und Avatare . 312
6.8.3 Modelle & Animationen importieren . 313
6.8.4 Animation Controller . 317
6.9 Wegfindung . 321
6.9.1 Wegfindungssystem einrichten . 321
6.9.2 Grundlagen . 323
6.9.3 NavMeshs berechnen . 325
6.9.4 NavMeshs verbinden 326
6.9.5 Dynamische Hindernisse 326
6.9.6 NavMeshAgent erstellen . 327
6.9.7 NavMeshAgent über Script steuern . 327
6.9.8 Erweiterte Beispiele 328
6.10 Savegames ¿ Daten speichern und laden . 329
6.11 Performance optimieren . 330
6.11.1 Batching 330
6.11.2 Performance im Auge behalten . 331
6.11.3 VR-Optimierungs-Checkliste und Grenzen 335
6.12 User Interface ¿ Quickstart 337
6.12.1 User Interface im World Space erstellen 337
6.12.2 User Interface in VR bedienen 342
7 Die Virtual-Reality-SDKs . 345
7.1 Unity-interne VR-Unterstützung 346
7.1.1 Unitys interne VR-Unterstützung aktivieren 346
7.1.2 Interne VR-Unterstützung in der Scripting-API 348
7.1.3 InputTracking . 348
7.1.4 VRDevice . 349
7.1.5 VRSettings 350
7.2 Oculus Integration for Unity (Rift und Gear) 352
7.2.1 Download und Import . 352
7.2.2 Prefabs . 354
7.2.3 Gamepad-, Headset- und Touch-Eingaben lesen 361
7.2.4 Haptisches Feedback 363
7.2.5 Oculus Avatar SDK . 365
7.2.6 Mehr Infos und Hilfe 367
7.3 SteamVR (u. a. HTC Vive) 368
7.3.1 Download und Import . 369
7.3.2 Prefabs . 371
7.3.3 Eingaben der Controller lesen 378
7.3.4 Haptisches Feedback 379
7.3.5 Interaktionsbeispiel aus The Lab (u. a. Longbow, Teleport) 380
7.3.6 Mehr Infos und Hilfe 380
7.4 GoogleVR SDK . 381
7.4.1 Download und Import . 381
7.4.2 Prefabs . 382
7.4.3 Eingaben des Daydream Controllers lesen 386
7.4.4 Erweiterte Editorfunktionen fürs Testen . 387
8 Beispielprojekte ¿ Einleitung . 391
9 Bow and Arrow Castle Defense ¿ GoogleVR mit Controller 393
9.1 Der Start 394
9.2 Die Kernmechanik ¿ Bogenschießen . 396
9.2.1 Scene vorbereiten 396
9.2.2 Einfaches Scene-Design . 396
9.2.3 Spieler konfigurieren und Daydream Controller einbinden 399
9.2.4 Schusskraft für den Bogen . 401
9.2.5 Ein Pfeil für den Bogen 403
9.2.6 Pfeile nachladen . 406
9.2.7 Dynamische Schusskraft 408
9.2.8 Flugkurve Vorschau ¿ Add-on 410
9.2.9 Schaden und zerstörbare Ziele 413
9.3 Game- & Level-Design . 414
9.4 Game Manager . 416
9.5 Gegner ¿ Orks! . 421
9.5.1 NavMesh erstellen 421
9.5.2 Ork-Animator Controller . 421
9.5.3 Die künstliche Intelligenz 423
9.5.4 Der Ork . 424
9.5.5 Prefab erstellen und platzieren . 426
9.6 Abschluss . 426
9.6.1 Umsetzung dieses Beispiels für andere VR-Brillen . 427
10 Space Battle ¿ Oculus Rift & SteamVR 429
10.1 Der Start 430
10.1.1 Scene vorbereiten 431
10.2 Die Kernmechanik ¿ ein Raumschiff fliegen 434
10.2.1 Spieler-Raumschiff erstellen . 435
10.2.2 Raumschiff-Steuerung 438
10.2.3 Starfield/Weltraumstaub 445
10.2.4 Schadenssystem & Plasmakanone . 448
10.3 Feinde und Verbündete 456
10.3.1 KI-Raumschiff . 456
10.3.2 Die künstliche Intelligenz 458
10.4 Abschluss . 467
10.4.1 Umsetzung dieses Beispiels für andere VR-Brillen . 468
11 Dungeon Crawler ¿ GearVR 469
11.1 Der Start 470
11.1.1 Osig und Unity2017.1.0f3-Patch einfügen 472
11.2 Einen Dungeon bauen . 472
11.2.1 Die Bauteile . 473
11.2.2 Level-Design . 473
11.2.3 Audio: Environment-Loop 476
11.3 Occlusion Culling 476
11.4 Kernmechanik ¿ Laufen, Kämpfen, Interagieren . 478
11.4.1 Spieler erstellen 479
11.4.2 Bewegungen entlang des Gitters 481
11.4.3 Interaktive und lebendige Objekte 484
11.4.4 Die Spielerfunktionen . 486
11.4.5 Spielereingaben lesen . 491
11.4.6 Player fertigstellen . 494
11.5 Gegner: Goblins 495
11.5.1 Die künstliche Intelligenz 496
11.5.2 Das GameObject und Prefab 498
11.5.3 Bevölkerung des Dungeons mit Goblins 499
11.6 Pickups: Kristalle . 500
11.7 Dungeon-Ausgang 502
11.8 Interaktive Hindernisse . 504
11.8.1 Falle: Stacheln . 504
11.8.2 Rätsel: Schalter und Tore 506
11.9 Abschluss . 509
11.9.1 Umsetzung dieses Beispiels für andere VR-Brillen . 510
12 Sci-Fi-Stealth-Shooter ¿ Oculus Rift mit Oculus Touch
und SteamVR . 511
12.1 Der Start 512
12.2 Trainings-Areal anlegen . 514
12.3 Player-GameObject erstellen 516
12.3.1 Oculus SDK: Player-GameObject erstellen 516
12.3.2 SteamVR SDK: Player-GameObject erstellen 517
12.3.3 Character Controller 518
12.3.4 Locomotion ¿ klassisch und teleportieren 521
12.3.5 Eingaben lesen und Methoden aufrufen 525
12.3.6 Nach Gegenständen greifen 530
12.4 Lebensenergie verwalten 540
12.4.1 Lebensenergie des Spielers und Game Over 541
12.5 Laserpistole . 542
12.5.1 Das GameObject vorbereiten . 542
12.5.2 Die Laserpistolen-Funktion 543
12.5.3 Der Laserstrahl 545
12.6 Roboter-Gegner 547
12.6.1 EnemyAi ¿ wie funktioniert die KI? . 547
12.6.2 Roboter-GameObject anlegen . 548
12.6.3 Trigger Collider ignorieren 550
12.7 Level erstellen . 551
12.7.1 Level-Ende 552
12.8 Abschluss . 553
13 VR-Spiele teilen, prasentieren und Feedback erhalten 555
13.1 Spieleidee entwickeln . 555
13.2 VR-Spiele Builds erstellen und teilen 556
13.3 Feedback erhalten und Spiel bewerben . 558
13.3.1 Tipps für das Präsentieren von Virtual Reality 559
13.4 Spiel veröffentlichen 560
13.5 Kostenlose Assets 561
 

Details

Verfasser*in: Suche nach Verfasser*in Korgel, Daniel
Verfasser*innenangabe: Daniel Korgel
Jahr: 2018
Verlag: München, Hanser
opens in new tab
Systematik: Suche nach dieser Systematik NT.ES
Suche nach diesem Interessenskreis
ISBN: 978-3-446-45147-6
2. ISBN: 3-446-45147-1
Beschreibung: XIII, 571 Seiten : Illustrationen, Diagramme
Schlagwörter: C sharp, Computerspiel, Programmierung, Unity <Spiel-Engine>, Virtuelle Realität, C#, C-Gatter, CSharp, Computer / Programmierung, Computerprogrammierung, Programmieren <Informatik>, Programmiertechnik
Suche nach dieser Beteiligten Person
Sprache: Deutsch
Abweichender Titel: Virtual Reality Spiele entwickeln mit Unity
Mediengruppe: Buch