# Računalniška animacija

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

“Prikazni” so najprej uporabljali pri prvih dvo dimenzionalnih video igricah. Sčasoma se je z razvojem računalniške tehnologije pričela uveljavljati 3D grafika. Tudi pri tej pa včasih uporabljamo to tehniko za smiselno vključevanje ploskih, kompliciranih slik v tro dimenzionalno sceno. Ker so prikazni dvo dimenzionalne, je njihovo upodabljanje zelo hitro.

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

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.

## Oprema

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.