Head tracking con un WiiMote e Compiz Fusion

Forse avrete già visto come un certo Johnny Chung Lee riesca ad utilizzare il controller della consolle Nintendo Wii (WiiMote) e dei semplici LED infrarossi per realizzare in modo semplice un sistema che rileva la posizione e il movimento della testa ed adatta le immagini (e le finestre) nello schermo del computer di conseguenza (video). Fantastico no?
Poteva dunque la community di Compiz Fusion non lasciarsi solleticare da questa idea? Ovviamente no! Due sviluppatori (SmSpillaz e Oasisgames) si sono da poco messi a sviluppare uno specifico plugin per Compiz Fusion, chiamato Wiitrack.

Le idee in fase di sviluppo sono molte, ma la bella notizia è che c’è già qualcosa che funziona. Prima di entrare nei dettagli, ecco il primo video:

Ecco nei dettagli le caratteristiche su cui stanno lavorando:

  • Head tracking: le finestre sullo schermo si muovono a sinistra spostando la testa a destra, e viceversa. Le finestre più lontane ovviamente si spostano di più rispetto a quelle vicine. Inoltre avvicinando la testa allo schermo, si ottiene un effetto zoom, allontanandosi le finestre si rimpiccioliscono.
  • Cubo: sarà possibile girare il cubo con il wiimote e navigare al suo interno
  • Finestre 3D: entrare ed uscire dalle finstre 3d che sono sopra o dentro il cubo, avendo la sensazione di muoversi in un ambiente tridimensionale multilivello
  •  Azioni e Gesti: mappare i movimenti del wiimote per controllare diversi plugins di Compiz Fusion. Spazio libero alla fantasia… 😉
  • Wiimote multipli: perchè non utilizzare più di un telecomando contemporaneamente? Sembra sia possibile…
  • Movimento del cursore: forse l’idea più banale, ovvero muovere il cursore del mouse. In effetti esistono già diversi sistemi e librerie extra-compiz che già implementano questa funzione (sperimentate personalmente)

Beh le idee sono tante, e tanto ancora si potrà fare. A mio parere le prospettive sono a dir poco entusiasmanti!

Ma come è possibile tutto questo?
La tecnologia che lo permette è tutta contenuta nel wiimote (si trova in commercio a 50€ circa) .
Questo fantastico oggettino include sia degli accelerometri, sensori capaci di rilevare i movimenti nei tre assi e la forza impressa, sia una videocamera infrarossi, che riceve ed elabora i segnali luminosi provenienti da due LED infrarossi, permettendo di rilevare la posizione del controller nello spazio, rispetto allo schermo. Tali LED si trovano nella sensor bar inclusa nella consolle, ma non è difficile costruirseli con comuni componenti, nuovi o di recupero (esempio: telecomandi tv).
Per utilizzare questo plugin è necessario che il wiimote e i due led siano piazzati di fronte. Per esempio uno sopra lo schermo, e la sensor bar sulla vostra testa (sopra un cappellino, come nel video).
Fatto questo basta collegare il wiimote al pc attraverso un adattatore bluetooth, interfacciarlo utilizzando apposite librerie (CWiiD) ed il gioco è fatto.

Se volete seguire lo sviluppo, tenete d’occhio questa discussione del forum, questo wiki e questa pagina del GIT.

Non vedo l’ora di provare tutto ciò di persona, sfruttando i wiimote e la sensor-bar della mia Wii (che mi son regalato per Natale!)  non appena il codice sarà usabile.

Ovviamente non mancherò di postare prossimamente una guida completa all’installazione nonchè commenti a caldo su questa nuova esperienza 3d !