Datoranimācija

Datoranimācija ir process, ko izmanto, lai veidotu animētus attēlus, izmantojot datorgrafiku. Vispārīgāks termins, datora radīts attēls, ietver gan statiskos ainas un dinamisko attēlus, bet datoranimācija attiecas tikai uz kustīgiem attēliem.
Mūsdienu datoranimācijās parasti izmanto 3D datorgrafiku, lai gan 2D datorgrafikas vēl lieto stilistiskās, šaurjoslu un ātrāku reālā laika renderēšanā. Dažreiz animācijas mērķis ir dators pats par sevi, bet dažkārt mērķis ir cits datu nesējs, piemēram, filma.
Datoranimācija būtībā ir digitālais pēctecis apturētas kustības (stop motion) tehnikai, ko izmanto tradicionālajā animācijā ar 3D modeļiem un kadru-pa-kadram animācijā ar 2D ilustrācijām. Datora radītas animācijas ir labāk kontrolējamas nekā citi fiziski balstīti procesi, piemēram, izbūvējot miniatūras iespaidīgākiem kadriem vai nolīgt statistus pūļu ainām, un tāpēc, ka tā atļauj izveidot attēlus, kas būtu neiespējami izveidot, izmantojot jebkuru citu tehnoloģiju. Tā arī ļauj vienam grafiķim radīt šādu saturu, neizmantojot aktierus, dārgas dekorācijas vai rekvizītus.
Lai radītu ilūziju par kustību, attēls tiek parādīts monitorā un atkārtoti aizstāts ar jaunu attēlu, kas ir līdzīga tam, bet tas ir pavirzījies nedaudz uz priekšu laikā (parasti ar ātrumu 24 vai 30 kadri/sekundē). Šī metode ir identiska, kustības ilūzija ir panākšanai televīzijā un kinofilmās.
3D animācijai priekšmeti (modeļi) ir būvēti datora monitorā (veidoti) un 3D figūras ir savienotas ar virtuālo skeletu. 2D figūru animācijām atsevišķi objekti (ilustrācijas) un atsevišķi caurspīdīgi slāņi tiek izmantoti ar vai bez virtuālā skeleta. Tad animators pa galvenajiem kadriem pārvieto figūras ekstremitātes, acis, muti, apģērbu utt. Izskata atšķirības starp galvenajiem kadriem dators automātiski aprēķina procesā laikā, kas ir pazīstams kā tvīnings vai morfings. Visbeidzot, animācija tiek renderēta.
3D animācijām visi rāmji ir jārenderē pēc modelēšanas pabeigšanas. 2D vektora animācijām renderēšanas process ir galveno kadru ilustrācijas process, savukārt tvīninga kadri tiek renderēti pēc vajadzības. Iepriekš ierakstītām prezentācijām renderētie kadri ir pārcelti uz citu formātu vai nesēju, piemēram, filmu vai digitālo video. Kadri var tikt arī renderēti reālajā laikā kad tie tiek prezentēti gala lietotāju auditorijai. Šaurjoslu animācijas, kas tiek pārraidītas caur internetu (piemēram, 2D Flash, X3D), bieži izmanto programmatūru lietotāju datoru, lai renderētu reālajā laikā kā alternatīva plūsmas translācijai vai iepriekš ielādētai ar platjoslas animācijai.

Vienkāršs piemērs

Ekrāns ir aizklāts ar fona krāsu, piemēram, melno. Tad kaza ir uzzīmēta ekrāna labajā pusē. Tālāk, ekrāns ir tumšs, bet kaza atkārtoti tiek uzzīmēta vai dublēta nedaudz pa kreisi no tās sākotnējā stāvokļa. Šis process tiek atkārtots, katru reizi pārvietojot kazu mazliet pa kreisi. Ja šis process tiek atkārtots pietiekami ātri, kaza parādīsies un virzīsies uz kreiso pusi. Šī pamata procedūra tiek izmantota visas kustīgās bildēs, filmās un televīzijā.
Kustīgā kaza ir objekta vietas maiņas piemērs. Objekta īpašību sarežģītākas tranformācijas, piemēram, izmērs, forma, gaismas efekti, bieži vien prasa aprēķinus un datora renderēšanu nevis vienkārši atkārtotu zīmēšanu vai dublēšanos.

