Tassu Takala Tietokonegrafiikan kertausta eli mitä jokaisen animaattorin tulisi tietää tekniikasta Mallinnustekniikkaa Animaation perustekniikkaa Harjoitustyöt 12.10.2006 1
Aiheita mallintaminen muodon esitystapoja tietokoneessa muotoiluoperaatioita hierarkkinen rakenne, kinematiikka erityistekniikoita (fraktaalit, partikkelit, etc) animaatio avainkuvatekniikka interpolaatiomenetelmiä proseduraalinen liike kuvien tuottaminen (renderointi) kameran ohjaus valaistus ja sävytys, tekstuurit, materiaalit 12.10.2006 2
Mallintamismenetelmiä (1) esitysmuotoja monikulmiomallit topologia ja geometria generointi ja editointi splinit ohjauspisteiden interpolointia Bezier, cardinal, NURBS ominaisuuksia, editointi tangentit, kaarevuus, jatkuvuus subdivision surface rekursiivinen ositus pistejoukot (point set) Peruselementtejä: 0D - piste 1D - viiva 2D - pintalappu 3D - tilavuus Määrittely: graafisesti (pisteinä) numeerisesti (parametrit) skannauksella (mocap, laser) Jatkuvuus liitoksissa parametrinen vai geometrinen? C 0 - murtoviiva C 1 - tangentiaalinen C 2 - kaarevuus 12.10.2006 3
Mallintamismenetelmiä (2) mallien määrittely ja muokkaus transformaatiot translaatio, rotaatio, skaalaus pyyhkäisyt (sweep) extrude, lathe, skinning lokaali muokkaus subdivision, bevel, blend deformaatiot (FFD) epälineaarinen transformaatio määritellään 3D-splinin ohjausverkon avulla joukko-operaatiot, trimming Eulerin kulmat kierto kunkin perusakselin ympäri intuitiivinen asennon määritys ei yksikäsitteinen riippuu akseleiden järjestyksestä ongelmia animaatiossa 2D-kuvio (esim. teksti) mallina ääriviivoista levymäinen 3D-malli (extrude) peruskappaleet usein valmiina kuutio, pallo, sylinteri approksimaation tarkkuus määriteltävä muokkausoperaatioiden toteutus vaihtelee esitysmuodon mukaan 12.10.2006 4
Mallintamismenetelmiä (3) määrittelyn apuneuvoja monistus, kloonaus säännöllinen sijoittelu symmetriat toisto esim. käyrää pitkin mittatarkka sijoittelu modulimitoitus (snap grid) kohdistaminen (alignment) mallin sovitus kuvaan (image-based modeling) fotogrammetria tekstuurit saadaan samalla rakenteiden määrittely (rigging) hierarkia osien väliset liitokset kinemaattiset mekanismit käytetään erityisesti hahmoanimaation luurankona myös automaattisen skinnauksen perustana 12.10.2006 5
Mallintamismenetelmiä (4) erityistekniikoita partikkelit tuli, savu, vesi metapallot skinning-tekniikkaa aluejakomallit vokselit, octree fraktaalit, graftaalit maastomallit kasvit, biomorfit point-set modeling partikkeleina kolmioituna pintana multiresoluutiomallit kerrostamisperiaate soveltuu moniin esitysmuotoihin LOD (level of detail) hierarkkiset splinit offset-mapping resoluution valinta, reduktio 12.10.2006 6
Animaation perusteita (1) keyframing avainkuva (keyframe) objektin sijainnin määrittely tietyllä ajanhetkellä inbetweening periaate sopii minkä hyvänsä asioiden määrittelyyn sijainti, asento, liikenopeus materiaali (väri, pintarakenne ) kamera, valaistus välivaiheiden tuottaminen perättäisille avainkuville interpolaatio lineaarinen differentiaaligeometriaa Frenet n koordinaatisto liikkeen jatkuvuus käyrän pituus erilaisia käyriä ease-in / ease-out liikerata ja nopeus asennon interpolointi rotaatiomatriisit Eulerin kulmat käyrän pituuden laskenta kvaterniot 12.10.2006 7
Animaation perusteita (2) erityistekniikoita muodon interpolointi (morphing) animoidut ohjauspisteet vastinpisteiden haku kuva (2D) vs. malli (3D) free-form deformation (FFD) kinematiikka suora kinematiikka (forward kinem.) hierarkkinen rakenne transformaatiot vapausasteet käänteiskinematiikka (inverse kinematics, IK) liikefunktiot syklinen liike, aallot kaoottinen liike signaalinkäsittely ilmaisuvälineenä fysikaalinen mallintaminen voimien ja massojen simulointia käyttäytymismallit sääntöpohjaista laumasimulaatio tekoäly-agentit muiden (ei-spatiaalisten) ominaisuuksien animointi materiaalit käyttäytymissäännöt 12.10.2006 8
Kuvien tuottaminen (1) näkymän määrittely scene graph näkymän määrittely hierarkkisena rakenteena transformaatiot liitoksissa objektit, valaisimet, kamerat kameran määrittely sijanti, suunta, kuvakulma projektiotapa (persp/ortog) syvyystarkkuus, vääristymät motion blur kameran ohjaustermejä: dolly / truck / boom pan / tilt / roll ( yaw / pitch / roll ) point-of-interest kameran liike suhteessa kohteeeseen 1st person / 3rd person view katse liikesuuntaan / sivulle / taakse zoom vs. ajo 12.10.2006 9
Kuvien tuottaminen (2) valaistus ja sävytys Valaistus sijainti, asento, kulma (flaps) kirkkaus, väri kiinteä vs. liikkuva taivaankappaleet varjot Materiaalit väri, kiiltävyys, läpikuultavuus, hienorakenne (karvat yms.) shader: kaikki valaistusmallin ominaisuudet Tekstuuri kuva määrittää pinnan hienorakenteeen kaikki materiaaliominaisuudet sijoittelu geometriseen malliin (texture mapping) koordinaatistot renderoinnin vaiheet (pipeline) transformaatiot polygoniapproksimaatio projektio rasterointi pikselioperaatiot valaistus, sävyn interpolointi kompositio, peittävyys esitystapoja viivakuva (wire frame) ohjauspisteet / käyrät polygonit yksinkertainen sävytys vakio / Gouraud / Phong fotorealismi valaistuksen laskenta lokaalit valaistusmallit globaali valaistus ray tracing, radiosity materiaalit, shading 12.10.2006 10
Valaistusmalleista Yksinkertaiset heuristiset ja fysikaaliset mallit polygoneille constant / faceted Gouraud (smooth) Phong (smooth specular) Cook-Torrance ym. Globaalit valaistusmallit ray tracing, radiosity käyttävät samoja materiaalimalleja Läpikuultavuus kerrostettu heijastusmalli Materiaalit väri, kiiltävyys, läpikuultavuus, hienorakenne (karvat yms.) shader: kaikki valaistusmallin ominaisuudet Ohjelmoitava valaistus surface shader = kokoelma materiaaliominaisuuksia ja sävytysmetodeja RenderMan shading language erityisesti tarpeen iholle I R,G,B = I ambient + Σ source (I diffuse + I specular ) 12.10.2006 11
Teksturoinnista (1) Tekstuuri = pinnan hienorakenne tekstuuri voi ohjata mitä hyvänsä materiaaliominaisuutta, esim. color, bump, displacement, transparency, ambience, glow masking siis: materiaalin määrittelyssä voi olla monia eri tekstuureja procedural vs. image mapping Image mapping rasterikuvan sijoittaminen pinnan tekstuuriksi mapping: img(u,v) world(x,y,z) pic(u,v) useita eri tapoja määritellä kuvan sijoittelu pinnan koordinaatistoon Projektiotekniikat (vrt. kartta) suora (flat) sylinteri pallo (litistyy navoilla) wrapping environment mapping (kiiltoheijastus tekstuurina) lisäksi perustransformaatiot kuvalle (tekstuurin sijainti, suunta ja koko) Mallin oma koordinaatisto splinipinnoilla luonnostaan polygonimalleille vertex kerrallaan 12.10.2006 12
Teksturoinnista (2) Käytännöllisiä aspekteja tekstuurin koko / tarkkuus VRAM-muistin mukaan useita tekstuureja samaan kuvaan moniresoluutioesitys, mip-map toistuva tekstuuri (tiling) billboard valikoiva renderointimetodi 3D tekstuuri volumetrinen malli, sävy 3Dkoordinaattien perusteella esim. puu, kivi Tekstuurien kerrostaminen blending / compositing / masking alpha channel Tekstuurianimaatio (esim. tuli) Muita tärkeitä efektejä antialiasing motion blur fog (depth-fading) 12.10.2006 13
Harjoitustyöt 1. Lentävä logo DL 2.11. (hyv) esineiden liikuttelua, työvälineen opettelua 2. Pomppiva pallo DL 2.11. (hyv) muodonmuutoksia (squash+strech) 3. Primitiivistä elämää DL 2.11. (10%) miimistä emootion ilmaisua, lyhyt tarina 4. Asetelma DL 16.11. (15%) muotoilu, materiaalit ja valaistus, ei liikettä 5. Robotti DL 30.11. (15%) hahmoanimaation perusteita 6. Lopputyö (60%) suunnitelma (storyboard) DL 14.12. valmis työ DL 15.1.06 12.10.2006 14