Web app sperimentale basata su webcam per esplorare diversi prototipi di tracking in tempo reale:
Tabù simulatorAmbienti 3DPalloncinoLayersMatrix
L'app combina tracking facciale, landmark di volto/mani/posa, rendering 2D e scene 3D in browser. Oltre alla navigazione di scene three.js, include filtri stilizzati, visualizzazioni tecniche dei landmark e registrazione video della scena Tabù.
Viteper sviluppo locale e buildthreeper rendering 3D, camera motion e scenaAmbienti 3D/Palloncino@mediapipe/tasks-visionperFaceLandmarkere stima della testa nei prototipi 3DMediaPipe Holisticvia CDN per volto, mani e posa nei prototipiTabù,LayerseMatrixHTML5 Canvas 2Dper overlay landmark, shadow puppet, Matrix e registrazione della scenaMediaRecorderper registrare la scenaTabùdirettamente nel browserWeb Audio APIper gestire e mixare l'audio dello spot nella registrazioneGLTFLoaderdithree/examplesper caricare modelli.glb
- filtro teatrale ispirato agli spot Tabù
- tracking di volto e mani
- preview webcam + landmark
- riproduzione dello spot audio
- registrazione della scena finale con anteprima inline e download manuale
- controllo della camera 3D con yaw, pitch e distanza del volto
- drag manuale della vista con click e trascinamento
- caricamento di modelli
.glblocali o da URL - preset 3D inclusi nel progetto
- avatar/testa 3D minimale che segue il volto
- occhi e bocca reattivi
- visualizzazione full-screen di tutti i landmark disponibili
- supporto a volto, mani e pose
- blend regolabile tra camera e landmark
- console live con variabili di tracking in tempo reale
- pioggia di simboli verdi stile Matrix
- integrazione dei landmark nel flusso
- mix regolabile tra resa landmark e resa più realistica del volto
cd /Users/tonga/Documents/GitHub/head-tracking
npm install
npm run dev -- --host 127.0.0.1Apri:
http://127.0.0.1:4174/head-tracking/
Per esporre il server anche ad altri dispositivi sulla rete locale:
npm run dev -- --host 0.0.0.0npm run buildLa build finale viene generata in dist/.
Il progetto è configurato per essere pubblicato su GitHub Pages tramite GitHub Actions.
File coinvolti:
Il base di Vite è impostato su:
/head-tracking/Questo serve per far funzionare correttamente asset e bundle quando il sito è pubblicato sotto il path del repository.
Nel prototipo Tabù simulator è disponibile una registrazione browser-side della scena:
- countdown iniziale
- intro webcam -> landmark -> Tabù
- audio dello spot incluso nel file
- anteprima del video generato direttamente nella pagina
- download manuale tramite pulsante
Scarica file
I preset locali sono in:
Lo script che genera i modelli di esempio è:
head-tracking/
├─ .github/workflows/
├─ public/audio/
├─ public/models/
├─ src/
│ ├─ main.js
│ └─ style.css
├─ tools/
├─ index.html
├─ package.json
└─ vite.config.js
- I preset
.glbvengono risolti conimport.meta.env.BASE_URL, quindi funzionano sia in locale sia su GitHub Pages. - Il browser deve avere accesso alla webcam e l'utente deve concedere il permesso.
- I prototipi
Tabù,LayerseMatrixdipendono daMediaPipe Holisticcaricato via CDN. - La registrazione usa
MediaRecorder: il formato finale dipende dal supporto del browser (mp4owebm). - Su mobile o altri device conviene usare HTTPS o un host locale accessibile in rete.