Rispondi a: Rigging armature tramite kinect

#542161

Trinciatore92
Partecipante
  • Blenderista
  • Post sul forum 123

Comunque abbozzo una sorta di guida.

Partiamo dall’hardware, nel mio caso ho comprato un kinect v1 per xbox 360, rispetto al kinect v1 for windows differisce essenzialmente nel non tracciare alcuni punti per le mani e nel fatto che non ha driver ufficiali, quindi bisogna istallare dei driver non ufficiali da sviluppo (quelli che avrebbe usato chi provava a sviluppare giochi per kinect/x360 a suo tempo).

Affinché sia possibile collegarlo al pc è necessario un adattatore usb specifico, si trova su amazon ad una decina di euro ma nelle versioni più recenti del prodotto è stato aggiunto nella confezione (infatti ho dovuto ritrattare l’ordine una volta aperto la scatola).

L’istallazione prevede che scarichiate un software ufficiale microsoft chiamato “Developer ToolKit” che trovate sul sito MS a questo link https://www.microsoft.com/en-us/download/details.aspx?id=40276

Successivamente è necessario istallare l’SDK con i driver che trovate sempre sul sito ufficiale a questo link https://www.microsoft.com/en-us/download/details.aspx?id=44561

Nota Bene: questo SDK farà l’istallazione dei driver “Kinect for windows” quindi la versione per pc, se avete quella x360 ovviamente non funzionerà a dovere, verrà riconosciuta sempre come kinect for windows quindi non stupitevi se alcuni programmi non ve la riconosceranno dando una qualche forma di errore.

Per utilizzarla in blender, è possibile scegliere tra vari software io ad esempio mi sono appoggiato a Delicode NiMate ma forse uno dei più curati è iPi motion capture, sono entrambi a pagamento ma offrono entrambi una versione gratuita limitata.
Durante l’istallazione di NiMate potrete scegliere quali driver istallare (kinect per windows, kinect per xbox 360, kinect v2 per xbox one, asus xtion e un’altra camera mi pare), chiaramente scegliete quella che fa al caso vostro, nel mio caso kinect per x360.

Durante l’avvio viene spiegata una procedura qualora vi fossero errori di compatibilità, che permettere di sbloccare su Windows 10 la possibilità di istallare driver non firmati digitalmente, così potrete scegliere di upgradare i driver della periferica con quelli per così dire “tarocchi”.

Ammetto che tale procedura è alquanto difficoltosa ma viene descritta passo passo all’avvio di NiMate, quindi preferirei non dilungarmi troppo su questi passaggi. Al limite ne parlo in un altro post successivo.

Ovviamente sul sito del software trovate il plug-in/addon per blender da scaricare e istallare

Fatti tutti i passaggi e avviato il programma NiMate avrete una serie di macro-voci a sinistra tra cui scegliere, vi aiuto ad analizzarle.

In questa prima schermata potrete vedere, il sensore che viene riconosciuto (OpenNI 1 ovvero il kinect) e lo stato di lavoro (use per attivarlo e stop per fermarlo). Inoltre vedrete la porta di indirizzamento dei dati (Port: 7000) è importante che sia la medesima indicata nell’addon di blender affinché vengano trasferiti i dati dal software a blender.
N.B. come notate è possibile aggiungere anche ulteriori sensori

In questa seconda voce, potete vedere la schermata con una animazione di prova già registrata e l’elenco di quelle ulteriormente create da voi, in basso è presente il tasto “Export as .bvh” per esportare l’animazione ma è disponibile solo nella versione a pagamento, ma siccome io sono tirchio mi voglio fare del male XD

In questa schermata avete accesso a ciò che vede il sensore, potrete scegliere tra vari outputs come la visione RGB della camera, quella di profondità, quella 3D come in foto e altre varianti, con la possibilità di cambiare alcuni parametri di riconoscimento come lo smooth ed eventuali delay.

Cliccando sulla freccetta affianco al sensore “OpenNI” vi si aprirà un menù a tendina, spuntate la voce skeleton così da inviare a blender i dati relativi al tracciamento dello scheletro fatto dal kinect.
Come vedete già di default sono nominati i vari punti che ritroverete anche in blender sotto varie forme (potrete scegliere tramite l’addon se creare degli empty object, delle sfere o dei cubi, verranno nominato tali e quali, se gli cambiate nome però non verranno più mossi da NiMate).
Tornando alla schermata di NiMate, vi consiglio di togliere la spunta da “Hands” poiché vi genererà dei punti anche per le mani ma come detto all’inzio, il kinect per 360 non è in grado di captarli quindi sarebbero inutili da dover poi cancellare.
Infine è presente anche una barra coordinate, che io stesso ho notato ora facendo questa guida, di fatto è possibile già da qui, determinare gli assi di riferimento così da ritrovarsi poi con meno problemi.

Per ora qua mi fermo, poiché lato blender andrei a spiegare come correggere gli assi e se è fattibile già di NiMate preferisco indagare e andare poi a descrivervi la soluzione più pratica.