Die BBC fragt: Ist VR zu teuer? Valves Steam Frame für über 1.000 £ sagt: vielleicht. Aber der Preis eines Luxus-Headsets erzählt nicht die ganze VR-Geschichte 2024

Ich erinnere mich an den Tag, als ich den BBC‑Artikel las. Tom Gerken, Valve Steam Frame, 1.000 £. Ich saß am Küchentisch, der Kaffee war längst kalt, und dachte an meinen Neffen. Vierzehn. Amblyopie seit der Kindheit. Pflaster gehasst. Klinik‑Termine verpasst. „Mama, ich bin nicht blind, ich seh nur anders.“

Gleichzeitig lag im Regal eine Meta Quest 3. Gebraucht, 320 €. Kein Luxus. Commodity. Im Standalone‑Segment (Meta Quest, Pico) sind Headsets für 300–500 € Standard. Millionen Haushalte haben Zugriff. Und genau dort entsteht ein stiller Durchbruch: VR als therapeutisches Werkzeug.

Wie Amblyotube (Seven Sports) die Hardware nutzt

Die App zeigt, wie man die fundamentale VR‑Eigenschaft – zwei separate Render‑Pipelines für zwei Augen – nicht für 3D‑Tiefe, sondern für dichoptische Stimulation einsetzt. Jedes Auge erhält beim Video‑Schauen leicht unterschiedliche Inhalte:

Auge Technik Parameter
Dominantes Auge Digital Occlusion via Shader – Blur, Contrast, Brightness, Opacity parametrisierbar Opacity 30‑50 % (partielle Dämpfung)
Schwaches Auge (Lazy Eye) MFBF (Monocular Fixation in Binocular Field) – AI‑gestützte Pose‑Estimation (MediaPipe) detektiert Human‑Figures im Video‑Frame. Nur diese Figures werden nachgeschärft (High‑Pass/Unsharp‑Mask). Zusätzlich: Flicker‑Stimulation – kontrolliertes Flackern der Figures (konfigurierbar Hz) 2‑10 Hz, einstellbar
Beide Augen Magenta‑Focus‑Cue – bewegter magenta‑farbener Kreis (nur lazy eye sichtbar), dominantes Auge sieht neutral‑grauen Kreis. Magenta = seltener Farbton in Video, hoher Kontrast. Trainiert sakkadische und glatte Verfolgungsbewegungen, fördert kortikale Fusion. Radius 2‑5°, Speed 30‑80 °/s
Beide Augen Visual Accents (neu) – Highlight (gelb‑grünes Glow), Outline (rote Silhouette), Pulse (sinusförmige Intensitäts‑Modulation „breathing“ rhythm). Attention‑Gating fürs schwache Auge. Pulse‑Frequenz 0.5‑1 Hz

Alles läuft in Unity 2022.3 LTS auf dem Snapdragon XR2 (Quest 3). Ziel‑Frame‑Rate: 72 Hz / 90 Hz, End‑to‑End‑Latenz < 20 ms (gemessen mit UnityEngine.XR.XRDisplaySubsystem.displayRefreshRate und Time.unscaledDeltaTime). Keine Klinik‑Hardware, keine Rot‑Blau‑Brille, natürliche Farben, binokulares Training statt Okklusion.

Shader‑Beispiel (Digital Occlusion)

// Dominant‑Eye Occlusion Shader (HLSL/Unity) float4 OcclusionPass (float2 uv : TEXCOORD0) : SV_Target { float4 col = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, uv); // Parameter aus ScriptableObject float opacity = _OcclusionOpacity; // 0.3‑0.5 float blur = _OcclusionBlur; // 0‑0.02 float contrast= _OcclusionContrast; // 0.8‑1.2 float bright = _OcclusionBrightness; // -0.1‑0.1 // Gaussian blur approximation (single pass) float3 blurred = 0; [unroll] for (int i=-2; i<=2; ++i) for (int j=-2; j<=2; ++j) blurred += SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, uv + float2(i,j)*blur).rgb; blurred /= 25.0; float3 mixed = lerp(col.rgb, blurred, opacity); mixed = (mixed - 0.5) * contrast + 0.5 + bright; return float4(mixed, col.a); } 

