Centro di Massa, strumenti e tecniche per animare il naturale movimento umano.
Una lamentela comune dei consumatori sulla computer animation (specialmente nell’ industry dei videogiochi) riguarda i movimenti “a bambola” che spesso vengono eseguiti dai personaggi. Quando due modelli entrano in contatto l'un l'altro in un gioco di combattimento o quando devono oltrepassare delle strutture in maniera acrobatica, esistono parecchie difficoltà da affrontare. In questo articolo parleremo di alcune tecniche per l'analisi del movimento umano che possono essere applicate per dare un aspetto più naturale alle animazioni dei vostri personaggi.
Prima di entrare nell'industria del software 3D ero una ginnasta e ho anche lavorato come insegnante di ginnastica. Durante quel periodo, mi esercitavo continuamente per raggiungere il giusto tempismo, velocità, equilibrio e angolazione di una mossa. Ripetevo e correggevo la mia tecnica fino a quando non riuscivo a eseguirla perfettamente ogni volta. Attraverso queste esperienza, ho migliorato le mie abilità per eseguire, analizzare e insegnare questi movimenti.
Quando insegnavo, ho anche studiato fisiologia e chinesiologia applicata allo sport, concentrandomi sui meccanismi del corpo umano in movimento. Ho imparato come analizzare la fisica del movimento umano attraverso formule matematiche, che mi hanno aiutato a capire in che modo i muscoli generano l'energia necessaria ad eseguire un movimento.
Sono stato assunto dalla Kung Fu Factory per monitorare il team delle animazioni e aiutare a migliorare la qualità delle animazioni della compagnia. Con gli anni ho capito che animare dei personaggi in uno spazio 3D non è così diverso da insegnare ginnastica, e la mia analisi del movimento è stata abbastanza decisiva al fine di creare animazioni di qualità. Quando si può analizzare una movenza e capirne la cinetica che sta dietro di essa, si possono creare animazioni migliori e più naturali – e persino più veloci.
Il come e il perchè del centro di movimento
Alcuni animatori molto abili hanno la capacità di disegnare e ricreare facilmente i movimenti umani, ma la maggior parte non può. Nel nostro studio incoraggiamo gli animatori a usare video di riferimento che mostrano una persona che esegue l'azione che dovranno poi ricreare nell'animazione. Questo li aiuta a capire meglio il movimento, ma non è abbastanza.
Un elemento decisivo, e spesso sottovalutato, del movimento è rendersi conto del centro di massa, o centro di gravità, del personaggio (mi riferirò a entrambi come
CDM).
Il
centro di gravità è un punto in cui l'intero peso di un corpo è concentrato in modo che, se retto su quest'unico punto, il corpo rimane bilanciato in qualsiasi posizione. L'equilibrio e il movimento risentono sempre della gravità. In qualità di ginnasta, ho imparato a controllare e adattare il CDM del mio corpo in modo da eseguire diverse azioni. Roteare, bilanciarsi e via di seguito, tutte queste azioni richiedono un adattamento del CDM. Anche alcuni animatori che praticano arti marziali capiscono questo concetto e il modo in cui il CDM ondeggia e adatta in modo appropriato il corpo di un personaggio.
L'adattamento del CDM è qualcosa che avviene naturalmente nella vita reale quando si compiono delle azione come ballare, correre e cosi via, ma non è facile ricrearlo in un personaggio virtuale.
Calcolare la posizione del CDM non è difficile quando un uomo sta dritto in piedi. Di solito si trova nei pressi del basso ventre, situato circa a poco più della metà dell'altezza del corpo. Quando un personaggio si muove diventa più complicato perché la posizione del CDM cambia costantemente. Per esempio, mentre ci pieghiamo in avanti da una posizione eretta, il CDM comincerà ad adattarsi e a muoversi anch'esso in avanti. Ad un certo punto il nostro CDM si sposterà così tanto in avanti che rischieremmo di cadere se non facessimo qualcosa per recuperare l'equilibrio. Questo cambiamento della posizione del CDM rappresenta il flusso principale del movimento che stiamo eseguendo (in questo caso piegarsi in avanti) e prende il nome di traiettoria del CDM.
Se si riesce ad animare dei personaggi in modo appropriato e con la corretta traiettoria del CDM, si muoveranno molto più realisticamente.
Per fare ciò, bisogna conoscere la fisica dietro a un movimento da riprodurre e come queste si rapportano con il CDM. La forza di gravità è un esempio ovvio. Ogni oggetto sulla Terra risente della gravità. Per capire in che modo essa influisca sul CDM, possono essere di aiuto dei calcoli fisici. Quando lavoro con gli animatori, uso Excel per mostrare una simulazione fisica e come un movimento risente della gravità.
Nella sezione seguente mostrerò il processo per simulare la fisica usando Excel, insieme a un tool che mostra la traiettoria del CDM, usato per esaminare se quest'ultimo si muove naturalmente.
Simulazione della fisica utilizzando excel
Quando si crea un'animazione in 3D, si manipolano tre “transform controller” (traslazione, rotazione e scala). Ognuno di questi controller è suddiviso in tre componenti: x, y, z. Capire la relazione tra questi componenti è molto importante.
Nei giochi è possibile che questi movimenti abbiano bisogno di essere esagerati, ma capire la fisica che sta dietro di essi conferisce le nozioni fondamentali per creare una base realistica. Da questa base l'animazione può essere sviluppata e adattata per andare incontro alle aspettative di ciò che si vuole riprodurre.
Il vantaggio di usare Excel è che, una volta che si setta in maniera appropriata la formula, il risultato dei calcoli viene aggiornato immediatamente insieme alle variabili. Excel può anche esportare una rappresentazione, sotto forma di un grafico, di come il CDM dovrebbe muoversi. In questo modo, la traslazione e la rotazione del CDM viene spezzettata nelle componenti x, y, e z, che possono essere usate come un aiuto visivo di riferimento.
I componenti verranno descritti in un piano x, y (ignoreremo la profondità) come x = orizzontale e y = verticale.
Caduta libera: gravità e accelerazione
I personaggi in un mondo 3D non hanno peso. Per fare in modo che qualcosa si comporti come se avesse un peso, bisogna simulare l'accelerazione gravitazionale. L'esempio più facile è una caduta libera.
Quando un oggetto cade senza accelerazione oltre a quella conferita dalla gravità, la distanza di caduta (y), può essere calcolata con questa formula:

