Virtual Reality-Spiele entwickeln mit Unity® - Grundlagen, Beispielprojekte, Tipps & Tricks

Virtual Reality-Spiele entwickeln mit Unity® - Grundlagen, Beispielprojekte, Tipps & Tricks

von: Daniel Korgel

Carl Hanser Fachbuchverlag, 2017

ISBN: 9783446453722

Sprache: Deutsch

587 Seiten, Download: 34141 KB

 
Format:  EPUB, PDF, auch als Online-Lesen

geeignet für: geeignet für alle DRM-fähigen eReader geeignet für alle DRM-fähigen eReader Apple iPad, Android Tablet PC's Apple iPod touch, iPhone und Android Smartphones Online-Lesen PC, MAC, Laptop


 

eBook anfordern

Mehr zum Inhalt

Virtual Reality-Spiele entwickeln mit Unity® - Grundlagen, Beispielprojekte, Tipps & Tricks



  Inhalt 7  
  Vorwort 17  
  1 Einleitung 19  
     1.1 Virtual Reality 20  
     1.2 Ziel des Buches 20  
     1.3 Unterstützte Virtual-Reality-Brillen 21  
     1.4 Unity 22  
        1.4.1 Welche Unity-Version benötige ich? 23  
     1.5 Was brauche ich? 24  
     1.6 Weiterentwicklung der Technik 25  
     1.7 Online-Zusatzmaterial 25  
  2 Einführung in Virtual Reality 27  
     2.1 Begriffserklärungen 27  
     2.2 Augmented Reality, Mixed Reality und Virtual Reality 29  
     2.3 Virtual Reality ist tot – lang lebe Virtual Reality 30  
     2.4 Unterstützte Virtual-Reality-Brillen 33  
        2.4.1 Oculus Rift 34  
        2.4.2 HTC Vive 35  
        2.4.3 Samsung GearVR 36  
        2.4.4 Google Cardboard (nur teilweise unterstützt) 37  
        2.4.5 Google Daydream 38  
     2.5 Andere VR-Brillen 39  
        2.5.1 Microsoft Mixed Reality 39  
        2.5.2 PlayStation VR 40  
        2.5.3 Razer OSVR 41  
     2.6 Spiele, Anwendungen, Demos und Erfahrungen 42  
     2.7 Seated, Standing & Room Scale 43  
     2.8 „Bekannte“ Probleme 44  
        2.8.1 Auflösung & Fliegengitter-Effekt 45  
        2.8.2 Hardwareanforderungen 45  
        2.8.3 Kurz- und Weitsichtigkeit 46  
        2.8.4 Simulator Sickness 46  
  3 Quickstart: 3D-Entwicklung mit Unity 49  
     3.1 Installation 49  
        3.1.1 Die Unity ID 51  
        3.1.2 Android SDK & Java Development Kit(GearVR, GoogleVR) 52  
     3.2 Der erste Start 56  
     3.3 Ein neues Projekt anlegen 57  
     3.4 Die Unity-Oberfläche 58  
        3.4.1 Drag & Drop 59  
        3.4.2 Project Browser 60  
        3.4.3 Console 61  
        3.4.4 Hierarchy 62  
        3.4.5 Scene View 64  
        3.4.6 Inspector 66  
     3.5 Scenes 72  
        3.5.1 Unity in der dritten Dimension 72  
        3.5.2 GameObjects 73  
        3.5.3 Prefabs 75  
     3.6 Die wichtigsten Components 76  
        3.6.1 Camera und Audio Listener 76  
        3.6.2 Lights 77  
        3.6.3 Mesh Filter und Mesh Renderer 78  
        3.6.4 Collider 79  
        3.6.5 Rigidbody 80  
        3.6.6 Audio Source 81  
        3.6.7 Scripts/Behaviours 82  
     3.7 Assets 82  
        3.7.1 Dateien importieren 85  
        3.7.2 Unity Packages 86  
        3.7.3 Asset Store 89  
        3.7.4 Import Settings 90  
     3.8 Projektvorbereitung (GearVR, GoogleVR) 90  
        3.8.1 Zielplattform zu Android wechseln 91  
        3.8.2 Externe Tools angeben (Android SDK, JDK) 92  
     3.9 Test Scene erstellen und starten 94  
        3.9.1 Rohbau für den Raum erstellen 96  
        3.9.2 Scene speichern 99  
        3.9.3 Licht anpassen 100  
        3.9.4 Collider hinzufügen 101  
        3.9.5 Möbelstücke einräumen 102  
        3.9.6 Bücher hinzufügen 105  
        3.9.7 Weitere Details 109  
        3.9.8 Lichter und Lichteinstellungen optimieren 110  
        3.9.9 Spieler positionieren 113  
     3.10 VR-Unterstützung aktivieren 114  
        3.10.1 Unitys VR-Unterstützung aktivieren 114  
     3.11 Player Settings anpassen (GearVR, GoogleVR) 115  
     3.12 Anti-Aliasing aktivieren 117  
     3.13 Die Scene in VR testen 118  
        3.13.1 Am PC in VR testen (Oculus Rift, SteamVR) 119  
        3.13.2 Auf dem Smartphone in VR testen (GearVR, GoogleVR) 120  
     3.14 So geht es weiter 129  
  4 Dos and Don’ts – Game-Design für Virtual Reality 131  
     4.1 Beispielprojekt 132  
     4.2 Immersion 132  
        4.2.1 Immersion brechen 136  
     4.3 Positional Tracking 136  
        4.3.1 Mobile VR-Brillen 138  
     4.4 Locomotion 139  
        4.4.1 Klassische Locomotion 139  
        4.4.2 Teleport Locomotion 142  
        4.4.3 Ohne künstliche Locomotion 143  
        4.4.4 Andere Eingabemethoden für das Laufen 146  
     4.5 Lebendige Spielwelt erschaffen 147  
     4.6 User Interface 151  
        4.6.1 Distanz und Größe 154  
     4.7 Aufmerksamkeit lenken 155  
        4.7.1 Objekte untersuchen 156  
        4.7.2 Ereignisse nicht verpassen 159  
     4.8 Uncanny Valley 160  
        4.8.1 Auswirkung für dich 163  
     4.9 Sound Design und Spatial Sound 164  
        4.9.1 Spatial Sound 164  
        4.9.2 Spatial-Audio-Engines 167  
  5 C#-Scripte für Unity programmieren 169  
     5.1 C#, .Net und Mono 170  
     5.2 Grundlagen 170  
        5.2.1 C#-Syntax 170  
        5.2.2 Kommentare 171  
        5.2.3 Variablen 172  
        5.2.4 Methoden 179  
        5.2.5 Klassen 182  
        5.2.6 Dynamische Datentypen 183  
        5.2.7 Statische Methoden und statische Variablen 185  
        5.2.8 Vererbung 186  
        5.2.9 Namespaces 189  
        5.2.10 Lebenszyklus von Variablen 190  
        5.2.11 Sichtbarkeiten 191  
        5.2.12 Ausnahmen ? „Exceptions“ 192  
     5.3 Erster Test 193  
        5.3.1 Microsoft Visual Studio 2017 193  
        5.3.2 Script, Behaviour, Component und ihr Aufbau 197  
        5.3.3 Debug-Ausgaben in die Console 198  
        5.3.4 Eigenes Script testen 199  
        5.3.5 Notation von Methoden und Variablen in diesem Buch 201  
     5.4 Erweiterte Grundlagen 201  
        5.4.1 Bedingungen und Verzweigungen 201  
        5.4.2 Schleifen 204  
        5.4.3 Eigenschaften 209  
        5.4.4 Dynamische Listen 210  
     5.5 Unity-spezifische Grundlagen 214  
        5.5.1 Zufallswerte 214  
        5.5.2 Editor-Eigenschaften 215  
        5.5.3 MonoBehaviour Lebenszyklus-Methoden 218  
        5.5.4 MonoBehaviour-Event-Methoden 220  
        5.5.5 Auf GameObjects zugreifen 221  
        5.5.6 GameObjects via Code erstellen 224  
        5.5.7 GameObjects zerstören 225  
        5.5.8 Transforms: GameObjects bewegen 225  
        5.5.9 Auf andere Components zugreifen 227  
        5.5.10 Components zu GameObject hinzufügen 230  
        5.5.11 Components entfernen 231  
        5.5.12 Parallele Methoden mit Coroutines 231  
        5.5.13 Scripted-Event-Beispiel 232  
        5.5.14 Methoden verzögert aufrufen mit Invoke 233  
     5.6 Problemlösung 234  
        5.6.1 Wort im Code ist rot unterstrichen 234  
        5.6.2 Fehler in der Console im Editor 235  
        5.6.3 Fehler in der Console, während das Spiel läuft 235  
        5.6.4 „Can't add script“-Meldung oder Script ist nicht im „Add Component“-Menü vorhanden 236  
        5.6.5 Sonstige Fehler 237  
  6 Erweiterte Unity-Einführung 239  
     6.1 Licht, Schatten und Lightmapping 239  
        6.1.1 Global Illumination 240  
        6.1.2 Farbräume 250  
        6.1.3 Environment Light 251  
        6.1.4 Lichter in der Scene 252  
        6.1.5 Emissive Materials 258  
        6.1.6 Light Probes 258  
        6.1.7 Reflexionen 261  
        6.1.8 Lighting-Fenster 264  
        6.1.9 Light Explorer 266  
     6.2 Shader 267  
        6.2.1 Der Standard Shader 268  
        6.2.2 Mobile Shader 273  
     6.3 Audio 276  
        6.3.1 AudioSources 277  
        6.3.2 AudioSources via Script steuern 280  
        6.3.3 Temporäre AuidoSource via Script 282  
        6.3.4 Reverb Zones 282  
        6.3.5 Audio Mixer 283  
     6.4 Tastatur und Gamepad-Eingaben lesen 287  
        6.4.1 Der Input-Manager 288  
        6.4.2 Virtuelle Tasten und Achsen 288  
        6.4.3 Konfiguration einer Achse 289  
        6.4.4 Gamepad- und Tastatureingaben erfassen 291  
     6.5 Physik 293  
        6.5.1 Collider 293  
        6.5.2 Rigidbody 296  
        6.5.3 Kräfte und Beschleunigung 298  
        6.5.4 Physics Joints ? Verknüpfungen 299  
        6.5.5 Kollisionen und Trigger erkennen 303  
        6.5.6 Raycasts 309  
        6.5.7 Character Controller 310  
     6.6 Partikeleffekte 313  
        6.6.1 Partikelsysteme 314  
        6.6.2 Particle-Effect-Steuerung 315  
        6.6.3 Module des Particle Systems 316  
        6.6.4 Particle Effect Editor 323  
        6.6.5 Particle Systems via Script steuern 323  
        6.6.6 Standard-Partikeleffekte 324  
     6.7 Landschaften mit Terrains erstellen 324  
     6.8 Animation System 327  
        6.8.1 Animation Workflow 328  
        6.8.2 Humanoide Animationen und Avatare 330  
        6.8.3 Modelle & Animationen importieren 331  
        6.8.4 Animation Controller 335  
     6.9 Wegfindung 339  
        6.9.1 Wegfindungssystem einrichten 339  
        6.9.2 Grundlagen 341  
        6.9.3 NavMeshs berechnen 343  
        6.9.4 NavMeshs verbinden 344  
        6.9.5 Dynamische Hindernisse 344  
        6.9.6 NavMeshAgent erstellen 345  
        6.9.7 NavMeshAgent über Script steuern 345  
        6.9.8 Erweiterte Beispiele 346  
     6.10 Savegames ? Daten speichern und laden 347  
     6.11 Performance optimieren 348  
        6.11.1 Batching 348  
        6.11.2 Performance im Auge behalten 349  
        6.11.3 VR-Optimierungs-Checkliste und Grenzen 353  
     6.12 User Interface ? Quickstart 355  
        6.12.1 User Interface im World Space erstellen 355  
        6.12.2 User Interface in VR bedienen 360  
  7 Die Virtual-Reality-SDKs 363  
     7.1 Unitys-interne VR-Unterstützung 364  
        7.1.1 Unitys interne VR-Unterstützung aktivieren 364  
        7.1.2 Interne VR-Unterstützung in der Scripting-API 366  
        7.1.3 InputTracking 366  
        7.1.4 VRDevice 367  
        7.1.5 VRSettings 368  
     7.2 Oculus Integration for Unity (Rift und Gear) 370  
        7.2.1 Download und Import 370  
        7.2.2 Prefabs 372  
        7.2.3 Gamepad-, Headset- und Touch-Eingaben lesen 379  
        7.2.4 Haptisches Feedback 381  
        7.2.5 Oculus Avatar SDK 383  
        7.2.6 Mehr Infos und Hilfe 385  
     7.3 SteamVR (u.?a. HTC Vive) 386  
        7.3.1 Download und Import 387  
        7.3.2 Prefabs 389  
        7.3.3 Eingaben der Controller lesen 396  
        7.3.4 Haptisches Feedback 397  
        7.3.5 Interaktionsbeispiel aus The Lab (u.?a. Longbow, Teleport) 398  
        7.3.6 Mehr Infos und Hilfe 398  
     7.4 GoogleVR SDK 399  
        7.4.1 Download und Import 399  
        7.4.2 Prefabs 400  
        7.4.3 Eingaben des Daydream Controllers lesen 404  
        7.4.4 Erweiterte Editorfunktionen fürs Testen 405  
  8 Beispielprojekte ? Einleitung 409  
  9 Bow and Arrow Castle Defense – GoogleVR mit Controller 411  
     9.1 Der Start 412  
     9.2 Die Kernmechanik ? Bogenschießen 414  
        9.2.1 Scene vorbereiten 414  
        9.2.2 Einfaches Scene-Design 414  
        9.2.3 Spieler konfigurieren und Daydream Controller einbinden 417  
        9.2.4 Schusskraft für den Bogen 419  
        9.2.5 Ein Pfeil für den Bogen 421  
        9.2.6 Pfeile nachladen 424  
        9.2.7 Dynamische Schusskraft 426  
        9.2.8 Flugkurve Vorschau – Add-on 428  
        9.2.9 Schaden und zerstörbare Ziele 431  
     9.3 Game- & Level-Design 432  
     9.4 Game Manager 434  
     9.5 Gegner – Orks! 439  
        9.5.1 NavMesh erstellen 439  
        9.5.2 Ork-Animator Controller 439  
        9.5.3 Die künstliche Intelligenz 441  
        9.5.4 Der Ork 442  
        9.5.5 Prefab erstellen und platzieren 444  
     9.6 Abschluss 444  
        9.6.1 Umsetzung dieses Beispiels für andere VR-Brillen 445  
  10 Space Battle ? Oculus Rift & SteamVR 447  
     10.1 Der Start 448  
        10.1.1 Scene vorbereiten 449  
     10.2 Die Kernmechanik ? ein Raumschiff fliegen 452  
        10.2.1 Spieler-Raumschiff erstellen 453  
        10.2.2 Raumschiff-Steuerung 456  
        10.2.3 Starfield/Weltraumstaub 463  
        10.2.4 Schadenssystem & Plasmakanone 466  
     10.3 Feinde und Verbündete 474  
        10.3.1 KI-Raumschiff 474  
        10.3.2 Die künstliche Intelligenz 476  
     10.4 Abschluss 485  
        10.4.1 Umsetzung dieses Beispiels für andere VR-Brillen 486  
  11 Dungeon Crawler ? GearVR 487  
     11.1 Der Start 488  
        11.1.1 Osig und Unity2017.1.0f3-Patch einfügen 490  
     11.2 Einen Dungeon bauen 490  
        11.2.1 Die Bauteile 491  
        11.2.2 Level-Design 491  
        11.2.3 Audio: Environment-Loop 494  
     11.3 Occlusion Culling 494  
     11.4 Kernmechanik ? Laufen, Kämpfen, Interagieren 496  
        11.4.1 Spieler erstellen 497  
        11.4.2 Bewegungen entlang des Gitters 499  
        11.4.3 Interaktive und lebendige Objekte 502  
        11.4.4 Die Spielerfunktionen 504  
        11.4.5 Spielereingaben lesen 509  
        11.4.6 Player fertigstellen 512  
     11.5 Gegner: Goblins 513  
        11.5.1 Die künstliche Intelligenz 514  
        11.5.2 Das GameObject und Prefab 516  
        11.5.3 Bevölkerung des Dungeons mit Goblins 517  
     11.6 Pickups: Kristalle 518  
     11.7 Dungeon-Ausgang 520  
     11.8 Interaktive Hindernisse 522  
        11.8.1 Falle: Stacheln 522  
        11.8.2 Rätsel: Schalter und Tore 524  
     11.9 Abschluss 527  
        11.9.1 Umsetzung dieses Beispiels für andere VR-Brillen 528  
  12 Sci-Fi-Stealth-Shooter ? Oculus Rift mit Oculus Touch und SteamVR 529  
     12.1 Der Start 530  
     12.2 Trainings-Areal anlegen 532  
     12.3 Player-GameObject erstellen 534  
        12.3.1 Oculus SDK: Player-GameObject erstellen 534  
        12.3.2 SteamVR SDK: Player-GameObject erstellen 535  
        12.3.3 Character Controller 536  
        12.3.4 Locomotion – klassisch und teleportieren 539  
        12.3.5 Eingaben lesen und Methoden aufrufen 543  
        12.3.6 Nach Gegenständen greifen 548  
     12.4 Lebensenergie verwalten 558  
        12.4.1 Lebensenergie des Spielers und Game Over 559  
     12.5 Laserpistole 560  
        12.5.1 Das GameObject vorbereiten 560  
        12.5.2 Die Laserpistolen-Funktion 561  
        12.5.3 Der Laserstrahl 563  
     12.6 Roboter-Gegner 565  
        12.6.1 EnemyAi – wie funktioniert die KI? 565  
        12.6.2 Roboter-GameObject anlegen 566  
        12.6.3 Trigger Collider ignorieren 568  
     12.7 Level erstellen 569  
        12.7.1 Level-Ende 570  
     12.8 Abschluss 571  
  13 VR-Spiele teilen, präsentieren und Feedback erhalten 573  
     13.1 Spieleidee entwickeln 573  
     13.2 VR-Spiele Builds erstellen und teilen 574  
     13.3 Feedback erhalten und Spiel bewerben 576  
        13.3.1 Tipps für das Präsentieren von Virtual Reality 577  
     13.4 Spiel veröffentlichen 578  
     13.5 Kostenlose Assets 579  
  14 Schlusswort 581  
  Index 583  
  Leere Seite 2  

Kategorien

Service

Info/Kontakt