Skaidrojums

Lai apmānītu acis un smadzenes, liekot viņām domāt, ka tās redz vienmērīgi kustīgu objektu, attēlus jāzīmē aptuveni pa 12 kadriem sekundē vai ātrāk (kadrs ir viens pilns attēls). Ar rādītāju virs 70 kadri/s nav uztverami reālisma vai gluduma uzlabojumi, dēļ veida, kādā acis un smadzenes apstrādā attēlus. Ar rādītāju zem 12 kadriem/s lielākā daļa cilvēku var uztvert kadru raustīšanos, kas ir saistīta ar jaunā attēla zīmējumu, kas varētu mazināt ilūziju par reālu kustību. Parastās ar roku zīmētās karikatūru animācijas bieži izmanto 15 kadri/s, lai saglabātu nepieciešamo zīmējumu skaitu, bet tas parasti ir pieņemams, karikatūru stilizētā rakstura dēļ. Lai izveidotu reālistiskāku tēlu, datoranimācija prasa lielāku kadru skaitu.
Filmas, kas tiek izrādītas kinoteātros, darbojas ar 24 kadriem sekundē, kas ir pietiekami, lai radītu ilūziju par nepārtrauktu kustību. Augstākai izšķirtspējai izmanto adapterus.

Vēsture

Dažas no vecākajām animācijām, izmantojot ciparu datoru, tika radītas Bell Telephone Laboratories 1960. gadu pirmajā pusē, darbojoties Edvardam E. Zajacam, Frenkam V. Sindenam, Kenetam C. Novltonam un A. Maiklam Nolam. Agrā digitālā animācija tika radīta arī Laurenca Livermora laboratorijā.
Vēl viens no pirmajiem soļiem datoranimācijas vēsturē tika sperts 1973. gada filmā Westworld, zinātniskās fantastikas filma par sabiedrību, kurā roboti dzīvo un strādā starp cilvēkiem, taču pirmo reizi 3D karkasa tēlus izmantoja filmas turpinājumā Futureworld (1976), kur rādīja datorā veidotas rokas un sejas, ko bija radījuši Jūtas Universitātes absolventi Edvīns Ketmuls un Freds Pārkijs.
CGI tehnoloģiju attīstība katru gadu tiek apspriesta SIGGRAPH, datorgrafikas un interaktīvo metožu ikgadējā konferencē, ko katru gadu apmeklē desmitiem tūkstošu datoru speciālistu. 3D video kartes un datorspēļu attīstītāji cenšas sasniegt tādu pašu vizuālo kvalitāti personīgajiem datoriem kā tas ir iespējams CGI filmām un animācijām. Ar straujo attīstību reālā laika renderēšanas kvalitātei, mākslinieki sāka izmantot spēļu dzinējus, lai renderētu ne-interaktīvas filmas. Šī mākslas forma tiek saukta par mašinima.
Pirmā pilnmetrāžas datoranimācijas filma bija 1995. gadā Pixar studijas veidotā "Rotaļlietu stāsts". Filma sekoja dažādu rotaļlietu un to īpašnieku piedzīvojumiem. Revolucionārā filma bija pirmā no daudzajām pilnībā datoranimētajām filmām.
Datoranimācijas palīdzēja radīt kases grāvēju filmas kā "Rotaļlietu stāsts 3" (2010), "Avatars" (2009), "Šreks 2" (2004) un "Vāģi 2" (2011).

Virtuālo tēlu animēšanas metodes