Der Shader wird per CommandBuffer nur für das dominante Auge injiziert (XRSettings.eyeTextureDesc), sodass die GPU‑Last pro Frame bei ~0.3 ms bleibt – gut innerhalb des 11 ms Budgets bei 90 Hz.

Pose‑Estimation & Figure‑Sharpening (MediaPipe)

// MonoBehaviour auf dem schwachen‑Auge Camera void OnRenderImage(RenderTexture src, RenderTexture dest) { // 1️⃣ MediaPipe Pose auf CPU (async, 30 fps) var landmarks = PoseEstimator.GetLatestLandmarks(); // 33 Punkte if (landmarks == null) { Graphics.Blit(src, dest); return; } // 2️⃣ Bounding‑Box der menschlichen Figuren berechnen var boxes = FigureDetector.ExtractBoxes(landmarks, src.width, src.height); // 3️⃣ Compute‑Shader für High‑Pass nur innerhalb der Boxen ComputeShader cs = Resources.Load<ComputeShader>("HighPassFigure"); cs.SetTexture(0, "_Src", src); cs.SetTexture(0, "_Dst", dest); cs.SetBuffer(0, "_Boxes", boxesBuffer); cs.Dispatch(0, src.width/8, src.height/8, 1); } 

Der Compute‑Shader arbeitet mit 8 × 8 Thread‑Groups, benötigt ~0.6 ms auf der Adreno 650. Die Flicker‑Stimulation wird durch ein simples sin(Time.time * flickerHz * Mathf.PI * 2) im Fragment‑Shader der Figure‑Layer realisiert.

Persönlicher Verlauf – was ich sah

Mein Neffe nutzt die App seit drei Monaten. Jeden Abend nach der Schule setzt er die Quest 3 auf, startet YouTube, wählt „Amblyotube“ und schaut Minecraft‑Let’s‑Plays. Keine Termine, keine 1.000 £ Hardware, keine aktive Übung – passives Training durch Content‑Konsum. 30‑40 Minuten, maximal 60 Minuten, ab 13 Jahren. Medizinischer Disclaimer: Trainings‑Tool, keine Therapie, ersetzt keine ärztliche Betreuung.

Letzter Arzttermin: „Depth Perception verbessert. Weiter so.“ Er hat nicht einmal gemerkt, dass er trainiert. Er hat nur Minecraft‑Videos geschaut.

Technische Take‑aways für Entwickler

  1. Dual‑Pipeline Rendering ist bereits in der XR‑Subsystem‑API vorhanden (XRSettings.eyeTextureDesc). Keine Custom‑Engine nötig.
  2. Shader‑Only Occlusion hält die GPU‑Last minimal; vermeidet zusätzliche Render‑Passes.
  3. MediaPipe auf CPU + Compute‑Shader auf GPU trennt latenzkritische Bildverarbeitung von der Pose‑Estimation.
  4. Parameter‑Driven Design (ScriptableObjects für Opacity, Flicker‑Hz, Pulse‑Freq) ermöglicht schnelle A/B‑Tests ohne Build‑Cycle.
  5. Latenz‑Budget: 20 ms End‑to‑End lässt noch ~5 ms für Audio‑Sync und OS‑Overhead – wichtig für Komfort bei 90 Hz.

Fazit – günstige VR, echter Nutzen, kein Luxus

Die BBC‑Frage nach dem Preis eines High‑End‑Headsets verdeckt die eigentliche Story: Standalone‑VR ist heute eine Commodity‑Plattform, die therapeutische Algorithmen in den Alltag bringt. Amblyotube beweist, dass ein 320 € Headset plus eine gut designte Unity‑App mehr bewirken kann als ein 1.000 £ Luxus‑Gerät ohne passende Software.

Günstige VR. Echter Nutzen. Kein Luxus.

https://www.meta.com/en-gb/experiences/amblyotube/25906906972338493/