Head tracking a costo zero, o quasi: GimbalTrack e Android

0
302

Sono nuovamente a parlare di head tracking, ossia il controllo della visuale di gioco attraverso il movimento della testa. Nel blog abbiamo trattato l’argomento più di una volta, a partire dalla guida sull’head tracking ad infrarossi fai da te di Eagle. Tuttavia, la tecnologia va sempre avanti ed io non posso non provare le nuove soluzioni che fanno capolino sul mercato.

Purtroppo, la mia guida per la costruzione di un Head Tracker tramite Arduino e giroscopio non è più valida. Questo perché il progetto di riferimento, EDTracker appunto, è stato chiuso; al momento, quindi, è possibile ordinare soltanto il kit già saldato e programmato.

Grazie alla segnalazione di {9GU}Baco, ho scoperto un nuovo sistema di cui andrò a parlare. Si tratta di utilizzare una app per gestire il tracking della testa.

Ma andiamo per gradi.

Head tracking, un mare di soluzioni, mal di mare incluso

Per fare un tracking della testa, o del volto, ci sono tantissimi software a disposizione. Personalmente ne ho provati parecchi e tutti hanno una grossa pecca: un lag enorme tra il movimento effettivo e quello della visuale. Questo porta ad avere un effetto “mal di mare” che spesso porta alla rinuncia totale all’utilizzo di un sistema di head tracking. Eppure questo sistema non è da sottovalutare, soprattutto quando si vola.

Come dicevo, il nostro {9GU}Baco ha scoperto una app, chiamata GimbalTrack, che permette di tracciare i movimenti della testa, anzi del volto, in questo caso specifico. Tutto quel che occorre è un dispositivo Android, la propria rete Wi-Fi ed l’ormai celeberrimo OpenTrack.

La app è disponibile sul Google Store e ad ora è funzionante solo su alcuni dispositivi “certificati”. Purtroppo non esiste, al momento in cui scrivo, la versione per iOS.

Tutti i miei test sono eseguiti utilizzando un Huawei P20 Lite, interfacciando l’app con OpenTrack.

Per iniziare, occorre installare i due software: GimbalTrack sul dispositivo Android e OpenTrack sul PC. Ci occuperemo anzitutto della configurazione di OpenTrack sul PC e spiegheremo poi come configurare GimbalTrack sul dispositivo Android.

Configurazione di OpenTrack lato PC

Dopo averlo scaricato ed installato, lanciamo OpenTrack e creiamo un nuovo profilo. Per farlo, clicchiamo su Profile e successivamente su Create new empty config:

Creato il profilo, selezioniamo dalla sezione Input, la voce UDP over network. Ora clicchiamo sull’icona del martello a fianco e prendiamo nota del numero della porta; quella di default è la 4242.

Ora dobbiamo recarci nella sezione Output e selezionare la voce Freetrack 2.0 Enhanced. Fatto ciò, clicchiamo sempre sull’icona del martello e selezioniamo la voce Use TrackIR, disable Freetrack.

Consiglio anche di disabilitare tutti gli assi all’infuori di Pitch e Yaw. Questo sistema di tracking, infatti, non permette di zoomare, e lasciare attivi degli assi inutilizzati comporterebbe solo calcoli inutili.

Per scegliere quali assi tenere attivi, rechiamoci anzitutto in Options. Entriamo ora nella seconda scheda, chiamata Output, e scegliamo Disable per ogni asse diverso da Pitch e Yaw.

La configurazione lato PC è conclusa. Vediamo ora come procedere sul dispositivo Android.

Configurazione di GimbalTrack sul dispositivo Android

Per prima cosa, apriamo GimbalTrack sul dispositivo Android e scorriamo le 3 schermate iniziali:

A questo punto si attiverà la fotocamera frontale del telefono. Il sistema di GimbalTrack, prendendo punti di riferimento come narici e occhi, traccia il movimento del volto e lo trasmette ad OpenTrack. Quest’ultimo si interfaccia con il gioco, facendo sì che la visuale del gioco si possa controllare muovendo il proprio volto.

Il PC con OpenTrack e il dispositivo Android devono essere connessi alla stessa rete. L’indirizzo IP del PC deve essere noto.

Per proseguire, clicchiamo sull’icona dell’ingranaggio, inserisci l’IP del PC e la porta di OpenTrack, di cui abbiamo preso nota sopra. Fatto tutto questo, diamo l’OK.

Ora non resta che avviare l’applicazione premendo sul pulsante Play. Apparirà una griglia sulla faccia: quel che il software fa è mappare il viso e trasmettere i dati ad OpenTrack tramite la porta UDP.

Ora puoi avviare OpenTrack. Premendo Start vedrai il polipetto muoversi. Semplice, no?

Qualche suggerimento sulle impostazioni

Ecco alcuni consigli sulla regolazione, in base alla mia esperienza ed a quella di {9GU}Baco:

  • Una volta in gioco, la prima cosa da capire è se la sensibilità va bene. Una sensibilità troppo alta rende troppo veloce il movimento rispetto alla testa, creando un effetto “mal di mare” fastidioso. Una sensibilità troppo bassa ha risultati simili. Io e {9GU}Baco consigliamo di impostare la sensibilità sul valore LOW, almeno nella fase iniziale di utilizzo. Questa impostazione si assegna direttamente nell’app.
  • Una volta trovata la sensibilità adatta, potrebbe essere necessario lavorare sugli angoli di rotazione. Se nel gioco vogliamo, ad esempio, ruotare la testa di 90°, non possiamo certamente ruotarla di 90° anche nella realtà, o non vedremmo più lo schermo. Possiamo però recarci nella scheda Mapping di OpenTrack. Ogni asse ha la sua scheda rappresentata da un grafico ed un puntino che corre lungo una linea. La linea si può rendere più ripida o più dolce in base alle proprie preferenze.
Curva per lo Yaw (la rotazione della testa) resa più ripida per permettere una rotazione ottimale.

Conclusione

Questo software è una piacevolissima scoperta. Io l’ho utilizzato per circa 3 ore consecutive durante una partita mentre pilotavo un elicottero. Dopo le prime regolazioni, il feeling è fantastico. All’inizio, ho avuto la sensazione di avere qualche “scatto” della visuale, ma dopo neanche due minuti di utilizzo tutto era fluido. Personalmente, non ho mai sentito la necessità di disabilitare il tracking nemmeno camminando, permettendomi di muovermi con una sensazione molto realistica.

Se già si possiede un dispositivo Android, vale la pena di provare GimbalTrack. Magari bisognerà spendere un po’ di tempo per trovare la giusta regolazione, ma ne vale la pena. Bisogna avere l’accortezza di tenere il dispositivo collegato alla rete elettrica. L’app consuma infatti la batteria del telefono assai velocemente: questo è il suo unico difetto, se così vogliamo chiamarlo. Si tratta però di un neo davvero irrisorio rispetto al risultato, che è avere un sistema di head tracking quasi a costo zero.