[Supporto richiesto] Rigging armature tramite kinect

Blender.it | Supporto Utenti | Supporto Animazione e rigging | Rigging armature tramite kinect

Stai vedendo 25 articoli - dal 1 a 25 (di 26 totali)
  • Autore
    Articoli
  • #541676

    Trinciatore92
    Partecipante
    • Blenderista
    • Conversazioni totali126

    Ebbene si, sono uno dei tanti sperimentatori del suddetto metodo di mocap (l’ho trovato in offerta a 19€ ed ero troppo curioso), vorrei spiegare bene il problema ma non so quanto mi riuscirà bene, quindi cercherò di essere piuttosto schematico.

    Dunque l’addon mi crea nella viewport una serie di empty object correlati ai vari punti tracciati dal sensore, tipo spalla, braccio, avambraccio, mano ecc.

    Fin qui nessun problema, provando la il file di prova fornito con l’addon si vedono le suddette empty agganciate ad un armatura

    Come vedete ci sono due armature, una stick selezionata e poi dei bones più classici, quello che però non capisco è come sia agganciato il tutto, in modo da poterlo replicare su altri modelli.

    Nel file è riportato questo “The “Capture armature” is only used for transforming the raw joint location data into usable joint angle data and should not be saved directly.” quindi a occhio e croce quella Stick è fittizia atta a tramutare le empty in qualcosa di usabile, mentre la seconda è quella vera e proprio da abbinare alla mesh.

    Questo è il file blend fornito con l’addon, magari smanettandoci dentro capite il criterio meglio di quanto non riesca a fare io XD
    https://ni-mate.com/release/plugins/blender/Delicode_NI_mate_Mocap.blend

    #541716

    ^erik^
    Partecipante
    • Veterano
    • ★★
    • Conversazioni totali645
    • Blender.it Staff
    • Associato Blender Italia
    • Moderatore Forum

    Cerca tutorial su Mocap  (motion Capture)  in blender  (re target) ci sono degli add-on per usare anche mocap già fatti i file sono di solito in .BVH

    mi sto interessando anch’io al motion capture .

    Ti piacerebbe condividere le tue esperienze ?

    #541734

    Trinciatore92
    Partecipante
    • Blenderista
    • Conversazioni totali126

    Grazie mille per la dritta, cercherò di informarmi quanto prima.

    Per quel che ho potuto testare sul momento col kinect (versione 360 non quello V2 xone), devo dire che non è male in quanto a tracciamento, purtroppo però ha pochi punti, specie lungo la schiena, tuttavia l’idea di muovere i singoli bones manualmente dando un’aspetto realistico porterebbe via tantissimo tempo.

    La mia idea sarebbe quella di imparentare due armatura, una grezza da gestire col kinect ed ottenere facilmente un’animazione grossolana ma credibile, e poi una seconda per andare a gestire le animazioni più di secondo piano, come la torsione della spalla, le dita il punto del torace.

    Ho notato che a volte se ci si mette un po’ di lato, tende a perdere, com’è naturale che avvenga, il match con la figura quindi finisci per vedere un piede distorcersi XD
    Tuttavia anche lì si può ovviare gestendo i keyframe manualmente dal graph editor.

    #541737

    andcamp
    Partecipante
    • Veterano Platino
    • ★★★★★★
    • Conversazioni totali5673
    • Blender.it Staff
    • Associato Blender Italia
    • Moderatore Forum

    | purtroppo però ha pochi punti, specie lungo la schiena

    potresti andare in edit mode e suddividere la bone, solo che dopo dovresti imparentare ed adattare opportunamente


    #541738

    Dante9474
    Partecipante
    • Blenderista
    • Conversazioni totali145
    • Associato Blender Italia

    Ah, seguo interessato, dato che anche io avrei il desiderio di provare (un giorno XD)…Quindi nelle mie assidue ricerche, trovai questo video anche abbastanza recente che ti condivido, in modo da fartelo provare (così potresti fare da cavia XD):

    #541739

    Trinciatore92
    Partecipante
    • Blenderista
    • Conversazioni totali126

    andcamp i pochi punti erano riferiti a quelli tracciati dal sensore del kinect e non a quelli dell’armatura vera e propria.

    Dante9474 Grazie mille per il video, mi ha illuminato non poco, corro subito a fare qualche prova 😛

    #541776

    andcamp
    Partecipante
    • Veterano Platino
    • ★★★★★★
    • Conversazioni totali5673
    • Blender.it Staff
    • Associato Blender Italia
    • Moderatore Forum

    |andcamp i pochi punti erano riferiti a quelli tracciati dal sensore del kinect e non a quelli dell’armatura vera e propria.
    lo so ma supplivi manualmente alle mancanze di quello che era stato generato


    #541779

    ^erik^
    Partecipante
    • Veterano
    • ★★
    • Conversazioni totali645
    • Blender.it Staff
    • Associato Blender Italia
    • Moderatore Forum

    Ciao Trinciatore come vanno i tuoi esperimenti ? ci sono novità?

    #541780

    Dante9474
    Partecipante
    • Blenderista
    • Conversazioni totali145
    • Associato Blender Italia

    Ottimo, attendiamo i risultati allora :D…eh si, appena ho visto l’upload di quel video, l’ho messo da parte, sapendo che sarebbe potuto essere utile un giorno

    #541862

    Trinciatore92
    Partecipante
    • Blenderista
    • Conversazioni totali126

    Purtroppo in questo week end sono stato un po’ indaffarato, il video è stato di grande aiuto ma c’è qualcosa che mi sfugge, infatti per il busto/braccia funziona tutto perfettamente, per le gambe o qualche problema con la rotazione delle ginocchia (presumibilmente ho sbagliato qualche asse).

    Inoltre dovrò creare una qualche personaggio da riggare, ho provato a sostituire l’armatura ad uno di quelli generati con l’addon di manuelLab ma fallisce nel generare automaticamente l’influenza dei bone sulla mesh, non so bene da cosa dipenda quindi vista anche la semplicità del rig farò un pg un po’ più sempliciotto in stile Chibi e farò qualche prova con quello; almeno evito di accumulare problemi non legati tra loro così da sciogliere un nodo alla volta.

     

    #541948

    Trinciatore92
    Partecipante
    • Blenderista
    • Conversazioni totali126

    Ok, dopo qualche ora di indagine sul file demo, ho notato che il tronco non era un singolo bone ma un doppio, collo-torso e torso-collo, replicando tale struttura sono riuscito a fare funzionare il tutto, in modo molto grezzo ma va XD

    Come è possibile vedere dal video, i prossimi obiettivi da curare sono:

    1. giunture delle ginocchia, credo che metterò un vincolo di rotazione)
    2. collegare meglio tronco e gambe per proporzioni più umane XD
    3. vedere se posso modificare i bone del tronco per renderlo meno rigido
    #541952

    little_angel
    Partecipante
    • Veterano
    • ★★
    • Conversazioni totali909
    • Associato Blender Italia

    mamma mia che figata.. costa molto sto kinect? ^_^


    e allora.. sotto!!
    #541953

    ^erik^
    Partecipante
    • Veterano
    • ★★
    • Conversazioni totali645
    • Blender.it Staff
    • Associato Blender Italia
    • Moderatore Forum

    Bel Lavoro complimenti , Ti andrebbe di scrivere un tutorial? non sarebbe una cattiva idea   🙂

    #541966

    Trinciatore92
    Partecipante
    • Blenderista
    • Conversazioni totali126

    N4v4rr0 Io sono stato fortunato, passavo alla coop per caso e l’ho visto in promozione a 19€ (dentro c’era pure un gioco, spero di riuscire a rivenderlo), ho visto comunque che è possibile sfruttare varie cam tipo asus xtion, il kinect per windows o quello V2 per xone. Chiaramente quello per la 360 che ho comprato io è forse il più scarso, infatti quello per pc pare faccia il tracciamento anche delle mani però chiaramente cambiano molto i prezzi.

    ^erik^ Si sicuramente, alcuni passaggi come l’istallazione hardware e questo inghippo sulle armature, richiedono sicuramente una guida a supporto e io di materiale online ne ho trovato veramente poco.

    #542063

    ^erik^
    Partecipante
    • Veterano
    • ★★
    • Conversazioni totali645
    • Blender.it Staff
    • Associato Blender Italia
    • Moderatore Forum

    ciao ho trovato questi passaggi  forse ti possono essere utili, sono stati tratti da un toolkit  opensurce per mokap in blender ecco riassunti i passaggi

    • Utilizzare il toolkit per generare il file BVH.
    • Importa il file BVH nel Blender.
    • Lega il personaggio all’armatura.
      Se stai utilizzando il metabone di Rigify, devi solo regolare leggermente l’armatura, ecco i passaggi:
    • Seleziona l’armatura, entra in modalità ‘Modifica’, seleziona tutte le ossa, premi ‘Ctrl’ + ‘N’, fai clic su ‘Ricalcola Roll-> con asse Globale -Y’.
    • Selezionare l’armatura, inserire la modalità ‘Pose’, rinominare alcune ossa, farle corrispondere ai nomi delle ossa dell’armatura BVH e cambiare la modalità di rotazione da ‘Quaternion (WXYX)’ a ‘ZYX Euler’.
    • Lega il personaggio all’armatura.
    • Utilizzare il toolkit per generare il file BVH.  (oppure usare i tuoi già fatti)
    • Importa il file BVH nel Blender.
    • Elimina l’armatura BVH.
    • Seleziona l’armatura, passa all’interfaccia ‘Dope Sheet-> Action Editor’, collega il filmato.
      mi puoi confermare che i passaggi sono questi ? 🙂
      attendo con interesse il tuo Tutorial  🙂
    #542064

    Alessandro Passariello
    Partecipante
    • Veterano
    • ★★
    • Conversazioni totali644
    • Blender.it Staff
    • Associato Blender Italia
    • Moderatore Forum

    ho pulito il post….

    No HTML please… 😀


    Presidente Associazione Blender Italia

    http://www.associazione.blender.it

    #542065

    ^erik^
    Partecipante
    • Veterano
    • ★★
    • Conversazioni totali645
    • Blender.it Staff
    • Associato Blender Italia
    • Moderatore Forum

    mi dimenticavo le informazioni le ho trovate qui

    Open source Kinect motion capture toolkit

    #542070

    Trinciatore92
    Partecipante
    • Blenderista
    • Conversazioni totali126

    I passaggi sono diversi ma credo dipenda dal software che usa per sfruttare il kinect, i punti che cattura il sfotware hanno appunto i loro assi ecc. e poi in blender bisogna solo correggerli affinché siano coerenti con la scena.

    Nel mio caso ad esempio ho dovuto scalare l’armatura sull’asse Y a -1 così che armatura e “tracciamento” fossero orientati nella stessa direzione.

    #542084

    ^erik^
    Partecipante
    • Veterano
    • ★★
    • Conversazioni totali645
    • Blender.it Staff
    • Associato Blender Italia
    • Moderatore Forum

    capito errore mio nel  copia/incollare

    #542161

    Trinciatore92
    Partecipante
    • Blenderista
    • Conversazioni totali126

    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.

    #542268

    Trinciatore92
    Partecipante
    • Blenderista
    • Conversazioni totali126

    Ok, confermo il mio sospetto

    Andando ad estendere la voce “coordinates” è possibile correggere in origine la posizione dei punti tracciati, settando infatti -1.000 sull’asse Z del programma, potrete far si che i punti creati in blender siano orientati nello stesso senso con cui viene posizionata l’armatura/meta-rig una volta aggiunta nella scena.
    Passiamo ora all’addon, che trovate nella toolshelf a sinistra.

    Come noterete è composta in due blocchi, quello sotto ha funzioni simpatiche ma praticamente inutili (tipo creare un’anteprima in trasparenza di quel che vede il kinect all’interno di blender), quello che ci interessa realmente è il primo blocco dove troviamo:

    • la porta 7000 come sul programma di capture, così che si instauri un dialogo tra i due.
    • quattro tasti per scegliere sotto che forma generare i punti tracciati dal kinect all’interno di Blender.
    • due spunte la prima “add rotation” premette di trasferire anche dati relativi alle rotazioni mentre la seconda “reset” permette di rigenerare come ex-novo i punti quando fate prove successive.
    • un tasto start/stop che permette di avviare o interrompere lo stream di dati live dal kinect a blender.

    A questo punto se volete fare un test rapidamente per capire se è tutto ok, vi basta spuntare il tab “sphere” così che siano ben visibili, poi il tasto “start” e cominciare a sbracciare davanti al kinect, per vedere fin da subito se tutto funziona e dove vengono generati i punti del kinect; considerate che vanno spesso oltre il grid che fa da pavimento quindi zoomate un po’ indietro.

    Una volta constatato che è tutto ok, cancellate le sfere generate in precedenza, aumentate la time line di un bel po’ (tipo a 1000 o più), spuntate il tasto “rec” sulla timeline

    spuntante invece il tab “Empty”, quello “add rotation” nel caso in cui vi interessino i dati relativi e infine di nuovo “start”.

    Adesso c’è un piccolo distinguo di circostanza XD
    Se siete in due, basterà che una persona si metta al kinect per registrare le movenze mentre l’altro avvia con “play” la timeline per registrare i keyframe; se invece siete tristi e soli come me, dovete premere play, correre a fare l’animazione e tornare poi a stoppare il tutto XD

    Attenzione, fate sempre in modo di stoppare la time line prima che ricominci il giro dal frame 1, oppure comincerete a registrare nuovi keyframe sovrapponendoli a quelli già salvati facendo un pastrocchio.

    Complimenti avete appena ottenuto una registrazione dell’animazione.

    Ora sul come abbinare i punti all’armatura credo che ci farò un video perché da spiegare testualmente è molto lungo e temo crei più che altro confusione, della serie “un immagine che vale più di mille parole”. XD

    #542346

    ^erik^
    Partecipante
    • Veterano
    • ★★
    • Conversazioni totali645
    • Blender.it Staff
    • Associato Blender Italia
    • Moderatore Forum

    Bella guida complimenti ,  appena risolvo alcuni problemi di compatibilità  software (uso una distribuzione Linux)   la provo di sicuro 🙂
    intanto mi è appena arrivata la Camera ps3 eye e vedo se il mio investimento serve a qualcosa 🙂

    #542348

    Trinciatore92
    Partecipante
    • Blenderista
    • Conversazioni totali126

    Ne ho una anche io ma con NiMate non posso usarla in combo, dovrei provare qualche altro software.

    #546020

    little_angel
    Partecipante
    • Veterano
    • ★★
    • Conversazioni totali909
    • Associato Blender Italia

    @Trinciatore92 ehilà, qualche novità? mi interessava molto questo argomento


    e allora.. sotto!!
    #546102

    Trinciatore92
    Partecipante
    • Blenderista
    • Conversazioni totali126

    Sfortunatamente non molto, questo mese ho avuto un po’ di impicci familiari e per di più mi si è rotto il vecchio monitor :/
    Finalmente mi è arrivato il nuovo (Dell S2419HM), cercherò di rimetterci mano.

Stai vedendo 25 articoli - dal 1 a 25 (di 26 totali)

Devi essere loggato per rispondere a questa discussione.