Lielākajā daļā 3D animācijas sistēmu animators rada vienkāršotu tēla anatomijas attēlu, analogu skeletam. Katra segmenta pozīciju skeleta modelī nosaka animācijas mainīgie. Cilvēku un dzīvnieku tēliem daudzas skeleta modeļa daļas sakrīt ar īstajiem kauliem, bet skeleta animācija tiek izmantota arī citu lietu radīšanai, piemēram, sejas vaibstiem (taču pastāv arī citas metodes sejas animācijas veidošanai). Vudija tēls filmā "Rotaļlietu stāsts" izmanto 700 animācijas mainīgos, tai skaitā 100 mainīgos, kas modelē seju. Dators parasti nerenderē skeleta modeli tieši (tas ir neredzams), bet izmanto skeleta modeli, lai novērtētu precīzu tēla novietojumu un orientāciju, kas ar laiku tiek renderēta par attēlu. Tādējādi laika gaitā mainot animācijas mainīgo vērtības, animators rada kustību liekot tēlam kustēties no kadra kadrā.
Ir vairākas metodes, lai radītu animācijas mainīgo vērtības, lai iegūtu reālu kustību. Tradicionāli, animatori manipulēt tieši ar animācijas mainīgajiem. Parasti mainīgos uzstāda stratēģiskos laika punktos (kadros) un ļauj datoram iestarpināt kadrus jeb tvīnus, šo procesu sauc par keifreimingu. Keifreimings atvieglo animatora darbu, tā saknes ir meklējamas ar roku zīmētajā tradicionālajā animācijā.
Savukārt jaunākā metode, ko sauc par kustību tveršanu (angļu: motion capture), dod iespēju filmēt tiešraidē. Tas nozīmē, kad īstais izpildītājs tēlo ainā, ko vēlāk izmanto animācijai. Tēla atveidotāja kustības tiek ierakstītas datorā, izmantojot videokameras un šīs darbības tiek piemērotas animētajam tēlam.
Katrai metodei ir savas priekšrocības un no 2007. gada, spēļu vai filmu ražošanai izmanto vienu vai abas metodes. Keifreiminga animācija var izveidot kustības, ko būtu grūti vai neiespējami notēlot cilvēkam, kamēr kustību tveršana var nodrošināt noteiktu aktieru sniegumu. Piemēram, 2006. filmā "Karību jūras pirāti: Miroņa lāde", aktieris Bils Naitijs nospēlēja tēlu Deiviju Džonsu. Pat ja Naitijs pats neparādās filmā savā izskatā, filma guva labumu no viņa darbības, ierakstot viņa ķermeņa kustības, pozas, sejas izteiksmes un citas nianses. Tādējādi kustības uztveršana ir lietderīga gadījumos, kad ticama, reāla uzvedība un rīcība ir nepieciešama, bet tēlam nepieciešamās iezīmes nevar nodrošināt ar parastu pārģērbšanos.

Tēlu un objektu radīšana datorā

3D datoranimācija apvieno 3D objektu modeļus un ieprogrammētas vai ar roku keifreimotas kustības. Modeļi ir konstruēti no ģeometriskām virsotnēm, sejām un malām 3D koordinātu sistēmā. Objekti ir veidoti ļoti līdzīgi kā īstais māls vai ģipsis, sākot strādāt no vispārējās formas pārejot pie specifiskām detaļām ar dažādiem veidošanas rīkiem. Kaulu, locītavu animācijas sistēma ir izveidota, lai pārveidotu CGI modeli (piemēram, likt humanoīdu modelim staigāt). Procesā, ko sauc par rigingu virtuālajai marionetei tiek doti dažādi pieturas punkti kustības kontrolēšanai. Animācija datus var izveidot, izmantojot kustības uztveršana vai cilvēka veiktu keifreimingu, vai abu kombināciju.
Riginga veida 3D modeļi var saturēt tūkstošiem kontroles punktu - piemēram, Vudija tēls Pixar studijas filmā "Rotaļlietu stāsts", izmanto 700 specializētās animācijas kontrolierus. Rhythm and Hues Studios strādāja divus gadus, lai izveidotu Aslana tēlu filmai "Nārnijas hronika: Lauva, Ragana un drēbju skapis", kurā bija apmēram 1851 kontrolieri, 742 no tiem tikai sejai vien. 2004. gada filmā "Diena pēc rītdienas", dizaineriem bija jāizveido ekstrēmi laika apstākļi ar video atsauču un precīzu meteoroloģisko faktu palīdzību. 2005. gada "King Kong" rimeikā aktieris Endijs Serkiss palīdzēja dizaineriem attēlot gorillas atrašanās vietu kadros un viņa sejas izteiksmes tika izmantotas, lai modelētu cilvēciskas iezīmes dzīvniekā. Agrāk Serkiss bija nodrošinājis balsi un kustības Golluma tēlam Dž.R.R. Tolkīna triloģijā Gredzenu pavēlnieks.

Datoranimācijas attīstības iekārtas

