Università di Roma “La Sapienza” Simulazione Interattiva di Capelli Marta De Cinti Relatore Prof. Marco Schaerf Correlatore Ing. Marco Fratarcangeli Anno accademico 2005/2006 Simulazione Interattiva di Capelli E’ stata realizzata: • Una tecnica per la simulazione di capigliature che è realistica e al contempo interattiva. Quindi: • La capigliatura appare credibile. • Il movimento dei capelli è fisicamente coerente. • L’animazione risponde in maniera plausibile ai movimenti della testa e alle forze, come la gravità, l’attrito dell’aria e l’azione del vento. Dipartimento di Informatica e Sistemistica - Università di Roma "La Sapienza" - Marta De Cinti Simulare i Capelli • La modellizzazione di capelli è un punto cruciale nell'animazione di personaggi sintetici. • La dinamica di un singolo capello è ormai ampiamente conosciuta, ma è ancora difficile realizzare una capigliatura nel suo complesso. • Le difficoltà principali sono: – Elevato numero di capelli da rappresentare. – La lunghezza e variabile geometria. – Loro complesse interazioni. Dipartimento di Informatica e Sistemistica - Università di Roma "La Sapienza" - Marta De Cinti Modellizzazione del capello • Tre caratteristiche principali del capello: – Aspetto • Geometria, densità, distribuzione, orientamento – Dinamica • Movimento del capello, collisioni con altri oggetti, collisioni tra capelli – Rendering • Colore, ombre, luce, trasparenza Dipartimento di Informatica e Sistemistica - Università di Roma "La Sapienza" - Marta De Cinti Metodo Proposto • Il modello fisico adottato si basa su un sistema di particelle. • Le particelle sono soggette a forze fisiche. • Il metodo di integrazione numerica scelto è il Metodo di Eulero esplicito. • Le particelle sono connesse mediante vincoli di equidistanza. Dipartimento di Informatica e Sistemistica - Università di Roma "La Sapienza" - Marta De Cinti Sistema di particelle • Particella: – – – – Posizione Velocità Accumulatore di forze Massa • Sistema di particelle: • Forze applicate: – Gravità – Attrito dell’aria – Azione del vento – Forza delle molle: • Molle lineari • Molle angolari – Insieme di particelle – Numero totale di particelle – Variabile del tempo Dipartimento di Informatica e Sistemistica - Università di Roma "La Sapienza" - Marta De Cinti Sistema di particelle • Molle lineari: – sono state introdotte per compensare la deriva numerica dovuta al calcolo delle forze vincolari. • Molle angolari: – limitano la flessione del capello. – vengono realizzate mediante molle lineari. Dipartimento di Informatica e Sistemistica - Università di Roma "La Sapienza" - Marta De Cinti Vincoli di Equidistanza • Vincoli di equidistanza tra particelle contigue. • Si sfrutta il principio dei lavori virtuali. • Si affronta il problema nel suo complesso e si considerano i vincoli di tutto il sistema contemporaneamente. Dipartimento di Informatica e Sistemistica - Università di Roma "La Sapienza" - Marta De Cinti Modello a ciocche • Con il modello fisico viene realizzato solo un ridotto numero di capelli guida. • Le ciocche di capelli sono rappresentate mediante superfici parametriche bidimensionali: Superfici di Bézier. • Le superfici vengono disegnate mediante poligoni triangolari. • Viene applicata una texture di capelli. Dipartimento di Informatica e Sistemistica - Università di Roma "La Sapienza" - Marta De Cinti Superfici di Bézier • Punti di controllo (16 punti di controllo: 4 capelli con 4 particelle) • Le particelle dei capelli guida rappresentano i punti di controllo. • Molle orizzontali per mantenere la ciocca più compatta. Dipartimento di Informatica e Sistemistica - Università di Roma "La Sapienza" - Marta De Cinti Generazione Capigliatura • Carica mesh poligonale della testa. • Carica posizione delle radici dei capelli da un file realizzato con 3ds Max. • Genera i capelli guida. • Genera le ciocche e le molle orizzontali. • Ciclo di simulazione. • Collisioni con la testa: – La testa è approssimata con una sfera. • Rendering: – Le ciocche vengono disegnate tre volte. Dipartimento di Informatica e Sistemistica - Università di Roma "La Sapienza" - Marta De Cinti Risultati • Il metodo può essere implementato per qualsiasi tipo di capigliatura. • Sono state realizzate due diverse capigliature: – capelli corti e scalati • 140 capelli guida • 35 patch bidimensionali • 560 particelle – capelli più lunghi • 120 capelli guida • 30 patch • 480 particelle Dipartimento di Informatica e Sistemistica - Università di Roma "La Sapienza" - Marta De Cinti Risultati • Le prestazioni risultano dipendenti da alcuni parametri utilizzati. • Per simulazione stabile, time step: 0.002 s. • Il frame rate risulta fortemente dipendente da alcune scelte di progettazione: – diminuisce gradualmente all'aumentare del numero di patch. – risulta inversamente proporzionale al numero di tassellazioni scelto per le superfici. – Disegnare le patch tre volte, incide pesantemente. Dipartimento di Informatica e Sistemistica - Università di Roma "La Sapienza" - Marta De Cinti Conclusioni • L’uso di strisce 2D ha portato ottimi risultati. – Grazie al ridotto numero di punti di controllo da gestire, è stato possibile realizzare un'animazione interattiva. – L'aspetto volumetrico della capigliatura non sempre viene reso perfettamente. • L’uso di molle orizzontali ha migliorato il modello. – Le superfici tendevano a deformarsi eccessivamente. – Le superfici rimangono più compatte. Dipartimento di Informatica e Sistemistica - Università di Roma "La Sapienza" - Marta De Cinti Prospettive future • I capelli guida danno al modello poca ondulazione. – E’ dovuto alle caratteristiche delle superfici di Bezier. – Una delle possibilità di sviluppo è implementare un modello in cui i capelli risultino più ricci. • Le collisioni con la testa possono essere migliorate. – Si potrebbe approssimare la testa con un oggetto geometrico più complesso oppure utilizzare bounding box gerarchico. • Si possono realizzare le collisioni tra capello e capello. – Si potrebbero realizzare collisioni tra patch bidimensionali. Dipartimento di Informatica e Sistemistica - Università di Roma "La Sapienza" - Marta De Cinti Sistema di Particelle • Ogni particella è caratterizzata da: – – – – Posizione Velocità Accumulatore di forze Massa Dipartimento di Informatica e Sistemistica - Università di Roma "La Sapienza" - Marta De Cinti Sistema di particelle • Sistema di particelle: – Insieme di particelle – Numero totale di particelle – Variabile del tempo Dipartimento di Informatica e Sistemistica - Università di Roma "La Sapienza" - Marta De Cinti Sistema di particelle • Forze applicate: – – – – Gravità Attrito dell’aria Azione del vento Molle: • Molle lineari • Molle angolari Dipartimento di Informatica e Sistemistica - Università di Roma "La Sapienza" - Marta De Cinti Vincoli di Equidistanza • Principio dei lavori virtuali. • Si affronta il problema nel suo complesso e si calcolano i vincoli di tutto il sistema contemporaneamente• Equazione matriciale da risolvere è : Dipartimento di Informatica e Sistemistica - Università di Roma "La Sapienza" - Marta De Cinti Vincoli di equidistanza Vettore di Stato Matrice delle Masse Vettore delle Forze Funzioni globali dei vincoli Jacobiano di C Derivato rispetto al tempo dello Jacobiano Moltiplicatori di Lagrange Dipartimento di Informatica e Sistemistica - Università di Roma "La Sapienza" - Marta De Cinti