← späť

1 : ZÁKLADY ANIMÁCIE

Dnes si urobíme úvod do animovania v Blendri. V príkladoch používam Blender 2.90.1.

Okej, tak poďme animovať. Na priebeh času máme v blenderi timeline. Stupnica je vo framoch. Blender má defaultne nastavených 24fps (frames per second). Naša animácia momentálne začína framom 1 a končí framom 250 (tieto hodnoty vieme zmeniť). Nachádzame sa v prvom frame (to je znázornené aj modrou paličkou na timeline).

Ak sa budete pohybovať po časovej osi a hýbať objektami, vyzerá to, ako by spolu vôbec nesúviseli. ak si spustíme animáciu klikátkom play, nič sa nedeje.

Na to, aby nám to fungovalo, potrebujeme využiť tzv. keyframes. Dnešná hodina bude o nich.

Keyframes

Začneme najjednoduchším príkladom. Položte si kocku do počiatku a presuňte sa na frame 1. V pravom menúčku v záložke Object properties, v časti Transform kliknite pravým tlačítkom na súradnicu Y a kliknite na Insert Single Keyframe.

Teraz sa presuňte do framu 60, posuňte kocku v smere Y niekam inam a znova pridajte Keyframe. A máme animáciu. Všimnite si, že je v timeline naznačená takými žltými diamantíkmi.

Vtip je v tom, že blender si v tejto animácii pamätá čisto iba Y-ovú súradnicu. Ak kocku presuniete napríklad v smere Z, blender ju takto presunie v každom jednom frame a veselo si ďalej animuje iba Y-ovú súradnicu. Vyskúšajte si to.

Čo ak chceme toho animovať viac? Jednoducho dáme keyframe aj na iné vlastnosti. Buď si ich môžeme pozapínať/povypínať pre každý frame týmito guličkami vpravo (to je to isté, ako by ste klikli na Insert Single Keyframe).

Alebo ešte globálnejšie, Ak klikneme I (s myšou nad 3D modelom) ponúkne nám to vyrobiť Keyframe pre viacero vlastností naraz (napr. Rotáciu Transláciu a Škálovanie súčasne). Všimnite si, že všetky vlastnosti, ktoré majú v danom frame Keyframe sa vysvietia nažlto. Vyskúšajte si to.

Všimnite si, že ak oznažíte nejaký iný objekt (napríklad kameru), Keyframes nám z časovej osi zmiznú. To preto, že sú viazané iba na jeden konkrétny objekt. Čiže každý objekt má svoju samostatnú sadu keyframes.

Ako vyrendrovať animáciu?

Rovnako ako obrázok. Kliknete na Render → Animation. Treba si ale dať trochu pozor na vlastnosti. Tie sa dajú upravovať v pravom menúčku v časti Output Properties.

  1. Ak máte pomalší počítač, znížte rozlíšenie, nech to nerendruje večnosť . Tretia hodnota – percentá vám naškáluje rozlíšenie v smere X aj Y na daný počet percent. (pre odovzdávanie domácich úloh cez internet tam pokojne dajte nejaké smiešne číslo, napr. 20%. Zatiaľ nepotrebujeme pekný výstup).
  2. Skontrolujte si, ktoré framy vlastne rendruje. V prípade záujmu, hneď pod tým máte možnosť nastaviť si frame rate.
  3. Nastavte si knižnicu kam chcete aby výstup ukladal.
  4. Nastavte si výstupný formát. Video formáty (ako napríklad .avi) vám vytvoria normálne video. Obrázkové formáty (.png .jpg a podobne) vám vytvoria jeden obrázok na každý frame. Tj. pre animáciu dlhú 120 framov by vám vytvorili 120 samostatných obrázkov. My chceme video výstup.

Teraz môžeme slobodne rendrovať.

Výstup vo formáte samostatných obrázkov má význam ak chcete animáciu ďalej spracovávať cez nejaký iný softvér, alebo ak potrebujete minimalizovať rendrovací čas. Napríklad ak vyrenderujete super krásnu zložitú scénu, ale tieto konkrétne tri sekundy uprostred potrebujete zmeniť. Nemusíte znova rendrovať celú scénu (čo môže pri väčšej zložitosti trvať aj hodiny), stačí vyrendrovať a vymeniť tých pár obrázkov uprostred a spojiť (v nejakom softvéri) do animácie.

