Development

GD Programming

Centro di massa (parte 2)

[del 20/01/2010] [di Antonio Cutrona]
Esaminare la traiettoria del CDM usando il tool apposito

Il risultato della simulazione in Excel mostra come si muove il CDM rendendo possibile animare il CDM del personaggio in modo appropriato. Quando lo si fa bisognerebbe usare la root bone per muovere il personaggio e non lo stesso CDM perché esso non è un oggetto che dovrebbe essere manipolato, ma piuttosto una guida per l'animazione.
Alcuni animatori con i quali ho lavorato erano confusi in quanto credevano che “la root sia uguale al CDM”. Non è affatto corretto, perché il CDM è il centro di gravità e si muove in base alla postura. La differenza tra i due elementi è ovvio quando il corpo ruota. Vedi Figura 6.
In questa figura un uomo sta eseguendo una capriola indietro. Come si può vedere, la traiettoria della root è totalmente differente da quella del CDM. Senza conoscere questo fattore, se si anima la root seguendo i movimenti del CDM, l'animazione risulterà incorretta.
Per aiutare con questa complicanza, ho creato un “COM trajectory tool” per calcolare le coordinate del CDM di personaggi animati e mostrare le differenze tra le due traiettorie. Potete usare questo tool anche per verificare se la traiettoria del CDM del personaggio si sta muovendo naturalmente.


Fig. 6


Tool per la traiettoria del CDM

Quando un personaggio viene animato, la postura cambia per ogni frame, il che implica che il CDM si debba muovere costantemente. Per calcolare la traiettoria del CDM bisogna calcolare la massa della mesh del personaggio frame per frame.

In realtà, il corpo umano è strutturato con una serie di componenti differenti come il grasso, le ossa e i muscoli e ogni componente ha una densità differente (quella del grassi è bassa, quella delle ossa è alta). Inoltre la composizione dei corpi varia in base agli individui.
Per i nostri calcoli, bisogna presumere che la densità tipica di un corpo umano è grosso modo come quella dell'acqua [1g/cm^3]. In questo modo il peso di un oggetto (massa) può essere considerato uguale al suo volume. Dopo aver stabilito che il volume dell'oggetto è uguale alla massa, il CDM dello stesso può essere calcolato con tante formule.

Spiegheremo questo concetto tramite una forma più semplice: un ottaedro. Vedi figura 7.
Per calcolare la massa dell'ottaedro, andremo a dividerlo in otto tetraedri per rendere i calcoli più semplici. Per fare ciò, abbiamo posizionato un punto arbitrario (P) all'interno dell'ottaedro in modo da formare otto tetraedri tra ogni faccia e il punto arbitrario. La somma delle masse dei tetraedri corrisponderà alla massa dell'ottaedro. La massa di ogni tetraedro (Mn) può essere calcolata utilizzando le coordinate di tre vertici e di un punto arbitrario.
Si noti che per ottenere le coordinate dei vertici che formano il triangolo, l'ordine dei vertici deve corrispondere con l'indice dei vertici in modo da poter calcolare in modo appropriato il volume.
Dopo aver determinato le coordinate dei vertici, il volume del tetraedro può essere calcolato attraverso la formula seguente:



Il volume dell'ottaedro (M) è la somma dei volumi dei tetraedri. Il Centro di Massa (Cn) di ogni tetraedro può essere calcolato in questo modo:



Dopo aver calcolato Cn, si deve moltiplicare Cn con Mn per ogni tetraedro. Si sommano questi valori e si dividono per il peso dell'ottaedro (M). In questo modo si otterrà il CDM dell'ottaedro (come mostra la formula qui sotto). Tutto ciò può essere usato anche per oggetti più complesso, come i modelli dei personaggi.




Fig. 7

Per ottenere la traiettoria del CDM, questo processo dovrebbe essere ripetuto per tutta la lunghezza dell'animazione. Noi utilizziamo un tool che disegna una traccia che forma la traiettoria del CDM. Lo utilizziamo per stabilire se il flusso del CDM viene traslato in maniera appropriata.
Il tool può essere usato anche per esaminare coppie di animazioni. Si veda la figura 8, che ritrae un hip toss.

Un hip toss è una movenza difficile da animare perché ci sono due corpi che cadono contemporaneamente. La linea rossa è la traiettorie del CDM dell'attaccante, e la linea blu rappresenta la traiettoria del difensore. I due corpi si muovono insieme come se fossero un solo oggetto, dunque formano un oggetto composito  [attaccante + difensore]. Il CDM del oggetto composito può anche essere calcolato usando l'ultima formula riportata sopra. La linea verde infatti rappresenta la traiettoria del CDM del corpo composito.

Fig. 8

