Paradox_VR/Disco_Escape_Room_info/abgabe-vrp.md

9.7 KiB

VR Disco Club

1. Projekthintergrund und Vision

Ursprünglich mit der Idee entwickelt, ein immersives Escape-Room-Erlebnis zu gestalten, wurde dieser Projektzweig im Verlauf des Studienprojekts neu konzipiert und zu einem ambitionierten VR-Erlebnis für die Meta Quest 3 weiterentwickelt. Ziel war es, einen virtuellen Raum zu schaffen, in dem sich Spieler begegnen, zur Musik ihrer Wahl tanzen und in stimmungsvollen Umgebungen miteinander kommunizieren können. Die Vision bestand darin, eine authentische Disco-Atmosphäre zu erschaffen, die nicht nur visuell überzeugt, sondern durch Musik und musikreaktive Lichteffekte ein dynamisches und tief immersives Erlebnis bietet.

Das Projekt umfasst zwei Hauptbereiche:

  • Room 2 (Dance Floor): Die Haupttanzhalle mit umfangreichen Lichtinstallationen und Effekten
  • Room 3 (Lounge): Ein Entspannungsbereich mit gedämpfter Beleuchtung und Musik, sowie einem (Viewport)-Panoramafenster zur Haupttanzhalle

Obwohl das Projekt im Rahmen des Studienmoduls nicht vollständig abgeschlossen werden konnte, wurde eine solide technische Grundlage mit beeindruckenden Features entwickelt, die das Potenzial für eine zukünftige Weiterentwicklung deutlich macht.

2. Technische Umsetzung und Arbeitsaufwand

Entwicklungszeit

Für die Entwicklung der beiden Haupträume (Tanzhalle und Loungebereich) wurden über 150 Stunden investiert. Diese Zeit verteilte sich auf:

  • Konzeption und Level-Design (ca. 20 Stunden)
  • Asset-Integrationen (ca. 30 Stunden)
  • Programmierung der Lichteffekte und Audio-Reaktivität (ca. 60 Stunden)
  • Feinabstimmung und Optimierung für VR (ca. 40 Stunden)

Lichteffekt-System: Das Herzstück

Ein außergewöhnlich umfangreiches Beleuchtungssystem mit insgesamt 136-152 individuellen Lichtquellen und 1160 Zeilen eigener Quellcode zur bestmöglichen Steuerung aufgeteilt wie folgt:

Room 2 (Dance Floor):

  • 23 OmniLight3D (omnidirektionale Punktlichter)

    • 4 OmniLight3D (zentrale Disco-Kugel-Beleuchtung)
    • 12 OmniLight3D (zur Beleuchtung der Säulen als architektonische Akzente)
    • 7 Disco-Blitzer (Strobe-Effekte)
  • 51 SpotLight3D (gerichtete Scheinwerfer)

    • Wandspotlights
    • Exit-Beleuchtung
    • Lounge-Zugang Beleuchtung
    • DJ-Pult Beleuchtung
  • 36-52 prozedural generierte Laser und Spotlights

    • 12 animierte Spotlights (SpotlightAnimation-System)
    • 8-16 Innen-Laser (2 unabhängige Setups)
    • 16-24 Außen-Laser (4 unabhängige Sets à 4-6 Laser)

Room 3 (Lounge):

  • 5 OmniLight3D (Tischlampen mit warmem Licht)
  • 21 SpotLight3D (atmosphärische Wandbeleuchtung)

Musikreaktive Systeme

Ein besonderes Highlight des Projekts sind die musikgesteuerten Lichteffekte. Jedes musikreaktive Lichtsystem kann über 12-39 Properties feinabgestimmt werden:

Beispielhafte konfigurierbare Parameter pro musikreaktivem Effekt sind:

  1. Audio-Reaktivität

    • audio_reactive (Boolean): Aktiviert/deaktiviert die Musiksteuerung
    • audio_player (NodePath): Referenz zur Audio-Quelle
    • audio_sensitivity (Float): Empfindlichkeit (0.1 - 10.0)
    • audio_smoothing (Float): Glättung der Audio-Daten (0.0 - 1.0)
  2. Frequenz-Analyse

    • frequency_range (Int): Welcher Frequenzbereich analysiert wird (0-3 für Hoch/Mittel/Bass)
    • audio_driven_colors (Boolean): Farbwechsel basierend auf Musik
  3. Visuelle Parameter

    • blink_speed (Float): Blink-Geschwindigkeit (1.0 - 30.0)
    • strobe_enabled (Boolean): Strobe-Effekt aktivieren
    • strobe_speed (Float): Strobe-Frequenz (5.0 - 30.0)
    • strobe_threshold (Float): Schwellenwert für Strobe (0.0 - 1.0)
    • strobe_energy (Float): Intensität des Strobe-Effekts
  4. Bewegung und Rotation

    • rotate_lasers (Boolean): Rotation aktivieren
    • min_rotation_speed / max_rotation_speed (Float): Rotationsbereich
    • vertical_movement (Boolean): Vertikale Bewegung
    • audio_affects_rotation (Boolean): Musik beeinflusst Rotation
    • audio_affects_direction (Boolean): Musik beeinflusst Ausrichtung
  5. Laser-spezifische Parameter

    • laser_count (Int): Anzahl der Laser
    • placement_radius (Float): Platzierungsradius
    • laser_pitch (Float): Neigungswinkel
    • min_audio_pitch / max_audio_pitch (Float): Audio-gesteuerter Neigungsbereich
    • laser_colors (Array[Color]): Farbpalette
    • max_beam_emission (Float): Maximale Strahlintensität
  6. Spotlight-Animation Parameter

    • spotlight_count (Int): Anzahl der Spotlights
    • spotlight_height (Float): Höhe der Platzierung
    • spot_angle (Float): Öffnungswinkel
    • min_energy / max_energy (Float): Energiebereich
    • color_palette_1 / color_palette_2 (Array[Color]): Mehrere Farbpaletten
    • spotlight_yaw_offset (Float): Rotations-Offset

Diese umfangreichen Einstellungsmöglichkeiten erlauben eine präzise Abstimmung jedes Lichteffekts auf verschiedene Musikgenres und Stimmungen.

3. Implementierte Features

Kernfunktionalität

  • VR-Teleportationssystem: Nahtlose Fortbewegung zwischen Räumen

  • Interaktive DJ-Konsole: Physische Schalter zur Steuerung verschiedener Lichteffekte

    • Laser Außen/Innen
    • Beamer (Spotlights)
    • Disco-Kugel
    • Strobe-Effekte
    • Oberlicht
  • Audio-Controller: Playlist-Steuerung mit Vor/Zurück/Play/Pause-Buttons

  • Partikeleffekte: Seifenblasen-System

  • Dynamisches Environment: Volumetrischer Nebel und atmosphärische Effekte

Lichteffekt-Kategorien

  1. Statische Beleuchtung: Grundbeleuchtung und architektonische Akzente
  2. Musikreaktive Punktlichter: 4 OmniLights mit Frequenz-basierter Farbänderung
  3. Laser-Systeme: 6 unabhängige Laser-Generator-Instanzen mit unterschiedlichen Verhaltensweisen
  4. Animierte Spotlights: 12 prozedurale Scheinwerfer mit Kreisbewegungen
  5. Strobe-System: 7 koordinierte Blitzer für intensive Momente
  6. Wandbeleuchtung: Atmosphärische Akzentbeleuchtung in verschiedenen Farben

4. Technische Herausforderungen

Während der Entwicklung wurden mehrere komplexe Herausforderungen gemeistert. Mit insgesamt 1160 Zeilen Quellcode in 11 eigenen verfassten GDSkripten zur:

  • Performance-Optimierung: Die große Anzahl an Lichtquellen erforderte sorgfältige Optimierung, um auf der Meta Quest 3 flüssig zu laufen (Audio-Managementsystem)
  • Audio-Analyse: Implementierung eines Echtzeit-Frequenz-Analyse-Systems für musikreaktive Effekte
  • VR-Ergonomie: Anpassung der Lichtintensitäten für komfortable VR-Nutzung ohne Überforderung
  • Synchronisation: Koordination verschiedener Lichteffekte für kohärente visuelle Erlebnisse

