270 likes | 427 Views
ZAVRŠNI RAD br. 49 5 POSTUPCI SIMULACIJE VLAKNASTIH OBJEKATA. Hrvoje Pađen. Mentor: Prof. dr. sc. Željka Mihajlović. Sadržaj. Uvod Metode modeliranja vlaknastih objekata Model čestica povezanih oprugama Implementacija Zaključak. Uvod. Vlaknasti objekti: kosa, krzno, trava...
E N D
ZAVRŠNI RAD br. 495 POSTUPCI SIMULACIJE VLAKNASTIH OBJEKATA Hrvoje Pađen Mentor: Prof. dr. sc. Željka Mihajlović
Sadržaj Uvod Metode modeliranja vlaknastih objekata Model čestica povezanih oprugama Implementacija Zaključak
Uvod Vlaknasti objekti: kosa, krzno, trava... Zahtjev za realističnim simulacijama Filmska industrija, industrija video igara
Prepreke ostvarenju simulacija • Vlastita dinamika vlaknastih objekata • Međusobna kolizija i kolizija s drugim objektima • Prirodne karakteristike • Vanjski efekti • Efekti svjetla i sjene
Metode modeliranja vlaknastih objekata Modeliranje poligonima i teksturama Model slojeva tekstura Metoda super zavojnica Model čestica povezanih oprugama
Modeliranje poligonima i teksturama Rade se 3D modeli kose s malim brojem poligona na koje se “lijepe” teksture Prednosti: jednostavno, mali utrošak resursa Nedostaci: nerealističnost, nedovoljna nezavisnost Primjenjuje se na mjestima gdje je brzina izračuna važnija od realističnosti - videoigre
Modeliranje poligonima i teksturama Drugi način: modeliranje trakama poligona Rade se teksture koje u profilu izgledaju kao pojedinačne vlasi kose te se prikazuju na vertikalno posloženim poligonima Prednosti: jednostavno Nedostaci: nerealističnost, ovisnost o kutu gledanja Moguća rješenja: ukošavanje, Billboarding
Primjer Trake poligona Billboarding
Model slojeva tekstura Prikaz više slojeva istih teksturakoje su jedna ispod druge – dobiva se dojam volumena Prednosti: jednostavno, mali utrošak resursa Nedostaci: nerealističnost kod pogleda izbliza i iz profila
Metoda super zavojnica Razvijena u suradnji s L’Orealom Temelji se na teoriji motki Prednosti: najrealističniji prikaz od svih metoda Nedostaci: jako velika potrošnja resursa, nemogućnost prikaza u stvarnom vremenu za veći broj vlasi
Metoda čestica povezanih oprugama • Može se prikazati kao dva čvora između kojih se nalazi elastična opruga koja ih spaja • Svaki čvor ima svojstva: • Brzinu • Poziciju • Masu • Silu
Metoda čestica povezanih oprugama • Računaju se: • Unutarnje sile (između čestica, sile opruge): • Unutarnja sila trenja • Elastična sila • Vanjske sile: • Gravitacijska sila • Razne druge sile uzrokovane vanjskim faktorima (npr. vjetar)
Metoda čestica povezanih oprugama Sve sile koje djeluju na česticu se zbrajaju Na temelju ukupne sile i mase se određuje brzina čestice u 3D prostoru Dobivenom brzinom se određuje pomak čestice Opruga nema mase te se za nju ne računa utjecaj sila
Implementacija Jezik: C# Razvojna okolina: Visual Studio 2008 XNA Game Studio 3.0
Programsko rješenje • 3 glavne klase: • Čvor • Opruga • SimulacijaModela
Klasa Čvor Sadrži sva svojstva čvora (brzina, pozicija...) Sadrži metode koje izračunavaju silu i poziciju čvora
Klasa Opruga Sadrži instance klase Čvor te varijable i metode koje služe za računanje sila opruge Opisuje odnose među čvorovima
Klasa SimulacijaModela Klasa koja služi za spajanje čvorova i opruga u jednu cjelinu Jedna instanca klase = jedna vlas Sadrži metode za inicijalizaciju, crtanje te simulaciju ponašanja vlasi
Odnos klasa 2..n Utječe na ponašanje 1..n-1
Rezultati Simulacija teorijski ispravna U praksi dosta problema i nerealistično ponašanje Uvođenje prigušenja, precizno podešavanje parametara Rezultat: poboljšanje ponašanja simulacije Negativni efekti: usporena simulacija zbog prigušenja, veći utrošak računalnih resursa
Moguća poboljšanja Precizniji opis modela promjenom konstanti i uvođenjem dodatnih sila Detaljnije proučavanje ponašanja kose Međusobna kolizija Kolizija s drugim objektima
Zaključak Model čestica povezanih oprugama – relativno jednostavan model za prikaz vlaknastih objekata Povećavanje kompleksnosti Povećavanje realističnosti Veći utrošak računalnih resursa Smanjenje performansi
Zaključak Model čestica povezanih oprugama dobar za prikaz manjeg broja vlaknastih objekata Oko 100 do 150 vlasi na prosječnom računalu Za veći broj performanse drastično padaju Neučinkovit za prikazivanje u stvarnom vremenu