Datoranimācijas var izveidot ar datoru un animācijas programmām. Dažas iespaidīgas animācijas var panākt pat ar pamata programmām, tomēr renderēšana var aizņemt daudz laika parastajam mājas datoram. Šī iemesla dēļ videospēļu animatori cenšas izmantot zemas izšķirtspējas, maza daudzstūru skaita renderus, lai grafikas varētu tikt renderētas reālajā laikā uz mājas datora. Fotoreālistiskā animācija būtu nepraktiska šajā kontekstā.
Profesionālie filmu, televīzijas un video klipu animatori datorspēlēs veido fotoreālistiskas animācijas ar augstu detalizāciju. Šādas kvalitātes filmu animācijas paņemtu desmitus līdz simtu gadus, lai izveidotu tās mājas datorā.Tā vietā tiek izmantoti daudzi jaudīgi darbstacijas (workstation) datori. Grafikas darbstacijas datori izmanto 2 līdz 4 procesorus, un tādējādi tie ir daudz jaudīgāki nekā mājas datori un ir specializēti renderēšanai. Daudzas darbstacijas (pazīstamas kā renderēšanas saimniecības) ir savienotas tīklā, lai efektīvi darbotos kā milzu dators. Rezultāts ir datora animācijas filma, kas varētu tikt pabeigta aptuveni viena līdz piecu gadu laikā (tomēr šis process nesastāv vienīgi no renderēšanas). Darbstaciju parasti izmaksā 2000 līdz 16,000 dolāru, dārgākās stacijas spēj renderēt daudz ātrāk, tehnoloģiski daudz modernākas aparatūras dēļ, ko tā satur. Profesionāļi arī izmantot digitālās filmu kameras, kustības uztveršanu jeb darbības uztveršanu (angļu: performance capture), zilos ekrānus, filmu rediģēšanas programmatūras, rekvizītus un citus instrumentus filmu animācijai.

Cilvēku seju modelēšana

Cilvēka sejas iezīmju modelēšana ir viena no grūtākajām pēc elementu izmantošanas datora radītiem attēliem. Datora sejas animācija ir ļoti sarežģīta joma, kur modeļi parasti ietver ļoti lielu skaitu animācijas mainīgos. Vēsturiski runājot, pirmā SIGGRAPH pamācība State of the art in Facial Animation 1989. un 1990. gadā, izrādījās pagrieziena punkts šajā jomā, apvienojot un konsolidējot vairākus pētniecības elementus, un izraisīja interesi daudzu zinātnieku vidū.
Sejas darbības kodēšanas sistēma (46 rīcības vienības, piemēram, "lūpu košana" vai "šķielēšana"), kas tika izstrādāta 1976. gadā, kļuva par populāru pamatu daudzām sistēmām. Jau 2001. gadā MPEG-4 tika iekļauti 68 sejas animāciju parametri lūpām, žokļiem, utt., un šī joma ir guvusi ievērojamus panākumus kopš tā laika un sejas mikroizteiksmju izmantošana ir palielinājusies.

Nākotne