5. Zukünftige Entwicklung (nur Disko-Setup)

Für eine mögliche Weiterentwicklung des Projekts sind folgende Features planbar:

Kurzfristige Ziele

  1. Multiplayer-Funktionalität

    • Integration eines Networking-Systems (z.B. Godot's High-Level Multiplayer API)
    • Implementierung von Voice-Chat für soziale Interaktion
    • Avatar-Synchronisation und Animations-Replication
    • Lobby-System mit Raumauswahl
  2. Erweiterte Musik- und Licht-Steuerung

    • Verbesserte Playlist-Verwaltung mit Tag-System
    • Genre-basierte automatische Lichtszenen
    • Equalizer-Interface zur manuellen Frequenzkontrolle
    • Effektsteuerung direkt über Controller (das DJ-Pult an der Hand)
  3. Streaming-Integration

    • Anbindung an Jamendo-API (derzeit kostenloser Dienst)
    • Lokales Musik-Upload-System (user-owned content)

    Hinweis: Spotify bietet derzeit keine offizielle VR-API, aber Alternativen wie Jamendo, YouTube Music, SoundCloud oder Bandcamp können integriert werden.

Mittelfristige Erweiterungen

  1. Erweiterte Interaktionen

    • Tanzflächen-Visualizer, der Spielerbewegungen in Lichteffekte übersetzt
    • DJ-Mixing-Tools mit crossfading und Effekt-Triggern
    • Benutzerdefinierte Lichtszenen-Editor
  2. Zusätzliche Räume

    • erweiterte Spiele Integration (Disko-Escape-Room)
    • Multiple Tanzhallen mit verschiedenen Musikgenres
    • Outdoor-Terrasse mit High-Score-Prompter für Spiele auf der Quest
  3. Personalisierung

    • Avatar-Customization
    • Persönliche Lieblingsplaylists speichern
    • Freundeslisten und soziale Features

Langfristige Vision

  1. Event-System

    • Geplante DJ-Sessions mit Live-Moderation
    • Community-Events und Wettbewerbe
    • Saisonale Themes und Dekorationen
  2. Creator-Tools

    • Level-Editor für Community-erstellte Räume
    • Modding-Support für eigene Lichteffekte
    • Asset-Sharing-Platform

6. Technologie-Stack

  • Engine: Godot 4.5 (optimiert für VR)
  • Plattform: Meta Quest 3 (OpenXR)
  • Programmiersprache: GDScript
  • Audio-Analyse: FFT-basierte Frequenz-Extraktion
  • 3D-Assets: Blend-Import, OBJ-Format
  • Beleuchtung: Godot's Forward+ Renderer mit Volumetric Fog

7. Fazit

Das VR Disco Club-Projekt demonstriert trotz seiner Unvollständigkeit ein außergewöhnliches technisches Niveau und kreatives Potenzial. Mit über 150 Stunden Entwicklungszeit und bis zu 152 individualisierbaren Lichteffekten wurde eine solide Basis geschaffen, die mit vergleichsweise geringem zusätzlichen Aufwand zu einer vollwertigen sozialen VR-Erfahrung ausgebaut werden kann.

Die detaillierte Implementierung musikreaktiver Systeme mit jeweils 12-39 konfigurierbaren Parametern zeigt die Tiefe der technischen Umsetzung und bietet nahezu unbegrenzte Möglichkeiten für atmosphärische Anpassungen. Dies bietet für die Weiterentwicklung im ursprünglichen Escape-Room-Setup eine interessante Perspektive.

Der nächste logische Schritt wäre die Integration von Multiplayer-Funktionalität und verbesserter Musiksteuerung, um aus diesem technischen Showcase ein vollwertiges soziales VR-Erlebnis zu machen, das Nutzer zusammenbringt und durch seine audiovisuelle Qualität begeistert.