Nel processo di valutazione, questo tool può essere usato per creare un riferimento tangibile in modo che gli animatori possano adattare le loro animazioni.


Uso del tool per la traiettoria del CDM

Per dare un esempio di come si può applicare questo tool, uno dei nostri animatori ha creato un animazione dove il personaggio esegue un salto mortale durante una caduta, quasi come un tuffatore olimpionico. L'animazione non sembrava corretta ma l'animatore non riusciva a capirne il motivo.

Il problema era che aveva animato la root come se fosse stato il centro di rotazione, ma la posizione del CDM quando il corpo umano è in questa posizione dovrebbe essere più vicino alla parte frontale dell'addome e fuori dal corpo. In questo caso il corpo dovrebbe ruotare attorno al CDM, e non alla root. Quest'ultima opzione causerebbe un'animazione non realistica e traballante.
La figura 9 mostra questo scenario. Qui, le linee rosse rappresentano la traiettoria della root del personaggio, mentre quelle blu rappresentano la traiettoria del CDM. Attraverso il tool si può vedere come il CDM si muova da in lato all'altro nell'immagine di destra, movimento fisicamente irrealistico. L'immagine sulla sinistra mostra come la gravità spinga il CDM verso il basso mentre la root ruota attorno ad esso.

In un film d'azione girato usando dei cavi, un cavo viene collegato al bacino dello stuntman in modo da aiutarlo/a ad eseguire i movimenti nell'aria. A causa di ciò, il CDM è fisso nella stessa posizione del bacino. In questo caso, la movenza assomiglierebbe all'immagine di destra della figura 9, dunque la rotazione “traballa” e non trasla fluidamente. Questo può accadere se si prova a simulare certe azioni usando il motion capture insieme a dei cavi. Quando si anima un personaggio, mai dimenticare che il CDM non è uguale alla root.


Fig. 9


Mass Appeal

Il CDM nelle 3 dimensioni non è qualcosa che si può manipolare, dunque è importante capire in che modo il suo flusso determini i movimenti dei personaggi.
Bisogna tenere sempre in mente che il corpo umano non è un semplice oggetto solido, ma che in realtà è una struttura composita con molte articolazioni e muscoli. Per questo motivo il movimento umano è complesso e potrebbe non essere qualcosa di simulabile con precisione. Se però si usa un modello fisico semplificato (come il pendolo inverso) si avrà a disposizione una buona base da cui partire. Gli animatori possono usare questa base e modificarla secondo le esigenze.

Spero che le informazioni fornite possono dare una nuova prospettiva su come creare e analizzare le animazioni dei personaggi.


EIKO OBA ha lavorato come“animation supervisor” per Kung Fu Factory durante gli ultimi sette anni. I suoi ultimi lavori includono UFC UNDISPUTED 2009. E' possibile contattarla tramite l'indirizzo e-mail eiko.oba@kungfufactory.com

« torna all'elenco sviluppo  •  tutti gli articoli correlati »

 
 
Solo i membri possono partecipare ai commentiiscriviti gratuitamente »
 

GD Programming GD Programming

sito web

galleria fotografica

GS programming

GS programmingLe categorie di suoni in un videogioco[di Davide Pensato] [01/10/2010]

Come abbiamo visto in precedenza, nel processo di produzione audio sono coinvolte molte figure professionali e i contenuti creati hanno caratteristiche diverse a seconda della loro funzione nel contesto del gioco. Possiamo individuare quattro categor...

[0]
 
Epic Games

Epic GamesProject Sword su dispositivi iOS[di Nicola Congia] [02/09/2010]

Project Sword di Epic, la vera star della conferenza di Apple la scorsa notte, è il primo gioco basato sull'Unreal Engine 3 per la piattaforma iOS, e molti pensano che questo sia un salto qualitativo importante in termini di grafica 3D per i disposi...

[0]
 
GS programming

GS programmingDiventare Audio Programmer[di Davide Pensato] [28/05/2010]

L'Audio Programmer è una figura professionale molto importante ma altrettanto difficile da trovare. È infatti un programmatore con competenze nel campo dell'audio. Come descritto in un precedente articolo, fino a qualche anno fa un programmator...

[0]
 
Operation Flashpoint: Dragon Rising

Operation Flashpoint: Dragon RisingStrategie per il tuning degli asset (parte 1)[di Alessandro Monopoli] [10/03/2010]

Per questo articolo usciamo un pochino dal seminato e non parleremo di cose direttamente legate con OF:DR. Vorrei discutere con voi di alcune strategie per il tuning degli asset, in particolare le texture, per poter avere la massima qualità in og...

[0]
 

tutti gli articoli di sviluppo »

  
  |  REGISTRATI »