20. Testa på desktop och Meta Quest
Desktop först
Kör från mappen web-threejs:
npm install
npm test
npm run dev
Öppna http://localhost:4323/ på Macen och spela en hel omgång. Kör även npm run build inför publicering. npm test kontrollerar åtta skott, två nycklar, säkert spawn-avstånd och poängformeln; det ersätter inte speltest.
Quest över USB med ADB reverse
Om ADB finns installerat och Quest 3 är ansluten samt har godkänt USB-debugging:
adb devices
adb reverse tcp:4323 tcp:4323
Öppna sedan Quest Browser i headsetet och skriv http://localhost:4323/. Det är headsetets localhost som skickas till Macens Vite-server. Tryck Enter VR på sidan. Om knappen saknas, kontrollera först att adb devices visar headsetet och att adb reverse --list visar port 4323.
För spel utan USB-kabel behöver appen publiceras på en HTTPS-adress. En vanlig lokal IP-adress med HTTP ger inte WebXR-rättigheter. En produktionsbyggnad fås med npm run build och ligger i web-threejs/dist/. På den gemensamma kurswebbplatsen ligger webbversionen under /threejs/; med ADB reverse av port 4322 kan du därför i stället öppna http://localhost:4322/threejs/ i Quest Browser.
Du kan göra hela desktopdelen utan Quest. WebXR-testet är ett senare, valfritt steg när du har tillgång till headsetet. Att Three.js-kursen finns på samma webbplats som Godot-kursen betyder inte att Godot måste vara installerat.
Checklista i headsetet
- Starta med höger trigger. Läs instruktionerna i VR-panelen.
- Gå, sprinta och sväng. Huka fysiskt i headsetet; på desktop testar du C/Ctrl. Kontrollera att vänster handled visar hälsa och ammunition.
- Skjut åtta skott. Plocka magasin, kasta ut och sätt i nytt.
- Flytta första hinken med E/grip, se den lysande nyckeln, plocka upp den och passera första dörren.
- Låt spindeln hoppa. Kontrollera att monster och väggar inte blockerar på fel sätt.
- Ta skada och gå in i ett medkit: hälsan ska öka automatiskt. Vid full hälsa ska medkitet ligga kvar.
- Hitta andra nyckeln, öppna sista dörren och nå utgången. Kontrollera poäng och nästa omgång.
Om WebGPU visas som WebGL2
Det är avsiktligt på Quest när WebGPU-bindningen för immersive WebXR inte finns. Samma spelkod körs då på WebGL2-backend. På en desktopwebbläsare med WebGPU visas WebGPU i statusraden. Se Three.js WebGPURenderer och Meta WebXR-dokumentationen.