Pre nás bude zatiaľ stačiť výstup vo forme videa – pri rendrovaní použijeme formát AVI JPEG.

SAMOSTATNÉ CVIČENIE I

Vytvorte mrežu v tvare veľkej kocky – chceme aby bola veľkosti 10-násobku obyčajnej blendrovej kocky. Zanimujte druhú (menšiu) kocku tak, aby sa presunula z jedného rohu na opačný a znova naspäť, ale vždy iba po hranách mreže (nemusíte ísť presne po tých istých hranách ako ja). Nastavte dĺžku animácie tak, aby pri hraní dookola z toho vznikol plynulý pohyb (tj kocka neostane na konci dlho stáť)

Hint: Mreža sa dá vyrobiť z priamo z obyčajnej kocky pomocou Modifier: Wireframe.

Vzorové riešenie:

Riešenie mi pošlite ako .blend súbor:

Graph Editor

Čo ak si chceme teraz našu kocku behajúcu po mriežke odložiť niekam bokom? Mrežu síce odsunúť môžeme, ale kocka nám bude stále pobehovať po daných súradniciach okolo počiatku. Ak chceme, aby bola kocka naviazaná na našu mrežu, vieme jej to nastaviť. V pravom menúčku v časti Object Properties máme sekciu Relations. Kocke nastavíme, aby jej rodičom bola mreža. Čo sa vlastne stane je, že kocka bude za svoje globálne súradnice považovať lokálne súradnice mreže. (v mojom príklade sa mreža volá Cube)

Pri tomto sa vám animácia zrejme trochu rozhasí. Mne napríklad kocka odskočila ďaleko preč a zväčšila sa. To preto, že moja mreža je naškálovaná s koeficientom 10 a malá kocka to vzala za svoje. Potrebovali by sme malú kocku zmenšiť na 1/10 (to vieme bez problémov) a upraviť jej animačné súradnice tak, aby nebehala po desiatkách, ale po jednotkách.

Takže najprv manuálne naškálujte kocku na 0.1 a v ďalšej časti sa pozrieme na to animovanie. Dá sa to aj manuálne, ale to je celkom pracné. Museli by ste pre každý keyframe samostatne pomeniť všetky súradnice. My na to pôjdeme na to trochu chytrejšie, a to cez Graph Editor.

Graph Editor je určený na lepšiu (napríklad matematicky presnejšiu) prácu s Key Frames. Rozdeľte si hlavné okno na dve a do jedného z nich otvorte graph editor.

V graph editore sa dá pohybovať pomocou stredného tlačítka:

Cez graph editor vieme máme každú našu animovanú hodnotu zobrazenú na grafe. Mali by ste tam mať tri grafy – červený, zelený a modrý, ktorý pre náš objekt predstavujú zmenu súradníc X Y a Z v čase. Čiže na vodorovnej osi máme čas, na zvislej hodnotu danej premennej. (ak žiadne grafy nevidíte, treba si skontrolovať ktorý objekt máte označený).

V každom čase kedy ste pridali Keyframe je vytvorený vrchol a tieto vrcholy sú pospájané grafom.

Tieto grafy teraz vieme editovať. Ak sa bojíte, že si animáciu pokazíte, označte si oba objekty (kocku aj mrežu) a zduplikujte si ich pomocou Shift+D.

Takže naspäť ku grafom. Každý vrchol v grafe vieme posúvať v obidvoch smeroch – aj v čase aj v hodnote. Všimnite si, že ak nejaký jeden vrchol posuniete v čase, urobí sa vám nový Keyframe aj na timeline.

Fungujú tu aj štandardné skratky. Napríklad si môžete označiť viacero vrcholov, posúvať (G), škálovať(S) a rotovať(R) ich. Tým upravujeme našu animáciu.

A toto presne môžeme využiť aj na naše účely. Označíme si všetky vrcholy a nškálujeme ich na 0.1 v smere osi hodnôt parametra. V graph editore má časová os skratku X a hodnotová Y. Čiže využitím skratiek to môžeme urobiť pre všetky vrcholy naraz. (v prípade núdze sa vieme opraviť tak dodatočne tým spodným okienkom, ako sme to robili predtým). A získame tým, čo sme chceli.