Viens atklāts izaicinājums datoranimācijā ir fotoreālistisku cilvēku animācija. Pašlaik lielākā daļa datoranimācijas filmas rāda dzīvnieku tēlus ("Kukaiņu dzīve", "Meklējot Nemo", "Gardēdis", "Ledus laikmets", "Otrpus žogam", "Medību sezona", "Rio"), fantāziju tēlus ("Mošķīši", "Šreks", TMNT, "Monstri pret Atnācējiem"), antropomorfiskas mašīnas ("Vāģi", "VALL-E", "Roboti") vai karikatūras līdzīgas cilvēkiem ("Lieliskie", "Nejaukais es", "Augšup"). Filma Final Fantasy: The Spirits Within bieži tiek minēta kā pirmā datora radītā filma, kas ir mēģinājusi parādīt reāla izskata cilvēkus. Tomēr, ņemot vērā cilvēka ķermeņa, cilvēka kustību un cilvēka biomehānikas milzīgo sarežģītību, reālistisku cilvēku simulācijas joprojām lielā mērā ir atklāta problēma. Vēl viena problēma ir negatīvā psiholoģiskā atbildes reakcija, skatoties uz gandrīz ideālu cilvēka animāciju. Tas ir viens no "svētajiem grāliem" datoru animācijā. Galu galā, mērķis ir radīt programmatūru, kur animators var radīt filmu, secīgi rādot fotoreālistisku cilvēka tēlu, kas veic fiziski ticamas kustības kopā ar apģērbu, fotoreālistiskiem matiem, sarežģītu dabisko fonu un, iespējams, sadarbojoties ar citiem imitētiem cilvēku tēliem. Tas varētu tikt izdarīts tādā veidā, ka skatītājs vairs nevar pateikt, vai noteiktā filma ir datora radīta vai izmantojot īstus aktierus kameru priekšā. Pilnīgs cilvēka reālisms, visticamāk, drīzumā netiks sasniegts, taču, kad tas notiks, tas var būtiski ietekmēt filmu nozari.
Šobrīd izskatās, ka trīsdimensiju datoranimāciju var iedalīt divos galvenajos virzienos: fotoreālistiski un ne fotoreālistiski renderētos. Fotoreālistisko datoranimāciju pašu var iedalīt divās apakškategorijās, īstais fotoreālisms, kur cilvēka darbības ir izmantotas virtuālo cilvēka tēla radīšanai, un stilizētais fotoreālisms. Īstais fotoreālisms ir tas, ko centās sasniegt Final Fantasy, un nākotnē, visticamāk, spēs dot mums live action fantāzijas, kā Dark Crystal bez nepieciešamības izmantot papildu lelles, savukārt "Skudra Z" ir stilizētā fotoreālisma piemērs (nākotnē stilizētais fotoreālisms spēs aizstāt tradicionālo apturētās kustības animāciju kā "Līgavas līķis", "Karolīne", "Murgs pirms Ziemassvētkiem"). Neviens no minētajiem vēl nav perfekts paņēmiens, bet progress turpinās.
Ne-reālistiskais/karikatūru virziens ir vairāk kā tradicionālās animācijas turpinājums, mēģinājums likt animācijai izskatīties kā karikatūras trīsdimensiju versijai, joprojām izmantojot un pilnveidojot galvenos animācijas principus, ko formulēja Nine Old Men, piemēram kā saspiest un stiept.
Kamēr viens kadrs no fotoreālistiskās datora animācijas izskatās kā foto, ja viss būs izdarīts pareizi, viena kadra vektors no karikatūrām datora animācijā izskatīsies kā gleznojums (nejaukt ar selšeidingu (cel shading), kas rada pat vienkāršāku izskatu).
Jāatzīmē, ka, lai gan videospēles nav ne tuvu datora animēto filmu mākslinieciskajām iespējām, daži uzlabojumi ir veikti, panākot reālāku cilvēka izskatu. Kamēr filmas kā "Polārais Ekspresis" un Mars Needs Moms tuvojas reālismam, nereālisma efekts joprojām pastāv. Dažas nesenās spēles tomēr, jo īpaši LA Noire, satur ļoti pārliecinošas datoranimētas cilvēku sejas un kustības.

Sīkāki piemēri un pseidokods

2D datoranimācijā kustīgu objektu bieži sauc par spraitu (angļu: sprite). Spraits ir attēls, ar ko ir saistīta tā atrašanas vieta. Spraits atrašanas vieta tiek nedaudz mainīta, mainoties rādāmajiem kadriem, tādēļ šķiet, ka spraits kustas. Sekojošais pseidokods liek spraitam kustēties no kreisās uz labo pusi:
var int x := 0, y := screenHeight / 2;
while x < screenWidth
drawBackground()
drawSpriteAtXY (x, y) // draw on top of the background
x := x + 5 // move to the right
Datoranimācijā izmanto dažādas metodes, lai iegūtu animācijas. Visbiežāk sarežģīta matemātika tiek izmantota, lai manipulētu ar sarežģītu trīsdimensiju daudzstūri, kam piemēro tekstūras, apgaismojumu un citus daudzstūra efektus, un visbeidzot renderē pabeigto attēlu. Sarežģītu grafiskā lietotāja interfeisu var izmantot, lai radītu animācijas un organizēt tā horeogrāfiju. Vēl viens paņēmiens, ko sauc konstruktīvā pamatotā ģeometrija (angļu: constructive solid geometry) definē objektu, veicot Būla operācijas regulārām formām, tās priekšrocība ir, ka animācijas var precīzi veidot pie jebkādiem lēmumiem.
Iziesim cauri vienkārša attēla renderēšanai, kurā ir istaba ar gludām koka sienām un pelēku piramīdu istabas centrā. Uz piramīdas spīdēs gaisma. Visas sienas, grīda un griesti ir vienkāršs daudzstūris, šajā gadījumā, taisnstūri. Katrs taisnstūra stūris ir definēts ar trim vērtībām X, Y un Z. X rāda, cik tālu pa kreisi un pa labi atrodas punkts. Y rāda, cik augstu un zemu atrodas punkts, un Z ir punkta attālums iekšpus vai ārpus ekrānam. Mums tuvākā siena būtu definēta ar 4 punktiem (secībā x,y,z). Zemāk ir attēlots, kā šī siena ir definēta.
(0, 10, 0)                        (10, 10, 0)

