3D Animacija

Updated: 2025-02-05

Published: 2025-02-05


Druga domaća zadaća

U sklopu ove zadaće je bilo potrebno izraditi i animirati 3D figuru.

Izrada modela

Za izradu lika je korišten MakeHuman program koji dozvoljava interaktivno uređivanje likova korištenjem slidera te generiranje modela u Collada (.dae) formatu.

Nakon uključivanja, model je odmah spreman za uporabu. Bilo je potrebno samo u Shader editoru urediti način prikaza geometrije koja sadrži transparentnost da povlači alpha vrijednost is sukladne teksture.

MakeHuman može generirati i kostur za animaciju, no zadaća je bodovala taj dio procesa animacije lika pa sam kostur ručno izradio.

Konačan model je bio iznimno kvalitetan i pogodan za animaciju, no ličnost se nije poklapala s referentnim materijalima pa sam naknadno doradio geometriju modela u Blenderu.

Izrada kostura

Nisam do sada nikada slagao kostur koji koristi inverznom kinematikom (engl. inverse kinematics, IK) u Blenderu, iako sam se već susreo s uporabom IKa u kontekstu izrade igrica.

Standardni nazivi za kosti ne postoje, pa sam koristio Blenderovu konvenciju imenovanja (npr. Leg.Down.L). Prednost kod imena koja završavaju s .L/.R je to što prilikom simetrizacije (engl. simetrization) kostiju Blender sam preimenuje kosti ispravno.

Blender dozvoljava puno mogućnosti za postavljanje ograničenja, pa sam pratio iznimno kratke, ali detaljne video upute na YouTube platformi:

Automatska dodjela težina i polje utjecaja

Automatska dodjela težina (engl. automatic weights) u Blenderu je bolja za animacije složenije geometrije (u ovom slučaju osobe). Zadavanje vrhova grupama s poljem utjecaja (engl. envelope weights) bolje paše za jednostavnije predmete koji se mogu elastično deformirati.

U mom slučaju automatsko zadavanje vrhova grupama s poljem utjecaja nije ispravno dodao težinu svim vrhovima pa nije bio direktno upotrebljiv. Zbog toga niti nisam imao drugi izbor (zbog vremenskog ograničenja) doli koristiti automatsku dodjelu težina, no srećom, kao što sam već rekao, u ovom slučaju ona inaće daje rezultate koji izgledaju bolje.

slika prikazuje značajne distorzije vidljive prilikom pomicanja udova kada je
korišten "envelope weights", i "automatic weights" rezutat za
usporedbu

Automatska dodjela težina također nije savršeno radila, te je za produkcijsko okruženje definitivno potrebno naknadno uređivanje. Jer su defekti bili skoro nevidljivi za razinu uporabe u ovoj domaćoj zadaći, nisam išao prepravljati težinske vrijednosti utjecaja kostiju na deformaciju geometrije.

Animacija

Za animiranje kretanja sam koristio dva različita pristupa:

  • iz poze u pozu (engl. pose-to-pose), i
  • linearno (engl. straight ahead).

Početni dio s hodom je bio animiran iz poze u pozu i rezultat je neprirodno pomicanje lika po površini. Drugi dio (hod uz stubište) je bio animiran linearno, i dok je sadržavao više ključnih okvira, animacija izgleda puno bolje.

ciklus hodanja koji se sastoji od 4 ključna okvira

Hod se sastoji od 4 ključna okvira koji se ponavljaju.

  • Kontakt (engl. contact) - početna faza hoda je stanje između koraka gdje su stražnji prsti savinuti, a razmak između noga najrašireniji.
  • Dolje (engl. down) - stražnja noga napušta podlogu, a teret se prebacuje na prednju. Lik je obično nešto niži u ovoj fazi.
  • Prolazak (engl. passing) - prednja noga je poravnata s tlom, a stražnja ju prelazi. Lik je u ovoj fazi nešto viši nego u početnoj.
  • Gore (engl. up) - stražnja noga je sada nova prednja. Prethodna prednja zaostaje iza lika s blago savinutim prstima. Lik je nešto viši jer ga podiže ispruženo stopalo. Stopalo nove prednje noge je ravno.
  • Tome slijedi ponovo kontakt, samo zrcaljen. Ponavlja se isti ciklus sa zamijenjenom prednjom i stražnjom nogom.

Zbog manjka iskustva i mana izrađenog modela, animacija je na kraju sadržavala nešto veći broj ključnih okvira nego je bilo potrebno.

Problem s kojim sam se susreo je bilo pomicanje koljena prema van prilikom hoda, iako su kontrolne kosti bile ispravno smještene. Vjerujem da je uzrok bio što točka prijelaza kostiju nogu (u koljenu) nije bila dovoljno pomaknuta prema naprijed.

Rezultat

Konačan rezultat izgleda iznimno loše, no premašio je moja očekivanja. Vjerujem da bih mogao mnoge mane koje su proizašle iz sitnih pogrešaka u procesu izrade sada ispraviti.

Datoteke

Materijali korišteni za izradu se mogu preuzeti u obliku ZIP arhive ovdje.

Comments