La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Animazione interattiva di personaggi 3D con dinamica basata sulle posizioni Relatore :Laureanda: Prof. Marco SchaerfFiammetta Pascucci Correlatore: Prof.

Presentazioni simili


Presentazione sul tema: "Animazione interattiva di personaggi 3D con dinamica basata sulle posizioni Relatore :Laureanda: Prof. Marco SchaerfFiammetta Pascucci Correlatore: Prof."— Transcript della presentazione:

1 Animazione interattiva di personaggi 3D con dinamica basata sulle posizioni Relatore :Laureanda: Prof. Marco SchaerfFiammetta Pascucci Correlatore: Prof. Ingemar Ragnemalm Ing. Marco Fratarcangeli Università degli Studi di Roma La Sapienza Laurea Specialistica in Ingegneria Informatica

2 Dipartimento di Informatica e Sistemistica Università di Roma "La Sapienza" Fiammetta Pascucci Obiettivo Creare una caduta realistica di un personaggio 3D tra oggetti presenti nello spazio. Studio di tecniche e metodologie. Articolare un personaggio 3D. Rivestire il personaggio 3D. Considerare il problema delle collisioni tra oggetti nello spazio.

3 Dipartimento di Informatica e Sistemistica Università di Roma "La Sapienza" Fiammetta Pascucci Caduta della Ragdoll

4 Dipartimento di Informatica e Sistemistica Università di Roma "La Sapienza" Fiammetta Pascucci Sommario Background. Articolare un personaggio 3D. Rivestimento del personaggio 3D. Collision Detection. Risultati, Conclusioni & Lavori Futuri.

5 Dipartimento di Informatica e Sistemistica Università di Roma "La Sapienza" Fiammetta Pascucci Contesto Lanimazione di un personaggio virtuale è un processo arduo da realizzare. Lessere umano è composto da più di 208 ossa. I movimenti di un essere umano sono il risultato di molti gradi di libertà. La definizione e il controllo del movimento sono tematiche di notevole interesse nellambito della ricerca scientifica.

6 Dipartimento di Informatica e Sistemistica Università di Roma "La Sapienza" Fiammetta Pascucci Tecniche di animazione: Lanimazione basata sulla fisica Lanimazione basata sulla fisica: è una tecnica che sta riscuotendo molto successo negli ultimi anni. E basata sulle leggi della fisica. Gli oggetti si muovono sotto le leggi fisiche. Utilizzata in molti videogiochi per dare maggior realismo.

7 Dipartimento di Informatica e Sistemistica Università di Roma "La Sapienza" Fiammetta Pascucci Tecniche di animazione: La fisica della Ragdoll La fisica della Ragdoll: tecnica largamente usata nella gestione della fisica dei corpi. E un tipo di animazione procedurale usata per generare automaticamente animazioni in tempo reale. Permette grande naturalezza ai corpi. Di solito un personaggio è in stati di incoscienza allinterno dellambiente.

8 Dipartimento di Informatica e Sistemistica Università di Roma "La Sapienza" Fiammetta Pascucci Concetti matematici necessari per la Ragdoll Physics Sistema a particelle: E composto da un set di particelle. Ogni particella ha associata: - una posizione - una velocità - una massa. Il sistema a particelle permette di realizzare una copia delloggetto reale.

9 Dipartimento di Informatica e Sistemistica Università di Roma "La Sapienza" Fiammetta Pascucci Concetti matematici necessari per la Ragdoll Physics Il moto delle particelle è stato realizzato con lintegratore di Verlet. I vincoli sono risolti con un metodo iterativo. Le collisioni sono risolte con delle proiezioni.

10 Dipartimento di Informatica e Sistemistica Università di Roma "La Sapienza" Fiammetta Pascucci Metodo di Verlet Usato per avere più stabilità nella traiettoria della particella. Riduce il livello di errore introdotto nel passo di integrazione. La simulazione è stabile e veloce. La posizione al successivo istante di tempo (t 0 + 1): - posizione al precedente istante di tempo (t 0 -1) - posizione al corrente istante di tempo (t 0 )

11 Dipartimento di Informatica e Sistemistica Università di Roma "La Sapienza" Fiammetta Pascucci Metodo di Verlet Posizione al prossimo time step: x ( t 0 + Dt ) = x ( t 0 ) + ( x ( t 0 ) - x ( t 0 - Dt ) ) + aDt = 2 x (t 0 ) – x ( t 0 - Dt ) + aDt x ( t0 + Dt ) = posizione futura x ( t0 ) = stato corrente x ( t0 - Dt ) = stato precedente La formula finale è: x ( t 0 + Dt ) = 2 x (t 0 ) - x ( t 0 - Dt ) + aDt + O ( Dt ) In un singolo instante di tempo la nuova posizione viene calcolata Lintegrazione di Verlet deriva dalla serie di Taylor. Lespansione di Taylor al tempo t o

12 Dipartimento di Informatica e Sistemistica Università di Roma "La Sapienza" Fiammetta Pascucci Quaternioni E un vettore in 4 dimensioni q = [s, x, y, z] S= angolo di rotazione, XYZ = asse di rotazione. Non soffrono del Gimbal lock. La rotazione fatta attorno ad un asse può comprire la rotazione su un altro asse. Se il pitch è a 90° la yaw e roll si possono annullare a vicenda. Reference: : Paolo Cignonihttp://vcg.iei.pi.cnr.it/~cignoni/CI0405/CI_Lez21.pdf Spherical linear interpolation, interpolazione tra quaternioni. La matematica che cè dietro non è intuitiva.