Fig. 1
La
figura 1 mostra questa formula in un grafico sotto forma di linea. Calcolare questa curva darà agli animatori una buona base per creare un'animazione di caduta realistica. Prendiamo la stessa accelerazione e applichiamola al canale di traslazione verticale del software 3D (che è Z, ma a volte potrebbe anche essere Y in base al prodotto).
Come si può notare dalla formula, questo è un movimento con accelerazione costante (g = 9.8). La distanza (y) ad ogni incremento del tempo cresce pian piano. Si tratta di una formula comune ma non sempre viene utilizzata per la creazione di un'animazione in un gioco. Se l'accelerazione non è costante la caduta risulterà a scatti.
Il modo più accurato di animare un accelerazione in modo appropriato è animare l'oggetto frame dopo frame, o se si vogliono usare meno comandi, si può provare ad adattare le tangenti.
Rovesciamenti: il pendolo inverso
Se il personaggio A mette K.O. Il personaggio B con un colpo, il corpo di quest'ultimo cade a terra, e viene applicata un'accelerazione gravitazionale. Se l'animazione non accelera durante la caduta, si otterrà un effetto “fluttuante” e si avrà l'impressione che l'oggetto non abbia peso.
In questo caso calcolare l'accelerazione non è facile come calcolare l'accelerazione gravitazionale, perché il piede è fissato al terreno. Il piede diventa un perno attorno a cui ruoterà il CDM. Questo processo conferirà alla traiettoria del CDM una forma ad arco. Questo meccanismo è complicato, dunque lo abbiamo spezzettato in un diagramma. Osserviamo la
figura 2.
Fig. 2
Questo movimento può essere descritto come un pendolo inverso con un perno statico. In questo caso la distanza dal perno (la posizione del piede) al CDM verrà denominata lunghezza del pendolo (I). Per i calcoli avremo bisogno dei seguenti componenti
– θ (posizione angolare)
– componente X (traslazione orizzontale del CDM)
– componente Y (traslazione verticale del CDM)
Prima bisogna calcolare θ. Si tratta di un'equazione differenziale che determina l'accelerazione.
Il primo integrale di movimento trovato grazie alla formula di cui sopra è:
Con la velocità si ottiene l'angolo (θ) Il risultato della simulazione è mostrato nella
Figura 3.
Una volta ottenuto l'angolo, la x e la y possono essere calcolate grazie a delle funzioni trigonometriche, come mostrato qui sotto. Anche queste vengono calcolate per ogni unità di tempo (come mostra la
Figura 3).
Quando la lunghezza = 0.6, se la caduta parte da un angolo iniziale di 5, l'angolo cambia nel tempo come mostrato nella colonna C della
figura 3 (bordo verde). Il valore è in radianti, non gradi. Le coordinate x e y sono mostrate nella colonna G (bordo rosso) e H (bordo blu).
Il grafico in alto a destra nella Figura 3 mostra le coordinate x e y. Potrebbe essere usato come riferimento per determinare la traiettoria del CDM in uno spazio 3D. Il grafico in basso mostra θ, che potrebbe essere la curva di rotazione del root bone.
Si noti come è stata usata una semplice integrazione numerica rettangolare per calcolare θ in Excel. Calcolando un'integrazione numerica in questo modo, i calcoli sono più accurati quando l'intervallo di tempo è piccolo. Si osservi la
figura 4 per una comparazione del risultato in due intervalli di tempo differenti.
Nella
figura 4, il lato sinistro del grafico mostra un intervallo di tempo pari a 0.01 – il lato destro invece mostra un intervallo pari a 0.0333. Quando si compara il tempo impiegato per raggiungere i 90 gradi (quando l'oggetto cade disteso a terra), il tempo (t) dell'intervallo 0.01 è 1.320 sec, circa 0.08 sec più veloce rispetto al tempo (t) dell'intervallo 0.0333. Dunque se si effettua la simulazione con intervalli di tempo piccoli si ottiene un risultato più accurato.
Se si effettuano gli stessi calcoli in un package 3D, a 30fps si otterrebbe lo stesso risultato della tabella a destra, che non è così accurato come quello a sinistra. Se è necessario ottenere valori ancora più accurati, l'ideale è settare dei “sub-intervalli” tra un frame e l'altro in modo da calcolare un'integrazione ancora più precisa.
La stessa simulazione può essere fatta anche usando max script (vedi
figura 5). La comparazione tra tre diverse lunghezze di pendoli dimostra come la velocità di caduta (velocità) sia inversamente proporzionale alla lunghezza (I).
(Fine prima parte)
Articolo originale di: EIKO OBA. Ha lavorato come "animation supervisor" per Kung Fu Factory durante gli ultimi sette anni. I suoi ultimi lavori includono UFC UNDISPUTED 2009. È possibile contattarla tramite l'indirizzo e-mail: eiko [dot] oba [at] kungfufactory [dot] com