Računalniška animacija
je umetnost tvorjenja gibljive slike s pomočjo računalnika. Po eni strani sega na
področje računalniške grafike, po drugi strani pa na področje animacije. Čeprav
je 2D grafika še vedno zelo pogosta, prihaja čedalje bolj v modo 3D grafika.
Včasih je cilj animacije sam računalnik, včasih pa je računalnik le orodje,
končni medij pa je kaj drugega, lahko tudi film.
Iluzijo gibanja dobimo tako, da
na računalniški zaslon prikažemo sliko in jo hitro nadomestimo z drugo, ki je
prvi podobna, vendar rahlo premaknjena. Ta tehnika ustvarja enako iluzijo, kot
jo dobivamo pri televiziji in filmu. Pomembno je, da slike zamenjujemo dovolj
hitro, da s tem preslepimo naš vid.
V 2D računalniški animaciji imamo
opravka z gibljivimi predmeti, ki jim včasih pravimo “sprites” (škrat, duh,
prikazen). To so v bistvu slike predmetov ali osebkov, ki jim je dodeljena
lokacija. In take slike integriramo v neko večjo sliko, ki predstavlja naše
ozadje. Predmet premikamo tako, da med
posameznimi sličicami spreminjamo
njegovo lokacijo. Naslednja pseudokoda bi tak gibljivi predmet ali lik(prikazen,
sprite) premikala od leve na desno:
var int x := 0, y := visinaSlike / 2;
while x < sirinaSlike
narisiOzadje()
narisiLik(x, y) // predmet narisemo na ozadju
x := x + 5 // premik na desno
Poznamo razna orodja in programerske prijeme za 2D računalniško
animacijo. V primeru spletnih strani lahko uporabimo na primer JavaScript, javanske aplete,
zelo pogosto
pa flash.
3D računalniška animacija je logično
nadaljevanje klasične animacije s tem, da imamo na
zaslonu prikazano 3D sceno, ki jo
sestavljajo 3D predmeti in različni osebki. Kvaliteta prikaza teh predmetov in osebkov je odvisna
od gostote
mreže točk oziroma mreže poligonov,
ki te osebke
in predmete predstavljajo.
Animacijo predmetov naredimo v bistvu podobno, kot smo to delali v 2 dimenzijah: Spreminjamo njihov položaj, le da imamo to pot na voljo še tretjo dimenzijo. Lahko jih tudi deformiramo s spreminjanjem točk na mreži, ki predmete določajo.
Seveda lahko spreminjamo tudi njihovo barvo.
Animiramo lahko tudi osvetlitev predmetov in položaj kamere
(oziroma našega pogleda) v sceni. Animiramo lahko tudi atmosferske pogoje.
Animacija temelji na postavitvi ključev (keyframes).
To pomeni, da v določenih sličicah (frames) pripravljene časovne animacije
določimo parametre animiranega predmeta (njegov položaj, usmeritev, barvo itd).
Z osebki pa je stvar bolj zapletena. Osebki
lahko predstavljajo ljudi, živali in podobne “žive” predmete, ki se lahko
gibljejo. Zato vsakemu osebku priredimo okostje, kot nekakšen “obešalnik”.
Animator premika skelet in posredno s
tem premika osebek. Tako animacijo moramo na koncu
še upodobiti na zaslonu.
![]() |
Za tvorbo
računalniške animacije potrebujemo primerno programsko opremo. Na
voljo imamo številne, predvsem komercialne programe: Naštejmo le nekaj primerov: Amorphium, Art
of Illusion, Poser, Ray Dream Studio, Bryce,
Maya,
Blender, TrueSpace, Lightwave, 3D
Studio Max, SoftImage XSI. Z njimi lahko
dosežemo zelo impresivne animacije, problem pa predstavlja, vsaj na hišnih računalnikih, čas,
potreben za upodabljanje (rendering). Prav zato programerji video igric, ki seveda
morajo teči v realnem času, uporabljajo nižje ločljivosti in manj podrobne 3D modele. Fotorealistčna animacija bi bila za video igrice preveč nepraktična..
Video sekvence za film, televizijo, pa tudi vnaprej posnete video sekvence za igrice
pa lahko uporabljajo fotorealistične animacije z visoko stopnjo podrobnosti. Na osebnih računalnikih bi priprava takih video sekvenc trajala leta. Zato v ta namen uporabljajo
visoko zmogljive delovne postaje z več procesorji, pogosto kar cele skupine
oziroma gruče takih zmogljivih računalnikov, čemur pravijo “farme za upodabljanje”
(render farm).
Poleg tega uporabljajo
profesionalci še druge prijeme in sisteme. Za zajem
naravnih gibov animiranih osebkov uporabljajo sisteme kamer in ustrezno programsko opremo, kar poznamo pod imenom “motion capture”. Biomehanika človeškega telesa je pač zelo
kompleksna in je simulacija naravnega gibanja težavna. Najbolj pogosto zato uporabimo sistem kamer, na živega igralca pa na različne
dele telesa, predvsem na ude damo
svetlobne oznake – markerje. Sistem kamer tako omogoča
sledenje tem oznakam in s
tem snemanje gibov resničnih igralcev, to pa nato s programi
pripnemo na ude (pravzaprav na okostja) animiranih
osebkov.