Priprema 3D modela za animaciju lica

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