• Non ci sono risultati.

Tecniche di animazione di personaggi virtuali basate sulla

3.1 Tecniche di motion control

3.1.3 Tecniche di animazione di personaggi virtuali basate sulla

Il moto può essere definito come il mutamento di posizione di un oggetto rispetto a un sistema di riferimento e la meccanica è la scienza che studia il movimento degli oggetti. Per scopi pratici, questa disciplina è stata suddivisa in due parti:

• la cinematica che si occupa di descrivere quantitativamente e geometricamente il moto dei corpi (in termini di posizione, velocità e accelerazione dei corpi).

provocano il moto di un corpo in relazione alla sua accelerazione e alla sua massa.

Questa distinzione porta a generare due classi distinte di tecniche per animare figure articolate, i metodi basati sulla cinematica e quelli basati sulla dinamica appunto.

3.1.3.1 Tecniche di animazione di umani virtuali basate sulla

cinematica. Descrizione dei problemi della cinematica

inversa e della cinematica diretta

Le tecniche di controllo del movimento di personaggi 3D basate sulla cinematica possono essere applicate sia alla loro manipolazione che alla loro animazione. La manipolazione di una figura virtuale articolata è simile alla manipolazione di un pupazzo, l’obiettivo consiste nell’ottenere una determinata postura. Una prima opzione consiste nel controllare la rotazione relativa dei segmenti modificando gli angoli dei giunti articolari. La determinazione della postura corrispondente a un dato set di valori che definiscono l’angolo di inclinazione dei giunti è un problema definito, in robotica, come cinematica diretta.

Quando, invece, ai fini della manipolazione è più rilevante la posizione di una singola parte del corpo (end-effector) allora bisogna regolare l’angolo delle articolazioni in modo da ottenere la postura necessaria (per esempio, regolare l’angolo dei giunti articolari di spalla, gomito e polso in modo che la mano possa raggiungere un determinato oggetto). Questo problema, di più difficile soluzione rispetto alla cinematica diretta, è conosciuto come il problema della cinematica inversa (Inverse Kinematics o IK) ed è considerato vincolante nei confronti dell'insieme di possibili parametri di un giunto articolare. La soluzione di questo

problema è stata molto studiata prima in robotica, poi in computer grafica.

Tuttavia, il problema della cinematica inversa, in quanto fondato su di un’azione vincolante nei confronti dei giunti di una catena articolare, ha delle limitazioni e non dà garanzia che il movimento generato sia continuo o esatto.

Per quanto riguarda l'animazione ottenuta con cinematica diretta o inversa, la soluzione più semplice è quella di affidarsi ad animatori qualificati che definiscano manualmente le posizioni chiave di un dato movimento. Successivamente, le posizioni vengono interpolate in maniera fluida nel tempo per generare un set completo di fotogrammi necessario all’animazione. All’animatore e’ concesso di poter correggere una o più posizioni chiave del personaggio se queste non dovessero risultare corrette. Questa procedura è conosciuta come keyframing. Sebbene tediosa, essa permette la definizione precisa di movimenti anche molto complessi.

Le tecniche del keyframing e del motion capture si adattano a figure particolari, con dimensioni definite. Per risolvere questo problema, sono state sviluppate diverse tecniche di riadattamento del movimento. Un esempio dell'applicazione di tali tecniche sono le creature del videogioco Spore.

Sono state sviluppate anche diverse tecniche di animazione procedurale con lo scopo di generare movimenti specifici come camminare o afferrare. In alcuni casi è possibile controllare persino lo stile del movimento tramite l'impostazione di parametri di alto livello (per esempio, nel software denominato Character Studio).

3.1.3.2 Tecniche di animazione di umani virtuali basate sulla

simulazione dinamica. I problemi della dinamica diretta

e della dinamica inversa

Nel campo della robotica, sono stati sviluppati molti algoritmi di dinamica diretta per strutture con diversi gradi di libertà. Nell'animazione digitale, questi algoritmi sono stati applicati alla simulazione dinamica del corpo umano. Generalmente, dato un insieme di forze esterne (dovute alla gravità o al vento), forze interne (dovute ai muscoli) e forze di rotazione applicate ai giunti, un algoritmo di dinamica diretta calcola il movimento di un corpo articolato secondo le leggi della dinamica dei corpi rigidi. Questo metodo, con un minimo intervento da parte dell’animatore, può dare origine a risultati estremamente realistici. Questo succede, in particolar modo, quando si parla di animazioni 'passive' come, per esempio, la caduta di un corpo lungo una scalinata. Tuttavia, il fatto che l’animatore abbia solo un controllo indiretto, può essere un limite quando è necessario un controllo preciso dell’animazione.

Generalmente, nelle simulazioni dinamiche, elaborare un comportamento 'attivo' (come la deambulazione, per esempio) applicando forze di rotazione ai giunti secondo determinati parametri temporali è poco pratico se non estremamente difficoltoso. Questa classe di problemi viene definita dei problemi di dinamica inversa.

Il livello di dettaglio di una simulazione dinamica è un fattore da tenere in considerazione, soprattutto in applicazioni real-time, come i videogames, dove i costi computazionali riducono il numero e la complessità dei personaggi che possono essere animati contemporaneamente.

In ogni caso, in una simulazione dinamica, avere maggior controllo sul risultato finale significa pianificare fin dall'inizio l’interazione con l’ambiente. In questo modo collisioni non previste non possono essere elaborate autonomamente dal sistema.

3.1.3.3 Altri aspetti relativi all’animazione di personaggi 3D

La richiesta di mondi virtuali online è in continua crescita. Ai personaggi 3D, sempre più numerosi e diversificati, che popolano questi ambienti è richiesta un’ampia gamma di abilità motorie da utilizzare a seconda delle necessità. Il conseguimento di questo obiettivo richiede la produzione di classi di movimento che riflettano determinate abilità e la possibilità di combinare insieme movimenti diversi in modo da crearne di nuovi.

La produttività dei processi (pipeline) di animazione di personaggi 3D aumenta ogni anno ma resta, allo stato attuale, comunque bassa. Questo dipende, principalmente, da due fattori: l’intrinseca complessità del corpo umano e la nostra estrema sensibilità a percepire anche i più piccoli difetti di un movimento artificiale. Per risolvere questi problema, la ricerca si sta orientando verso la riusabilità di sequenze di movimento ottenute con tecniche di motion capture e di simulazione fisica. L’obiettivo di queste ricerche è di conservare la maggior parte delle dinamiche naturali del movimento attraverso l’uso di vincoli aggiuntivi sia durante l’eventuale fase di editing che durante il processo di generalizzazione che permette a un dato movimento di essere applicato su di uno scheletro differente. Un’architettura basata sulla cinematica inversa può essere determinante nello sviluppo di un sistema di ‘retargeting’ di questo tipo, soprattutto se associata al controllo del centro di massa. Tra le difficoltà riscontrate in questo tipo di ricerca c'è, inoltre, la mancanza di uno standard universalmente diffuso di rappresentazione dello scheletro umano. Un tentativo di realizzare tale standardizzazione ha dato origine, nel 2003, allo H-Anim (http:: h-anim).

Altri aspetti che i ricercatori stanno cercando di sviluppare per rendere sempre più efficaci e realistiche le tecniche di motion control fanno riferimento alle neuroscienze (per quanto riguarda i meccanismi neurali alla base del movimento) e alla biomeccanica (per quanto riguarda la distribuzione delle forze all’interno

del corpo).

Documenti correlati