Skontrolujte si to. Spustite si animáciu. Teraz by vám malá kocka mala behať pekne po mriežke, aj keď s ňou budete hýbať. Rovnako ju môžete aj škálovať a rotovať.

Animovať vieme aj iné vlastnosti, v podstate takmer čokoľvek číselné. Objektu môžeme zanimovať napríklad farbu. Postup je rovnaký ako predtým. Postavte sa do nejakého framu a pre hodnotu Base Color vložte Keyframe. Tentokrát budeme ďalej editovať už len v Graph editore.

Pre 4 farebné hodnoty (Red, Green, Blue + Alpha = priesvitnosť) sme získali 4 nové grafy. Zatiaľ majú iba jeden vrchol (pre farby sme vyrobili iba jeden keyframe) a sú konštantné. Keď už tam máme grafov príliš veľa a motajú sa nám, vieme si niektoré „povypínať“:

Takže ja sa takto zbavím grafov súradníc Z Y a Z a grafu pre alphu, pretože tie momentálne nepotrebujem.

Pre grafy ktoré mi ostali viem pridávať nové vrcholy. Napríklad označím si Červený graf, presuniem sa do framu, kam chcem a pridám nový keyframe. Buď kliknutím Key → Insert Keyframes, alebo skratkou I a klikom na Only Selected Chanels (kebyže chcem nový keyframe pre všetky, grafe tak dám all Chanels).

Takto získam nový vrchol. Všimnite si, že je s pôvodným spojený bézierovou krivkou. Vieme mu meniť polohu, ale aj dotyčnice.

Ak sa nám tento štýl interpolácie nepáči, môžeme si zvoliť iný. Označím si všetky vrcholy medzi ktorými chcem meniť typ interpolácie, kliknem pravým tlačítkom → Interpolation Type a vyberiem si typ ktorý chcem.

SAMOSTATNÉ CVIČENIE II

Dorobte to kocky na mreži animáciu farby tak, aby v rohoch mala vždy príslušnú „rohovú farbu“ ako na štandardných kockových farebných modeloch a medzi tým bola interpolovaná lineárne.

Hint: každému bodu krivky vieme určiť aj manuálne súradnice. Klávesou N si vieme otvoriť pravé menúčko a v časti Active Keyframe mu vieme napísať konkrétne hodnoty.

vzorové riešenie:

Riešenie mi pošlite ako .blend súbor:

Graph editor a funkcie

Vytvorte si nový objekt, napríklad guľu. Chceme ju zanimovať tak, aby obiehala po kružnici okolo počiatku. z interpolačných bodov si síce sínus vytvoriť nevieme, ale je tu na to iná pomôcka. K našej vytvorenej krivke si vieme pripočítať niekoľko predvolených funkcií.

Vytvorte guli Keyframe pre os X. Získame tým jeden konštatný graf.

Vyrolujte si pravé menúčko klávesou N. V časti modifiers si vieme vybrať modifier Build-in Function.

Navrchu si vyberieme typ funkcie. Klikátkom Additive viete rozhodnúť, či chcete vašu existujúcu funkciu premeniť na sínus, alebo k nej ten sínus pripočítať. Ostatné vlastnosti sú zjavné.

BONUS I

Vytvorte Slniečko (biela svietiaca guľa), ktoré letí (mení pozícu) vesmírom (čierne pozadie). Okolo slniečka obieha po kružnici zemeguľa (modrá guľa) a okolo zemegule obieha po kružinci mesiac (sivá guľa).

Kým obehne zem okolo slnka, mesiac obehne 12-krát okolo zeme. Obežná dráha mesiaca je inak naklonená ako obežná dráha zeme (tj nedeje sa to všetko v jednej rovine)

Hint: guľu viete „zasvietiť“ pomocou jej materiálu. Namiesto Principed BSDF vyberte pre možnosť Surface: Emmision. Ak vyberiete nejakú svetlú farbu (napríklad bielu), guľa bude emitovať svetlo.

BONUS I mi pošlite ako .blend súbor:

(za semester budú dokopy dva bonusy)