AR/VR in Game Engines bezeichnet die Entwicklung immersiver Erfahrungen über standardisierte APIs wie OpenXR sowie plattformspezifische SDKs wie Meta Quest SDK, ARKit und ARCore – integriert in Unity und Unreal Engine 5.
Rubrik: Game Design & Interactive Media · Unterrubrik: Game Engines · Niveau: Fortgeschritten
Synonyme / Auch bekannt als: XR-Entwicklung, VR-Entwicklung, Extended Reality, Immersive Computing
Was ist AR/VR in Game Engines?
Augmented Reality (AR) und Virtual Reality (VR) haben sich von Nischen-Technologien zu relevanten Entwicklungsfeldern entwickelt, für die Game Engines die primäre Infrastruktur bereitstellen. Unity und Unreal Engine 5 bieten umfangreiche XR-Unterstützung (Extended Reality – der Oberbegriff für VR, AR und Mixed Reality).
Die Besonderheiten der XR-Entwicklung gegenüber klassischer Spieleentwicklung:
- Performance-Anforderungen: VR benötigt konstant 72, 90 oder 120 FPS pro Auge (bei 2 Augen = doppelter Render-Aufwand) um Motion Sickness zu vermeiden.
- Stereoskopisches Rendering: Zwei leicht versetzte Kameraperspektiven müssen simultan gerendert werden.
- 6DoF Tracking: Position und Rotation von Head Mounted Display und Controllern werden in Echtzeit verfolgt.
- Komfort-Richtlinien: Beschleunigungen und schnelle Rotationen können Übelkeit auslösen; XR-Design hat eigene ergonomische Regeln.
Erklärung
OpenXR – Der offene Standard
OpenXR ist ein offener Standard (Khronos Group, 2019) für die Kommunikation zwischen XR-Anwendungen und XR-Plattformen/-Hardware. Vor OpenXR mussten Entwickler für jede Plattform (Oculus, SteamVR, Windows Mixed Reality) eigenen plattformspezifischen Code schreiben.
Mit OpenXR schreibt ein Entwickler einmal gegen die OpenXR API; das Laufzeitsystem übernimmt die plattformspezifische Übersetzung. Unity und UE5 unterstützen OpenXR als primären XR-Standard.
OpenXR Layers:
- Input: Controller-Buttons, Tracking, Haptik über einheitliche Action Bindings.
- Display: Rendering zu Head Mounted Displays.
- Layers: Composition Layers für effiziente UI-Overlays.
Unity XR Plugin Management: Unity's offizielles System, das verschiedene XR-Backends (OpenXR, Oculus, Google ARCore) als Plugins verwaltet.
Unity VR-Entwicklung
Unity hat eine der ausgereiftesten VR-Workflows in der Branche:
XR Interaction Toolkit (XRIT): Unitys offizielles High-Level-Framework für XR-Interaktionen:
- Hand-Tracking und Controller-Input abstrahiert
- Interactable-Objekte (grab, select, activate)
- Locomotion-Systeme (Teleportation, Continuous Movement, Snap Turn)
- UI Canvas-Interaktion mit VR-Controllern
Single Pass Instanced Rendering: Statt zweimal zu rendern (einmal pro Auge) wird die Szene einmal gerendert und für das zweite Auge instanziert – nahezu halbiert die Render-Kosten.
Foveated Rendering: Bei Eye-Tracking-fähigen Geräten wird nur der Bereich, den der Nutzer gerade betrachtet, in voller Auflösung gerendert. Der Randbereich wird mit reduzierter Qualität gerendert – für erhebliche Performance-Gewinne.
Unreal Engine 5 VR-Entwicklung
UE5 wird für High-End-VR-Experiences bevorzugt, besonders wo fotorealistische Grafik im Mittelpunkt steht (Architekturvisualisierung, Film/TV-VR):
VR Expansion Plugin: Third-Party-Plugin, das essenzielle VR-Funktionalität für UE5 bereitstellt, die nativ nicht enthalten ist.
MetaXR SDK: Metas offizielles UE5-Plugin für Quest-Entwicklung.
Instanced Stereo Rendering: UE5s Optimierung für stereoskopisches Rendering.
Forward Rendering für VR: MSAA (Multi-Sample Anti-Aliasing) für VR funktioniert am besten mit Forward Rendering. Für VR-Projekte in UE5 ist Forward Rendering oft empfohlen.
Meta Quest Plattform
Meta Quest (Quest 2, Quest 3, Quest Pro) ist die populärste VR-Plattform mit über 20 Millionen verkauften Geräten (Stand 2024).
Meta XR SDK (Unity): Metas offizielles Unity-Plugin mit:
- Hand Tracking (Marker-loses Hand-Tracking ohne Controller)
- Passthrough API (AR auf Quest: Kamera-Feed als Hintergrund)
- Scene API (Raum-Verständnis, Möbel-Detection)
- Spatial Anchors (persistente AR-Inhalte im physischen Raum)
- MetaAvatars SDK
Android-Basis: Quest-Apps sind Android-Apps. Das bedeutet: mobile Performance-Beschränkungen. Techniken wie Fixed Foveated Rendering (FFR), App Space Warp und Level-of-Detail-Management sind für akzeptable Performance auf Quest unerlässlich.
ARKit und ARCore
ARKit (Apple, iOS/iPadOS) und ARCore (Google, Android) sind Plattformen für Augmented Reality auf Smartphones:
ARKit-Features:
- Plane Detection (horizontale und vertikale Flächen erkennen)
- Image Tracking (2D-Bilder als Ankerpunkte)
- Face Tracking (Gesichtserkennung und -tracking)
- LiDAR Scanner (iPhone Pro, iPad Pro): tiefenbasiertes Environment Mapping
- Scene Reconstruction
ARCore-Features: Ähnlich ARKit, für Android-Geräte.
Unity ARFoundation: Unitys Abstraktions-Layer über ARKit und ARCore. Entwickler schreiben einmal gegen ARFoundation, das Plugin übersetzt für ARKit (iOS) oder ARCore (Android).
Beispiele
- Beat Saber (Beat Games, 2018): Eines der meistverkauften VR-Spiele, ursprünglich in Unity.
- Half-Life: Alyx (Valve, 2020): Meilenstein-VR-Titel für PC-VR; gilt als bisher aufwändigstes VR-Spieleprojekt.
- Pokémon GO (Niantic, 2016): ARCore/ARKit-basiertes AR-Spiel mit weltweitem Erfolg.
- Horizon Worlds (Meta): Social-VR-Platform auf Quest, Godot-Einflüsse in der Community-Tool-Entwicklung.
In der Praxis
VR-Entwicklung erfordert Berücksichtigung von Comfort-Guidelines:
- Keine künstlichen Kamerabewegungen (die der Spieler nicht selbst initiiert) – verursacht Übelkeit.
- Stabiles Framerate-Ziel: 72/90 FPS müssen konstant gehalten werden.
- Teleportation als Standardbewegung für breite Nutzergruppen.
- Skalierung beachten: Objekte müssen in realer Größe im VR-Raum korrekt skaliert sein.
Vergleich & Abgrenzung
| Plattform | Hardware | Engine-Integration | Zielgruppe |
|---|---|---|---|
| Meta Quest | Quest 2/3/Pro | Unity, UE5 (MetaXR) | Massenmarkt VR |
| SteamVR (PC) | Vive, Index | Unity, UE5 (OpenXR) | PC-VR Enthusiasten |
| PSVR2 (Sony) | PlayStation 5 | Unity, UE5 | Konsolen-VR |
| ARKit | iPhone, iPad | Unity ARFoundation | Mobile AR |
| ARCore | Android | Unity ARFoundation | Mobile AR |
Häufige Fragen (FAQ)
Was ist der Unterschied zwischen VR und AR? VR (Virtual Reality) ersetzt die Wahrnehmung der physischen Welt vollständig durch eine digitale. AR (Augmented Reality) überlagert digitale Inhalte über die reale Welt. Mixed Reality (MR) verbindet beide Konzepte mit tiefem Raum-Verständnis.
Warum ist Performance in VR so kritisch? Bei Framerate-Einbrüchen unter das Ziel (z.B. unter 72 FPS) entsteht ein Timing-Konflikt zwischen Kopfbewegung und Bilddarstellung. Das Gehirn interpretiert dieses Mismatch als Übelkeit – bekannt als Cybersickness oder Motion Sickness.
Kann ich ein normales Spiel einfach in VR portieren? In der Regel nein. VR erfordert Anpassungen der Kamera (Stereoskopie), des Inputs (Controller statt Tastatur/Maus), der Skalierung und der Performance-Optimierung. Eine echte VR-Experience erfordert normalerweise ein Redesign der Spielmechaniken.
Verwandte Einträge
- Unity Engine
- Unreal Engine 5
- Rendering in Game Engines
- Mobile Publishing mit Game Engines
- Game Engine – Grundlagen
Weiterführend
- LaViola, Joseph J. u. a.: 3D User Interfaces: Theory and Practice. 2. Aufl. Addison-Wesley, 2017.
- Jerald, Jason: The VR Book: Human-Centered Design for Virtual Reality. ACM Books, 2015.
- Unity Technologies: XR Interaction Toolkit Documentation. docs.unity3d.com, 2024.
- Khronos Group: OpenXR Specification 1.1. khronos.org, 2024.
