C.O.F.F.E.E. Script per motion retargeting e Dati utente

Forum per: Modellazione, Texturing, Animazione, Composting e tutto quello che riguarda il normale utilizzo di Cinema4D.

Moderatori: Arkimed, natas, visualtricks, cappellaiomatto

Rispondi
  • Advertising
Avatar utente
tommix
Messaggi: 345
Iscritto il: gio gen 13, 2005 8:17 pm
Località: Fondi (LT)

C.O.F.F.E.E. Script per motion retargeting e Dati utente

Messaggio da tommix »

Salve, qualche giorno fa ho avuto la necessità di disaccoppiare il mio lavoro di rigging da quello dell'animatore per consentirci di lavorare quasi in parallelo e senza la necessità di dover buttare le curve registrate dall'animatore nel caso di una eventuale modifica/correzione del rig (e.g. aggiunta constraint elastici in un secondo momento, clothing, ecc.).
Il sistema che ho adottato e che sta funzionando è il seguente: avere un rig del modello più diverse copie dei controller. l'animatore lavora su uno delle copie dei controller e poi mi vado a fare il retarget di questi controller su quelli effettivamente collegati alle bone.
Cinema rende questa operazione fattibile con il tag retarget, ma ho notato che questo provvede solo alla copia dei dati Posizione, Rotazione, mentre spesso ad ogni controller sono associati diversi dati utente (si pensi al controller di una mano dove diversi user data controllano la rotazione delle falangi delle dita, oppure al controller della testa per i morph e così via). Il tag retarget non copia i dati utente da una gerarchia all'altra. Così ho creato questo script in coffee che voglio condividere con voi. In sostanza esso copia da una gerarchia all'altra non solo posizione e rotazione di ogni nodo, ma anche i dati utente che vengono definiti. Condizione necessaria affinchè funzioni come nel caso del retarget tag è che le due gerarchie sono uguali.
Per farlo funzionare create in Xpresso un nodo C.O.F.F.E.E. ed aggiungete due porte di ingresso di tipo Link chiamate "Source" (la gerarchia sorgente) e "Target" (la gerarchia a cui voglio copiare i dati assegnati a source). Collegate poi a queste due porte i due oggetti su cui volete fare il retarget.
copiate poi nel nodo coffee il codice che ho allegato
Buon retarget.. :?:
Allegati
Script_Retarget_UserData_Tommix.rar
(651 Byte) Scaricato 74 volte
Ultima modifica di tommix il mer lug 15, 2009 9:53 pm, modificato 1 volta in totale.
Avatar utente
natas
Moderatore
Messaggi: 790
Iscritto il: mer set 22, 2004 2:54 pm
Località: Milano

Re: C.O.F.F.E.E. Script per motion retargeting e Dati utente

Messaggio da natas »

ottimo materiale e un grazie da tutta la comunità :lll
Portale di Riferimento di Cinema4D in Italia dal 1999

Immagine
62VAMPIRO
Messaggi: 3807
Iscritto il: lun mar 14, 2005 6:46 pm

Re: C.O.F.F.E.E. Script per motion retargeting e Dati utente

Messaggio da 62VAMPIRO »

Grazie: utile......Bravo Tommix :yea :yea
Avatar utente
tommix
Messaggi: 345
Iscritto il: gio gen 13, 2005 8:17 pm
Località: Fondi (LT)

Re: C.O.F.F.E.E. Script per motion retargeting e Dati utente

Messaggio da tommix »

Visto l'interessamento generale per questo script lo sto convertendo in un plugin in C++, a cui sto aggiungendo nuove funzionalità, come:

- retarget di posizione, scala e/o rotazione a scelta con checkbox;
- retarget dei dati utente o meno, da checkbox;
- trasferimento posizione root da checkbox;
- retarget per nome oggetto o a scelta per gerarchia;
- retarget esteso anche ai figli dell'oggetto corrente o valido solo per quell'oggetto.

In sostanza potremo decidere se trasferire da un oggetto all'altro a scelta scala, posizione, rotazione, i dati utente, decidere se estendere il trasferimento a tutti i figli di quella gerarchia, ecc..
A breve pubblicherò una beta.
Avatar utente
tommix
Messaggi: 345
Iscritto il: gio gen 13, 2005 8:17 pm
Località: Fondi (LT)

Re: C.O.F.F.E.E. Script per motion retargeting e Dati utente

Messaggio da tommix »

Beta del plugin:
http://www.tommasosanguigni.it/?p=497

Se riscontrate malfunzionamenti segnalatemelo. Essendo una beta ci possono essere degli errori, tra cui non capisco come mai la scala non va!

Ricordatevi che gli user data DEVONO essere uguali.
  • Advertising
Rispondi