VR Editor in VR
Projektbeschreibung
Für Extended Reality Systeme (XR) existieren verschiedene Laufzeitumgebungen, welche die Programmierung unterschiedlicher Geräte und Gerätetypen ermöglichen. Diese Laufzeitumgebungen werden teilweise von den unterschiedlichen Engines (Unreal, Unity) nochmals abstrahiert, um auf verschiedenen Geräten und mit verschiedenen Eingabemethoden nutzbar zu sein. OpenXR ist ein lizenzfreier, offener Standard, der einen gemeinsamen Satz von APIs für die Entwicklung von XR-Anwendungen bietet, die auf einer Vielzahl von AR- und VR-Geräten laufen. Dies reduziert den Zeit- und Kostenaufwand für Entwickler bei der Anpassung von Lösungen an einzelne XR-Plattformen und schafft gleichzeitig einen größeren Markt von leicht unterstützten Anwendungen für Gerätehersteller, die OpenXR übernehmen. OpenXR ist dabei als API in unterschiedliche Spieleengines wie Unreal, Unity und Godot integriert und sollte die Entwicklung von VR Anwendungen vereinheitlichen.
Im Gegensatz zu etablierten kommerziellen Engines wie Unreal und Unity ermglicht die Open-Source Entwicklungsumgebung Godot die Erstellung von XR Anwendungen auf einem VR Gerät. Die Godot-Engine erscheint dabei als 2D-Panel, aber die App kann jederzeit in einen vollständig immersiven Modus wechseln. So kann eine VR-App mit dem Headset entwickelt und dann gleich ausprobiert werden. Dank des nahtlosen Multitaskings ist es möglich, den Editor in die VR-App mitzunehmen und Änderungen in Echtzeit zu verfolgen.
Projektdefinition
Ziel des Projekts ist die prototypische Entwicklung einer VR-Anwendung auf Basis der Godot Engine, welche das Editieren der virtuellen Welt mithilfe des Godot Editors ermöglicht. Dabei sollen vor allem Unterschiede herausgearbeitet werden, welche die Entwicklung von VR Anwendungen mit Godot von etablierten Engines wie Unity und Unreal unterscheidet. Dazu ist die Umsetzung zumindest der Basisfunktionalität der Anwendung in verschiedenen Engines notwendig. Besonderes Augenmerk soll dabei gelegt werden auf:
- Verschiedene Methoden zur 3D-Interaktion mit Objekten und zur Navigation in VR.
- Möglichkeiten des Scriptings.
- Bewertung der Komplexität der Anwendungsentwicklung im Vergleich verschiedener Engines.
Learning Outcomes
Was?
- Studierende lernen Methoden der Interaktion in 3D-Umgebungen kennen.
- Die Studierenden erarbeiten den Stand der Forschung und Technik zur Entwicklung von VR Systemen.
- Studierende bewerten Möglichkeiten des Einsatzes zum Rapid Prototyping von XR Umgebungen.
Wie?
- Implementierung einer Anwendung die interaktive Modellierung einer Umgebung in VR ermöglicht.
- Umsetzung verschiedener Interaktions- und Navigationsmethoden.
- Vergleich der Anwendungserstellung in verschiedenen Entwicklungsumgebungen / Engines.
Wozu?
- Kommerzielle Spieleengines enthalten große Risiken was die Lizenzkosten entwickelter Anwendungen betrifft. Open-Source-Alternativen müssen vor dem Hintergrund des Aufwandes der Anwendungsentwicklung bewertet werden.
Voraussetzungen
- Empfohlen sind Kenntnisse in der Entwicklung von VR-Anwendungen, gerne mit Unreal oder Unity. Kenntnisse in der Godot Engine sind nicht notwendig, eigene Einarbeitung jedoch erforderlich.
Externe Projektpartner
- Keine