SVEUČILIŠTE U ZAGREBU FAKULTET ELEKTROTEHNIKE I RAČUNARSTVA ZAVRŠNI RAD br. 1706 Priprema 3D modela za animaciju lica Mile Balenović Zagreb, lipanj 2011. Mojoj majci koja me tjerala učiti... Sadržaj 1.Uvod ............................................................................................................ 1 2. Visage|SDK ................................................................................................ 2 2.1. Visage|SDK alati .................................................................................. 2 2.2. Visage|life ............................................................................................ 3 2.3. FaceGen2AFM..................................................................................... 7 3. FaceGen .................................................................................................... 9 3.2. Značajke FaceGen-a ........................................................................... 9 3.2. FaceGen sučelje ................................................................................ 11 3.3. Konverzija FG modela u AFM ............................................................ 13 4. White Dune .............................................................................................. 15 4.1. White Dune sučelje ............................................................................ 16 4.2. Tehnike editiranja u White Dune-u ..................................................... 18 5. Rezultati animacije poboljšanih interpolacijskih ciljeva ............................. 20 6. Zaključak .................................................................................................. 21 7. Literatura .................................................................................................. 22 8. Sažetak .................................................................................................... 23 9. Abstract .................................................................................................... 24 10. Skraćenice ............................................................................................. 25 1.Uvod Ljudsko lice je najvažnija i najmisterioznija površina s kojom se svakodnevno susrećemo. Jednom davno je Khalil Gibran, američki pjesnik, rekao: „Ljepota nije u licu, ljepota je svjetlost u srcu.“ Naravno, Khalil se nije susreo s animacijom ljudskog lica. Animacijom ljudskog lica se u očima promatrača doima kao da lik govori i gestikulira. Primjena je veoma široka, prvenstveno industrija zabave (filmovi, video igre, itd.), a potom i marketing, obrazovanje, kriminalistika, medicina i mnoge druge. Postoji više metoda animacija, a mi ćemo se u ovom radu pozabaviti miješanjem oblika (eng. morphing). Cilj ovog završnog rada je proučiti postojeći sustav za animaciju ljudskih lica dostupan na Zavodu za telekomunikacije s posebnim naglaskom na metodu pripreme interpolacijskih ciljeva (eng. morph target) za animaciju ljudskih lica na modelima dobivenim iz sustava za modeliranje FaceGen. Interpolacijski ciljevi su izobličena verzija nekog oblika.Prvo je modelirana čovjekolika glava s neutralnim izražajem, a potom izobličena u druge izražaje (npr. ljutnja, tuga, sreća, itd.). Ti isti interpolacijski ciljevi će se editirati s ciljem poboljšanja, te će se analizirat rezultati animacije sa poboljšanim interpolacijskim ciljevima. Na početku rada sam opisao Visage|SDK alate, posebice one korištene za potrebe izrade praktičnog dijela ovog završnog rada. Potom slijede opisi i karakteristike alata FaceGen i White Dune te upute za rad u njima. U zadnjem poglavlju se nalaze rezultati animacija poboljšanih interpolacijskih ciljeva. 1 2. Visage|SDK Visage|SDK je skup programskih rješenja za animaciju virtualnih likova s posebnim naglaskom na animaciju lica. Isporučuje se uz veoma temeljitu dokumentaciju, uzorke projekata i virtualne likove, animacije i druge datoteke uzoraka omogućujući gotovo trenutno korištenje tehnologija za vlastite potrebe i u vlastitim projektima. Glavne značajke ovog paketa su: Mnogobrojne interaktivne animacije lica i tijela iz različitih izvora (datoteke, proceduralne animacije, TTS, lip sync, itd.) Animacija u realnom vremenu pogonjena SAPI-5 sintezom govora Sinkronizacija usana u realnom vremenu s audio zapisom ili mikrofonom Prepoznavanje karakterističnih točaka lica u fotografijama Animacija virtualnog lika praćenjem lica (video) Podrška za MPEG-4 FBA (Face and Body Animation) standard 2.1. Visage|SDK alati Sljedeći alati su sadržani u Visage|SDK-u: Visage|life BehaviorPlayer – Generira govor i odgovarajuće animacije lica koristeći SAPI-5 Text-to-Speech i odmah ih prikazuje na ekranu. FaceDetector – Prepoznavanje karakterističnih točaka u slikama. FaceGen2AFM FaceTracker2 – Praćenje glave/karakterističnih točki lica u video datoteci ili u realnom vremenu iz kamere te animacija u realnom vremenu. FBACodec – Dekodira MPEG-4 .fba datoteku te dobiva FBAP-ove , CodingParameter-e i vrijeme za svaki okvir animacije te obrnuto (dekodiranje). LipSync – Sinkronizira usne virtualnog lika sa audio datotekom ili mikrofonom u realnom vremenu. SimpleAnimation – Učitava virtualan lik (.afm datoteka) i animira model izravno mijenjajući vrijednosti FBAP-ova. 2 SimplePlayer – Iako ime daje naznaku da se radi o jednostavnom playeru, ovaj alat ima više funkcija; učitava virtualne likove, producira animacije likova iz FBA datoteka, dodaje druge izvore animacije, može koristiti više animacija iz različitih izvora zajedno u isto vrijeme i sprema kombinirane animacije u MPEG-4 FBA datoteke. SpeechSynthesis – Ima istu funkciju kao BehaviorPlayer uz dodatak da uz korištenje FAPlayera dinamički ubacuje dodate akcije (geste, pokrete, itd.) u animaciju temeljenu na oznaci u ulaznom tekstu. FBXCoverter – Učitava, sprema i prikazuje virtualne likove raznih formata (VRML, visage|AFM, FBX, COLLADA) te reproducira animacije iz FBA datoteka. TrainingTool – Komentira skupa slika lica korištenih za izvježbavanje aktivnog modela za praćenje karakterističnih točaka. VisageInteractive – Učitava, spaja i reproducira ključne okvire animacije u FBA formatu, sinkronizacija usana i .wav datoteka ili mikrofona, te sprema spojene animacije kao FBA datoteke. Kao što možemo vidjeti, sadrži mnoštvo alata za primjenu u animaciji. Opisi visage|life-a i FaceGen2AFM-a su namjerno izostavljeni budući da sam njih koristio u praktičnom dijelu završnog rada te ću njima posvetiti malo više prostora i detaljniji opis u sljedećim potpoglavljima. 2.2. Visage|life Visage|life je aplikacija kojom se priprema model virtualnog lika za animaciju u skladu s MPEG-4 FBA specifikacijom. Ovo su neke njegove značajke: Generira interpolacijske ciljeve potrebne za prirodnu i realnu animaciju lica koristeći odgovarajući algoritam za kloniranje. Sadrži skup modela lica s definiranim izražajem lica koji se može koristiti kao izvorni model za kloniranje. Mogućnost učitavanja modela lica i i cijelog tijela virtualnog lika u VRML (Virtual Reality Modeling Language) ili AFM (Animatable Face and Body Model) formatu. 3 Pohranjuje pripremljene interpolacijske ciljeve kao AFM modele s ciljem daljnjeg korištenja u drugim aplikacijama Visage-a. Intuitivno i jednostavno grafičko sučelje. Slika 1 Visage|life Prilikom pokretanja visage|life-a, otvaraju se 3 prozora: 1. Glavni prozor 2. Preglednik 3. Prozor konzole 4 Glavni prozor sadrži 3 padajuća izbornika: 1. File menu za učitavanje i pohranjivanje modela. Podržana su dva tipa modela: AFM – produžetak VRML-a koji podržava animacije kostura, kože i interpolacijskih ciljeva pomoću MPEG-4 FBA parametara. Virtualni likovi cijelog tijela koji već imaju animaciju tijela su pohranjeni kao AFM i visage|life ih jednostavno proširuje s podacima animacije lica. VRML – sadrži geometrijske, transformacijske i materijalne podatke. Ne podržava interpolacijske ciljeve. Jednostavni modeli lica (virtualni likovi bez tijela) su obično pohranjeni u ovom formatu te im se dodaje animacija lica u visage|life-u. 2. View menu za uključivanje prikaza FDP Editor-a i Cloner-a koje je moguće uključiti i klikom na FDP Editor i Cloner gumb u glavnom prozoru. U FDP Editoru definiramo ključne točke lica (npr. vrh nosa, početak uha, itd.) koje imaju važnu ulogu u samoj animaciji. Cloner je alat za jednostavno i brzo generiranje skupa interpolacijskih ciljeva. Umjesto ručnog modeliranja svakog interpolacijskog cilja, klonira se već postojeći AFM i potom obraĎuje u nekom od 3D aplikacija za modeliranje ako nismo zadovoljni rezultatom. 3. Help menu. Preglednik je malo složeniji, sadrži više opcija, ali je i dalje poprilično jednostavan. 5 Slika 2 Preglednik Sadrži: 1. Postavke prikaza – sadrži razne načine prikaza virtualnog lika. 2. Model virtualnog lika – prikazuje trenutnog virtualnog lika s mogućnošću njegove rotacije. 3. FBA Player – sadrži 2 opcije. Može reproducirati jednostavnu proceduralnu animaciju ili učitati animaciju iz FBA datoteke (visageSDK\Samples\OpenGL\data\animations\facial) i reproducirati je. 4. Alatnu traku za upravljanje interpolacijskim ciljevima – eksportira (plava ikonica) sve interpolacijske ciljeve trenutno prikazanog modela. Pohranjuje ih odvojeno u VRML datoteke skupa s FDP datotekom. Popis interpolacijskih ciljeva, referentne vrijednosti i imena su pohranjena u 6 odvojenoj datoteci MTD (Morph Target Description). Naravno, gdje ima eksportanja, ima i importanja pa tako crvena ikonica importa skup interpolacijskih ciljeva. Oni su pohranjeni u VRML datoteke, a korisnik mora odabrati MTD datoteku. Novi AFM je konstruiran iz trenutnog modela i učitanih interpolacijskih ciljeva. Osim importa/eksporta sadrži i listu izražaja lica kao i klizač za promjenu vrijednosti. 2.3. FaceGen2AFM Kao što samo ime sugerira, ova aplikacija se koristi za importanje FaceGen modela i pretvorbu u AFM s ciljem korištenja u Visage aplikacijama te animaciju i kopiranje interpolacijskih ciljeva izmeĎu modela lica identičnih topologija. Slika 3 FaceGen2AFM (Import a FaceGen model) - klikom na FG ikonu dolazimo do prozora za učitavanje FaceGen modela u VRML formatu. 7 (Copy facial motion from source model to target model) – opcija kopiranja interpolacijskih ciljeva izvornog modela na odredišni model lica. Ovu opciju koristimo kada imamo model koji nije animirljiv (ne sadrži interpolacijske ciljeve). Nakon ovog postupka, odredišni model postaje animirljiv. Ovo je moguće samo ako izvorni i odredišni model imaju identičnu hijerarhiju scenografije i mrežnu topologiju. (Load an animation) - ovaj gumb nas vodi do odabira animacije. U visage|SDK-u, animacije se nalaze u mapi visageSDK\Samples\OpenGL\data\animations\facial. (Play i stop current animation) – gumbi za upravljanje reproduciranjem animacije. U ovom poglavlju sam prošao kroz alate visage|SDK-a, posebice visage|life i FaceGen2AFM, a u sljedeća dva poglavlja ću obraditi preostala dva alata koja sam koristio u ovom završnom radu. 8 3. FaceGen FaceGen je middleware koji generira 3D lica tvrtke Singular Inversions. Korišten je u situacijama gdje je potreban veliki broj mogućih lica, bilo slučajnim odabirom ili iz fotografija. Veliku primjenu ima u video igricama, korišten je u veoma poznatim igricama kao što su Tiger Woods PGA Tour, The Elder Scrolls IV: Oblivion i Football Manager serijalu. Osim primjene u zabavi, mnoge policijske postaje pomoću FaceGen-a izraĎuju 3D modele osumnjičenih iz razloga što je puno korisniji od raznih 2D aplikacija zbog puno više opcija u modeliranju koje omogućuju detaljniju sliku. TakoĎer ima široku primjenu u sociologiji. 3.2. Značajke FaceGen-a Značajke FaceGen-a su sljedeće: Realistična izrada lica: Generira realistična lica slučajnim odabirom za bilo koju rasu, spol ili starosnu skupinu. IzraĎuje lica iz jedne ili više fotografija. Sadrži preko 50 simetričnih i 25 asimetričnih oblika kontrole. 30 boja (tekstura). Brzo oblikuje lice da se podudara s bilo kojim licem odrasle osobe. Primjena detaljne teksture kože. Fleksibilna opcija importanja: Podudara lica fotografijama. Importanje vlastite mreže glave i modela kose koristeći FaceGen Customizer-a. Importa vlastite slike teksture u bilo koji objekt. Fleksibilna opcija eksportanja: Primjenjuje lice na bilo koji prototip mreže (visoke, srednje ili niske rezolucije). Primjenjuje lice na vlastitu mrežu ili UV izgled koristeći FaceGen Customizer. 9 Pohranjuje lica u FaceGen FG formatu i primjenjuje ih kasnije na bilo koju mrežu. Eksporta modele u 2DS, Maya ASCII (MA), Lightwave 6 (LWO), OBJ, XSI, VRML1, VRML97 i STL-u. Eksporta teksture u BMP, JPEG, TGA i TIFF-u. Transformira koordinatni sustav eksporta. Trenutačna animirljivost Dolazi s 36 izražaja, fonema i modifikatora. Interpolacijski ciljevi se automatski pojavljuju u Softimage 3D i XSIu. Interpolacijski ciljevi su specifičnih mreža i nisu uključeni nekim addon mrežama. Interpolacijski ciljevi se batch eksportaju jednom naredbom za korisnike Maxa (preko OBJ ili 3DS) ili bilo koju drugu aplikaciju koja čita OBJ, 3DS, VRML 1/97 ili STL. 10 3.2. FaceGen sučelje Slika 4 FaceGen Modeller 3.4 Ispod same slike modela se nalaze: Viewport Help – upute za manipulaciju slike. Detail Texture – padajući izbornik koji sadrži mnoštvo tekstura. Texture Overlay – odreĎuje koje će se teksture preklapati. Texture Gamma Correction – klizač koji mijenja gamma vrijednosti. Change Polys – mijenja/odreĎuje dijelove modela koji će se prikazati (npr. naočale, jezik, itd.) Opisi kartica: 1. Generate – generira se lice slučajnim odabirom klikom na gumb Generate. Pomicanjem klizača se mijenja spol, starost, simetričnost, rasa. Gumb Set Average resetira lice na prosječno lice. 11 2. View – kartica slična pregledniku u visage|life-u s nešto više opcija kao što su učitavanje pozadine, promjena osvjetljenja, više svjetlosnih izvora s različitim kutevima i visinama. 3. Camera – bira se izmeĎu dva načina projekcije: Perspective Ortographic koji sadrže dodatne klizače za fino podešavanje. 4. Shape – sadrži 2 kartice: Symmetric – 61 klizač Asymmetric – 26 klizača u kojima mijenjamo oblik modela pomoću klizača kao što su veličina nosnica, položaj očiju, izbočenost brade, itd. Sve promjene se mogu vratiti u originalno stanje gumbom Set All To Zero. 5. Colour – sadrži iste kartice kao Shape i u njima mijenjamo boju dijelova lica. 6. Genetic – ova kartica mi se čini kao jako korisna policiji u pronalasku osumnjičenog. Nalazi se jedan klizač koji definira stupanj sličnosti te generira 8 modela sličnih našem licu (slika 5). 7. Tween – učitava se FG datoteke te se mijenja pomoću dva klizača, Symmetry i Asymmetry. 8. Morph – sadrži 39 klizača kojima se mijenja izražaj lica (npr. ljutnja, strah, otvoreni osmjeh, fonemi, itd.) te se mogu eksportati kao VRML. 9. PhotoFit – na temelju naših slika (obavezna je samo frontalna slika, slike iz profila su opcionalne) se generira model. 12 Slika 5 Kartica Genetic 3.3. Konverzija FG modela u AFM Konverziju bilo kojeg FaceGen modela u AFM format možemo podijeliti u 4 jednostavna koraka. 1. Otvorimo FaceGen Modeller. 2. Kreiramo FaceGen model. Prilikom samog kreiranja modela, jako je važno ispravno konfigurirati kako bi se moglo importati u Visage aplikacije. Najvažnija odluka je odabrati mreže koje podržava Visage. U prozoru, nakon što smo kliknuli Change Polys gumb, treba uključiti sljedeće: Hires Eye Left 13 Hires Eye Right Jedno od sljedećeg; Lores Skin, Medres Skin ili Hires Skin Sock Teeth Lower Teeth Upper Tongue Dodatno se mogu dodati naočale ili jedna od mreža kose. Važno je ne promijeniti izražaj modela (mora ostati neutralan, ne smije se koristiti kartica Morph). TakoĎer teksture treba pohraniti kao JPG, a ne BMP. 3. Eksportamo model u izborniku File, odabirom Export. Ne treba mijenjati defaultne vrijednosti, važno je da je Current Expression odabran. 4. Pokrenemo FaceGen2AFM aplikaciju Visage Tehnologies-a i daljnji rad je poznat budući da sam FaceGen2AFM obradio u 2.3. potpoglavlju. 14 4. White Dune White Dune je X3D/VRML97 alat niže razine za Unix/Linux/MacOSX i MS Windows. Može čitati VRML/X3D datoteke, prikazivati ih i mijenjati scenografiju/područja. Za razliku od većine sofisticiranih alata, koristi lagani model temeljen na VRML97 standardu. Jednostavan je NURBS/SuperFormula 3D modelator, ali za sada nema kvalitetne alate za promjenu mreža poligona (VRML97 IndexedFaceSet čvorovi). VRML97 IndexedFaceSet se mogu kreirati pretvorbom iz NurbsSurface čvorova ili „čistim VRML“ eksportom, ali za neke zadatke se preporuća raditi s mrežom poligona 3D modelatora s VRML97 eksportom i poboljšanjem rezultata (npr. boja, tekstura, svijetlo, animacija, interakcija, itd.) u White Dune-u. Podržava X3D/VRML97 Inline čvor koji omogućuje tijek rada korištenjem različitih alata zajedno. Osim mnoštva 3D modelatora koji se naplaćuju, uz White Dune, vrijedni spomena su i: Wings 3D (licenca tipa BSD) Art of Illusion (većim dijelom GPL licenca) Blender (GPL licenca) SharpConstruct (GPL licenca) gSculpt (GPL licenca) Najveći „problem“, ili bolje rečeno mana, White Dune-a leži u prozoru 3D prikaza. Nije još dovršen, ali se nadam da ćemo ga imati priliku koristiti u novijim verzijama. No iako se čvorovi/područja ne vide u 3D, vrijednosti se mogu mijenjati grafički. 15 4.1. White Dune sučelje Slika 6 White Dune Sučelje se sastoji od sljedećih dijelova: 1. Alatna traka s opcijama File, Edit, View, Create, Actions, Convert, Routes, Mode, Options i Help. 2. Standardna alatna traka – sadrži najosnovnije naredbe iz svakog padajućeg izbornika prethodne trake. 3. Alatna traka čvorova 1 – sadrži naredbe izbornika Create. 4. Alatna traka čvorova 2 – sadrži naredbe za svjetla (eng. light), zvukove, teksture, boje i koordinate. 5. Alatna traka čvorova 3 – sadrži senzore i interpolatore. 6. Stablo scene – prikazuje čvorove modela. Važno je primijetiti da su to isti čvorovi koje smo uključivali u FaceGen-u pod opcijom Change Polys. 7. Preglednik modela – prozor u kojem se nalazi model koji editiramo. 8. Prozor polja – u ovom prozoru mijenjamo vrijednosti parametara koje odaberemo. Pokazat ću na sljedećoj slici primjer korištenja većine navedenih dijelova. 16 Slika 7 Primjer korištenja dijelova WD-a U alatnoj traci čvorova 2 smo odabrali PointLight. Kao što možete primijetiti, u stablu scene, ispod svih čvorova, pojavljuje se PointLight i odabirom njega u prozoru polja dobivamo parametre koje možemo mijenjati, u ovom slučaju: ambientIntesity – intenzitet okruženja attenuation - prigušenje color – boja, potrebno je poznavati RGB sustav intensity – intenzitet osvjetljenja location – područje osvjetljenja on – mogućnost uključivanja/isključivanja PointLight-a radius – polumjer osvjetljenja 17 4.2. Tehnike editiranja u White Dune-u Kao što naslov sugerira, u ovom potpoglavlju ću opisat tehnike editiranja modela u White Dune-u. Prije svega bih htio upozoriti na još jednu sitnu manu White Dune-a pored spomenutog 3D prikaza koja je poprilično zbunjujuća u počecima korištenja istog. Nakon što učitamo model (File -> Open ili Ctrl+O), White Dune ne postavlja model u centar preglednika modela nego ga postavlja negdje u ravnini iza nas. Kako bi učitani model bio prikazan, potrebno je pritisnuti tipku Shift na tipkovnici i povlačiti miš unazad dok se ne pojavi model. Model se editira na način da se pomiču markeri vrhova (eng. vertex), slika 8, kojima je opisan model. Zvuči jednostavno no naravno da nije tako u praksi, pogotovo ako uzmemo u obzir pomalo problematičan prikaz modela u White Dune-u. Kako bi se što lakše učinile promjene na modelu, korištene su sljedeće tehnike: Kreiranje točki gledanja (eng. viewpoint) – dodajemo ih u Create -> Environmental Node - > Viewpoint. Funkcioniraju na način da se u stablu scene odabere viewpoint i potom namjesti lice u željeni položaj/mjesto ili ručno upišu koordinate u prozoru polja. Kreiramo ih koliko nam je god potrebno i onda samo klikamo na odreĎeni viewpoint i lice se nalazi u tom položaju. Klikom na lice u pregledniku modela je jako teško, gotovo nemoguće nešto izmijeniti jer se cijelo lice pretvori u mnoštvo markera vrhova. Da bi došli do željenih markera vrhova, dovoljno je u stablu scene odabrati željeni dio lica te IndexedFaceSet -> Coordinate kako bi se markeri prikazali (slika 8). U nekim slučajevima nije dovoljno učiniti prethodnu točku kao što su npr. editiranje zubiju ili jezika pa se do tih markera dolazi na način da dijelove koji nam blokiraj pogled odaberemo te im prozirnost (eng. transparency) materijala (eng. material) u prozoru polja postavimo na odreĎenu vrijednost ili čak na 1 kako bi ih u potpunosti uklonili. Suprotno prethodnoj točci, umjesto postavljanja prozirnosti dijela koji nam blokira pogled možemo dijelu lica čije markere vrhova pomičemo obojati u drugu boju. Odaberemo Appearance -> Material željenog dijela te u prozoru polja RGB sustavom promijenimo parametar emissiveColor. 18 Kao što je navedeno za primjer kod korištenja dijelova White Dune-a (str. 17), vrlo je korisna upotreba raznih svjetla: 1. SpotLight, osvjetljava odreĎeno područje 2. PointLight, osvjetljava odreĎenu točku 3. DirectionalLight, osvjetljava model iz odreĎenog smjera Near clipping plane – do ovog parametra dolazimo s Options -> Preferences -> Near clipping plane. Pažljivim odabirom broja ovog parametra se može takoĎer olakšati rad. On odreĎuje na kojoj udaljenosti model lica počinje „nestajati“. Potrebno je biti oprezan jer se s većim brojevima nećemo moći niti približiti markerima. Slika 8 Markeri vrhova gornjih zubiju Na slici su prikazani markeri vrhova gornjih zubiju na modelu kojem je prozirnost kože (eng. skin_hi) podešen na 0.5 te boja gornjih zubi (eng. teethUpper) postavljena u crvenu boju. 19 5. Rezultati animacije poboljšanih interpolacijskih ciljeva Za animaciju sam koristio 2 modela, ženski (Ana) i muški (Ivan). Kod oba modela nisam radio velike promjene, uglavnom sam pokušavao ispraviti učestalu grešku koja se javljala u oba slučaja. Naime, učestalo se pojavljuju deformirana područja ispod donje lijeve usne na odreĎenim interpolacijskim ciljevima. RjeĎe je to područje brade, same usne ili rub nosnice. Nakon manje, odnosno više uspješno popravljenih deformiranih područja, rezultati na moje oko su i dalje isti prilikom animacije u visage|life-u i FaceGen2AFM-u što je donekle i očekivano budući da ni jedan interpolacijski cilj nema neku veliku anomaliju. Pri animaciji sam koristio FBA datoteke iz mape visageSDK\Samples\OpenGL\data\animations\facial. 20 6. Zaključak Editiranje interpolacijskih ciljeva u White Dune-u, a vjerojatno i u ostalim VRML editorima ali ih nisam koristio pa se neću odnositi i na njih, je veoma delikatan posao. Promjene jednog do maksimalno 3,4 markera vrha su srednje teškoće, no meĎutim kada se pokaže potreba za promjenom više markera tada to postaje gotovo nemoguća misija. Jezik i zubi se na primjer veoma jednostavno editiraju, no koža je veoma zahtjevna, svi ti markeri vrhova su meĎusobno ovisni i isprepleteni i vrlo se lako naprave neželjene udubine, odnosno izbočine. Moram priznati da puno privlačnije zvuči NURBS modeliranje gdje se pomiču kontrolne točke linija. Sveukupno gledajući, interpolacijski ciljevi dobiveni eksportanjem iz AFM-a prethodno konvertiranog FG modela su zadovoljavajuće kvalitete i animacije ostvarene njima su veoma dobre te nemam nikakve velike promjene za predložiti, jedino je potrebno ispraviti male greške koje se najčešće javljaju u području usne te nešto rjeĎe na drugim mjestima. Modeli dobiveni u FaceGen-u veoma dobro odmjereni i generirani. Budući da su ti modeli najvažniji za dobru animaciju, a generirani su u opće prihvaćenom programu FaceGen, ne može se ni očekivati loša animacija. 21 7. Literatura 1. visage|life™ Release 2.0 Manual, Visage Technologies AB 2. Liu Chen, An analysis of the current and future state of 3D facial animation techniques and systems, 2006 3. FaceGen, http://www.facegen.com/ 4. Morph target animation, http://en.wikipedia.org/wiki/Morph_target_animation 5. White Dune, http://vrml.cip.ica.uni-stuttgart.de/dune/ 22 8. Sažetak Miješanje oblika je tehnika kojom se ostvaruje računalna 3D animacija. U animaciji tom tehnikom, interpolacijski cilj je pohranjen kao skup vrhova. U svakom okviru animacije ti vrhovi interpoliraju izmeĎu pohranjenih vrijednosti. Interpolacijski cilj je izobličeni oblik, u našem slučaju, ljudskog lica koje ima neutralan izražaj te se stvaraju drugi izražaji. Tipični primjeri interpolacijskih ciljeva su otvorena usta, zatvoreno oko ili podignuta obrva. Editiranje tih interpolacijskih ciljeva za modele iz FaceGen-a je učinjeno u White Dune-u uz pomoć visage|SDK alata i animirano u istima. Ključne riječi: miješanje oblika, interpolacijski cilj, vrh, animacija, lice 23 9. Abstract Morphing or morph target animation is a method of 3D computer animation. In a morph target animation, a deformed version of a mesh is stored as a series of vertex positions. In each key frame of an animation, the vertices are then interpolated between these stored positions. The morph target is a deformed version, in our case, of human face. The head is first modelled with a neutral expression and a target deformation is then created for each other expression. Typical examples of morph targets used in facial animation is a smiling mouth, a closed eye or a raised eyebrow. Morph target editing was done in White Dune with a help of a visage|SDK tools for models from FaceGen. Also, it was animated in visage|SDK tools. Key words: morphing, morph target, vertex, animation, face 24 10. Skraćenice SDK TTS Software Development Kit Text To Speech SAPI-5 Speech Application Programming Interface 5 MPEG-4 Moving Picture Experts Group 4 FBA FAP BAP VRML Face and Body Animation Face Animation Parameter Body Animation Parameter Virtual Reality Modeling Language FBX FiLMBOX AFM Animatable Face and Body Model MTD Morph Target Description 3D X3D three-dimensional NURBS WD FG Non-uniform rational B-spline White Dune FaceGen Skup alata za razvoj. Računalna produkcija ljudskog govora. Microsoftov API za prepoznavanje i sintezu govora. Standard za audio i video kompresiju. Animacija lica i tijela. Parametri animacije lica. Parametri animacije tijela. Format datoteke za prezentiranje 3D interaktivnih vektorskih grafika. Tehnologija i format datoteke Autodeska. Format za 3D modele virtualnih likova zajedno s njihovim animacijama. Datoteka koja sadrži popis interpolacijskih ciljeva, referentne vrijednosti i njihova imena. 3 dimenzije. Datoteka temeljena na XML-u za prikaz 3D računalne grafike. Metoda modeliranja. 25
© Copyright 2024 Paperzz