Webentwicklung · KI & Maschinelles Lernen
VRtor
Kostenlose 3D-Lernerlebnisse, die im Browser einer VR-Brille starten, von Apollo 11 bis ins Innere einer Zelle, ganz ohne Installation.
WebXR · Babylon.js · three.js · Cloudflare Workers · Durable Objects · WebRTC

Fallstudie
VRtor ist eine Sammlung kostenloser 3D-Lektionen, die im Browser einer VR-Brille wie der Quest laufen. Kein App Store, keine Installation, kein Konto. Jedes Thema hat eine kurze Adresse (vrtor.io/apo für Apollo 11, vrtor.io/cel für die Zelle), weil Tippen mit einem Controller eine Qual ist. Man kann in der Columbia im Mondorbit sitzen, durch Machu Picchu gehen, Organellen aus einer 150.000-fach vergrößerten Zelle ziehen oder mit den eigenen Händen ein kleines neuronales Netz trainieren. In den 3D-Themen sieht man außerdem andere Besucher und kann mit räumlichem Audio mit ihnen sprechen. Jedes Thema ist eine eigene Babylon.js-WebXR-App auf einem eigenen Cloudflare Worker, alles ausgeliefert von einem einzigen Origin.
Das Problem
Die meisten VR-Lernangebote stecken hinter einem App Store, einem Konto und einem Download, durch den sich eine Lehrkraft oder ein neugieriges Kind erst kämpfen muss. Browser auf VR-Brillen können längst WebXR, aber eine schwere 3D-Szene muss die Bildrate der Quest halten, sonst wird den Leuten schlecht, und eine lange URL mit dem Controller einzutippen reicht schon, um sie zu verlieren.
Der Ansatz
vrtor.io ist ein Router-Worker. Jedes Thema lebt als eigene App in einem Monorepo mit npm Workspaces und wird als eigener Worker deployt, und der Router erreicht es über ein Service Binding, sodass alles denselben Origin teilt (eine WebXR-Berechtigungsabfrage, gemeinsamer Speicher). Ein gemeinsames xr-shell-Paket gibt jedem Thema dasselbe auf die Quest abgestimmte Session-Setup, Teleport, Komfort-Überblendung, Bildraten-Regler und eine schwebende Infokarte. Die Anwesenheit läuft auf einem Durable Object pro Raum über WebSockets, und die Sprache geht Peer-to-Peer über WebRTC, signalisiert über diesen Raum.
Bemerkenswerte Entscheidungen
- Kurze Codes aus drei oder vier Buchstaben (vrtor.io/mpc, vrtor.io/bdy), mit dem ganzen Wort als Alias, weil man genau das mit einer Brille auf dem Kopf noch eintippen kann.
- Ein Worker pro Thema hinter Service Bindings. Ein kaputtes Thema reißt die anderen nicht mit, und jedes wird für sich deployt.
- Bildraten-Regler und Komfort-Überblendung stecken in der gemeinsamen Shell, damit jedes neue Thema auf der Quest von Anfang an angenehm läuft, statt Szene für Szene repariert zu werden.
- Räume fassen 12 Personen, der Rest kommt in nummerierte Räume. Avatare sind günstig (sechs Draw Calls, ein gemeinsames Material) und fallen mit der Entfernung weg.
- Das Mikrofon bleibt aus, bis man Sprechen wählt, Stimmen verklingen nach 30 m, und wer jemanden stummschaltet, tut das nur für sich.
- Offene Daten, wo es sie gibt, etwa BodyParts3D für die Anatomie, mit den Quellenangaben direkt neben den Assets.
Status
Live unter vrtor.io und wächst jede Woche. Weltraum, Apollo 11, der Wright Flyer, Orca, Fallschirm, der Cybertruck, der Roadster, das Taj Mahal, Machu Picchu, der menschliche Körper, KI-Grundlagen, die Zelle und Sound Lab sind offen, Mechanik, Mathe und Natur kommen als Nächstes.
Ein System modernisieren, eine KI-Idee prüfen oder eine Senior-Rolle besprechen?
Ich antworte meist innerhalb eines Werktags.