(0,0,0)                           (10, 0, 0)
Tālā siena būtu:
(0, 10, 20)                        (10, 10, 20)

(0, 0, 20)                         (10, 0, 20)
Piramīda sastāv no pieciem daudzstūriem: taisnstūra pamatnes un četriem trīsstūrveida sāniem. Lai uzzīmētu šo attēlu, dators izmanto matemātiku, lai aprēķinātu, kā projicēt šo attēlu, kas ir definēts ar trīsdimensiju datiem, uz divdimensiju datora ekrāna.
Vispirms mums ir arī jānosaka, kur mūsu ir mūsu skatu punkts, tas ir, no kāda skatu punkta skats tiks zīmēts. Mūsu skatu punkts ir istabas iekšpusē mazliet virs grīdas tieši pretī piramīdai. Vispirms dators izrēķina, kuri daudzstūri ir redzami. Tuvākā siena netiks attēlota vispār, jo tā atrodas aiz mūsu skatu punkta. Tālākais piramīdas sāns arī netiks zīmēts, jo tas ir paslēpts aiz piramīdas priekšējās plaknes.
Tālāk katrs punkts ir perspektīvi projicēts uz ekrāna. No skatu punkta tālākā siena tiks attēlota šaurāka nekā tuvākās platības perspektīves dēļ. Lai sienas izskatās kā koka, koka modelis, ko sauc par tekstūru, tiks uzzīmēts uz tām. Lai to paveiktu, bieži tiek izmantota tehnika, ko sauc par texture mapping. Neliels koksnes zīmējums, ko var atkārtoti uzzīmēt uz saskaņota flīžveida parauga, ir izstiepts un uzzīmēts uz sienas galīgās formas. Piramīda ir blīvi pelēka, tāpēc tās virsmu var renderēt kā pelēku. Bet mums ir arī gaisma. Kur gaisma krīt, mēs taisām gaišāku krāsu, kur priekšmeti bloķē gaismu, mēs taisām tumšākas krāsas.
Tālāk mēs renderējam pabeigto ainu uz datora ekrāna. Ja skaitļi, kas izsaka piramīdas atrašanas vietu tiek mainīti un šis process tiek atkārtots, izskatīsies, ka piramīda kustas.

Filmas

CGI īsfilmas tiek ražotas kā neatkarīgā animācija kopš 1976. gada, tomēr datoranimācijas popularitāte (īpaši specefektu nozarē) īpaši pieauga modernās ēras ASV animācijas laikā. Pirmās pilnīgi datorradītās televīzijas sērijas bija ReBoot 1994. gadā un pirmā pilnīgi datoranimētā filma bija "Rotaļlietu stāsts" (1995).

Amatieru animācijas

Tīmekļa vietņu popularitāte, kas atļauj tās biedriem augšupielādēt viņu pašu filmas, lai citi tās skatītos, ir radījusi augošu amatieru datoranimatoru kopienu. Ar piederumiem un programmām, kas bieži ir iekļautas par brīvu modernajās operētājsistēmās, daudzi lietotāji var veidot paši savas amimētās filmas un epizodes. Eksistē arī dažas bezmaksas animāciju lietojumprogrammas. Populāra animatoru pieeja animācijai ir GIF formāts, ko var viegli augšupielādēt un skatīties internetā.