13 Dipartimento di Informatica e Sistemistica Università di Roma "La Sapienza" Fiammetta Pascucci Articolare un personaggio 3D Generare movimenti simili allessere umano. La ragdoll è stata creata mediante il metodo utilizzato nellarticolo:Advanced Character Physics di Thomas Jakobsen (2001) La ragdoll è composta: - 16 particelle vincoli di equidistanza. Le particelle rappresentano le giunture. I vincoli di equidistanza rappresentano le ossa.

14 Dipartimento di Informatica e Sistemistica Università di Roma "La Sapienza" Fiammetta Pascucci La ragdoll è composta da due importanti vincoli: Vincolo di equidistanza: è un vincolo tra due particelle inserito dopo aver calcolato la distanza che le separa. Vincolo di giuntura: è un vincolo di movimento con il quale vengono limitate le rotazioni. Articolare un personaggio 3D

15 Dipartimento di Informatica e Sistemistica Università di Roma "La Sapienza" Fiammetta Pascucci Vincolo per la giuntura spalla Secondo passo: cambiare le coordinate spaziali in coordinate nellorigine. X Y Z Coordinate spaziali X Y Z Coordinate nellorigine Spalla Gomito Mano LEGENDA Primo passo: considerare i gradi di libertà.

16 Dipartimento di Informatica e Sistemistica Università di Roma "La Sapienza" Fiammetta Pascucci Allowed Area Z Y Plane YZ 175° X Y Plane XY 120° X Z Plane XZ 165° LEGENDA SPALLA GOMITO MANO DEF REGION REGION BEGIN REGION END

17 Dipartimento di Informatica e Sistemistica Università di Roma "La Sapienza" Fiammetta Pascucci PIANO XY: senza vincolo

18 Dipartimento di Informatica e Sistemistica Università di Roma "La Sapienza" Fiammetta Pascucci PIANO XY: con il vincolo

19 Dipartimento di Informatica e Sistemistica Università di Roma "La Sapienza" Fiammetta Pascucci Vincoli per le giunture Lalgoritmo presentato è stato pensato per costruire tutte le giunture che sono presenti nella ragdoll. Per ogni giuntura si sono considerati i gradi di libertà associati. Si è costruita una allowed area. Se si è fuori dalla allowed area si pensato di ritornare o più vicino alla region begin o alla region end.

20 Dipartimento di Informatica e Sistemistica Università di Roma "La Sapienza" Fiammetta Pascucci Rivestimento della ragdoll Rivestimento del personaggio mediante lutilizzo della tecnica Simplified skin from points. Il busto. Laddome. Le braccia. Le gambe. Il collo.

21 Dipartimento di Informatica e Sistemistica Università di Roma "La Sapienza" Fiammetta Pascucci Il busto E formato da 5 particelle. Calcolare il punto centrale del pentagono. Calcolare cinque punti che si trovano tra il centro del pentagono e gli angoli. Inserire un set di triangoli tra i punti trovati. Ripetere il calcolo anche per la parte posteriore del busto.

22 Dipartimento di Informatica e Sistemistica Università di Roma "La Sapienza" Fiammetta Pascucci Collision Detection E un problema fondamentale in computer animation. Capire, dato un oggetto, quale sarà la posizione finale che loggetto assumerà dopo la collisione. La penetrazione del piano. Collisione con delle sfere.

23 Dipartimento di Informatica e Sistemistica Università di Roma "La Sapienza" Fiammetta Pascucci Collisione con il piano Per tutte le particelle: - Calcolare la distanza tra le particelle e il piano. - Quando una particella è in una posizione non valida la particella verrà riflessa sul pavimento. - Si sono considerati i coefficienti damp riflessione del pavimento. Pavimento Inter-penetrazione della particella Proietto sopra alla superficie

24 Dipartimento di Informatica e Sistemistica Università di Roma "La Sapienza" Fiammetta Pascucci Collisioni con le sfere Per tutte le particelle: - Calcolare la distanza tra la posizione della particella il centro della sfera. - Se la distanza è minore del raggio proietterò la particella al di fuori della sfera. Tutto dipende dal raggio della sfera. Raggio Nuova posizione Posizione non valida

25 Dipartimento di Informatica e Sistemistica Università di Roma "La Sapienza" Fiammetta Pascucci Risultati

26 Dipartimento di Informatica e Sistemistica Università di Roma "La Sapienza" Fiammetta Pascucci Lavori futuri Rivestire la Ragdoll con un approccio più adeguato, ad esempio con la tecnica dello Skinning. Osservare cosa potrebbe succedere se gli oggetti con cui collide la ragdoll non fossero rigidi ma deformabili.

27 Dipartimento di Informatica e Sistemistica Università di Roma "La Sapienza" Fiammetta Pascucci Conclusioni Implementazione: Vincoli per le giunture della Ragdoll. Rivestimento della Ragdoll. Collisione della Ragdoll con delle grandi sfere. Risultati: Simulazione veloce e stabile. Caduta realistica.

28 Dipartimento di Informatica e Sistemistica Università di Roma "La Sapienza" Fiammetta Pascucci Conclusioni Riconoscimento: Tesi svolta presso la Linköping University con lettera di merito del Prof. Ingemar Ragnemal. Interagens s.r.l. Personaggi Animati Interattivi (PAI).


Scaricare ppt "Animazione interattiva di personaggi 3D con dinamica basata sulle posizioni Relatore :Laureanda: Prof. Marco SchaerfFiammetta Pascucci Correlatore: Prof."

Presentazioni simili


Annunci Google