← späť

3 : KOSTROVÁ ANIMÁCIA

Kostrová animácia je veľmi šikovný tool, ktorý nám pomáha s animáciou postáv, živočíchov, ale aj robotov a podobne, v podstate všetkého, čo má prirodzeným spôsobom niečo ako kostru.

Princíp je v tom, že panáčikovi vytvoríme vnútornu kostru a miesto toho, aby sme mu animovali jednotlivé vrcholy meshu, budeme mu hýbať s kostrou, ktorá potom automaticky ovplyvní okolité vrcholy meshu. Vyskúšame si to.

Kostra

Urobte si primitívneho panáčika, bude zložený z troch objektov: sféra (hlava), cylinder (krk) a cube(telo). Objekty poukkladajte a naškálujte tak, aby sa prekrývali (čiže nebudú medzi nimi medzery). Označte si všetky tri objekty a Kliknite na Object → Join. Objekty sa nám zlúčia do jedného.

Ideme si pridať kostru. Kliknite na Add → Armature. Získali sme tým kostru skladajúcu sa z jednej kosti. Keďže je vnútri panáčika, potrebujeme si zabezpečiť, aby bola cez neho vidno. Jedna možnosť je využiť X-Ray (všetky objekty budú priesvitné) – vpravo hore.

Alternatívne môžete kostre nakázať, aby sa vždy rendrovala úplne vpredu (z vášho pohľadu). Je to v pravom menu, záložka Object Properties, v časti Viewport display treba zakliknúť Show: In Front. Ja si zmením jej farbu panáčika, aby bola kostra lepšie vidno.

Teraz si dorobíme zvyšok kostry. Kotra je objekt, ktorý sa skladá z kostí. Každá kosť má začiatočný (ten pri hrubej časti) a koncový (ten pri tenkej časti) bod. Tým, že ich presúvame vlastne kosť môžeme zväčšovať a zmenšovať. Pomocou Extrude (skratka E) v Edit Mode si vieme z bodu na konci kosti z nej potiahnúť novú kosť. Zeditujte si kostru tak, aby mala dokopy 3 kosti: jednu veľkú na trup, jednu maličkú na krk a jednu na hlavu.

(skratky na videu: G = translácia, Z = v smere osi Z)

Okrem Edit Mode, máme pre kostry tzv. Pose Mode. Ten simuluje „prirodzené“ správanie kostry. Prepnite sa do Pose Mode. Tu vieme chytať jednotlivé kosti a rotovať ich okolo kĺbu. Je tu aj vidno, že kosti sú orientované. Hrubšia časť smeruje k nadradenej kosti (parent) a tenšia časť k podradenej kosti (child). Ak otočíte nadradenú kosť, tá so sebou stiahne aj všetky svoje podradené.

V pose mode sa dá aj škálovať. Je to určené na simuláciu rastu. Ak si pózu úplne domrvíte a neviete sa vrátiť naspäť, dá sa vynulovať. Označte si všetky dotyčné kosti a kliknite na Pose → Clear Transform → All.

Dobre, kostru by sme mali, teraz si ju priradíme k objektu. Označte si panáčika + kostru a dajte Object → Parent → Armature Deform with Automatic Weights (alebo pomocou skratky Ctrl+P). Teraz ak pohnete kostrou, celý objekt sa prispôsobí.

Všimnite si, že ak otáčate čisto hlavovou kosťou, mení sa vám aj krk. To preto, že blender si myslí, že hlavová kosť má vplyv aj na krk. Ešte sa k tomu vrátime.

Zatiaľ sme hýbali s troma rôznymi objektami. Síce sa mohli prekrývať, ale samotné meshe pospájané neboli. Skúsime si to teraz pre jeden objekt. Vytvorte si kostru skladajúcu sa z troch identických kostí nad sebou a priraďte jej valec (cylinder).

Ak sa teraz pokúsite pohýbať nejakou kosťou, bude to škaredé. Súvislý objekt nie je problém, ale má príliš málo vrcholov. Nasekajme si ho trošku. Ja som použila Loop Cut (vľavo v Edit Mode, alebo skratka Ctrl+R). Teraz už je to fajn.

Ako pridať kostre keyframes?

Dajte sa do Pose Mode. V pravom menúčku v časti bone properties máte zoznam všetkých kostí. Môžete si ich popremenovávať. Každá kosť tam má zapamätanú svoju transformáciu (oproti základnému tvaru). Každej kosti takto môžeme dať keyframe na každú z týchto čísel (tak ako sme to robili predtým).

Nespojitá kostra

Kostra nemusí byť spojitá. V Edit Mode vymažte strednú kosť z tejto trojice. Vrchná a spodná vám ostanú spojené takou čiarkovanou paličkou. Znamená to, že sa síze nedotýkajú, ale sú vo vzťahu parent-child.

Na čo je to dobré? Aj na ľudskom tele sú miesta, ktoré sú prepojené, ale žiadne ohýbanie sa nedeje. Predstavte si napríklad bedrový kĺb. Jeho poloha a rotácia závisí od toho, ako je natočená chrbtica, ale od konca chrbtice je trochu vzdialený.

Ak chceme pridať kostre novú kosť ktorá nebude pripevnená o žiadnu starú, klikneme (v Edit Mode) na Add → Single Bone (je na to skratka Shift+A). Kosť vám vznikne v mieste, kde máte kurzor.

Ak ju chceme pripojiť o nejakú inú kosť, označíme si danú kosť, potom so Shiftom jej budúceho rodiča (parent) a klikneme na Armature → Parent → Make (alebo skratku Ctrl+P). Spýta sa nás, či chceme kosť pripojiť fyzicky kĺbom (vtedy nám ju aj presunie), alebo si chceme ponechať odstup (vtedy ju prepojí čiarkovanou paličkou).

Takže základy máme, skúsime si to teraz poriadnejšie.

Mapovanie kostry na panáčika.

Vyrobte si zo základných útvarov panáčika. bude mať hlavu, krk, trup ruky a nohy. Nohy urobte pripojené o trup, ruky oddelené (aby sme videli správanie kostry v obidvoch prípadoch). Všetky pripojené časti pripojte naozaj v štruktúre meshu, tj aby to bol jeden súvislý objekt, nie viacero prekývajúcich sa (pomôže nám na to modifier boolean, ktorý vie robiť zjednotenie dvoch objektov). Ruky nohy a trup trochu nasekajte nejakým subdivide, aby sa s ním dalo pohybovať).

Chceme niečo takéto:

Vytvorte panáčikovi kostru: Nezabudnite dať pozor na to, aby boli medzi kosťami správne vzťahy. Bežný (a podľa mňa logický) spôsob hierarchie je mať trup ako najvyššieho rodiča a potom z neho budú vyrastať ruky, nohy a hlava.

Ak chceme aby sa noha skladala z dvoch rovnako dlhých kostí, môžeme si spraviť jednu na plnú dĺžku a použiť subdivide.

Ako napojiť niečo na začiatok kosti? Povedzme, že chcem napojiť svoju nohu na koniec chrbtice, ale prepája mi to do stredu chrbta. To nechceme.

Problém je v tom, že podradená posť sa vždy napojí na koniec nadradenej kosti, nikdy nie na začiatok. Toto sa dá riešiť pomocou malinkatej pomocnej kosti na ktorú napojíme obidve kosti. Tá bude vlastne slúžiť ako taký základný záchytný bod celého panáčika. Ak ho chceme celé zrotovať, stačí keď zrotujeme túto kosť.

Tak si ich prepojme. Označte si panáčika, kostru, dajte Ctrl+P a vyberte automatické váhy. A máme prepojeného panáčika Skúste si s ním pohýbať.

Pozrime sa ešte na to, ako jednotlivé kosti ovplyvňujú jednotlivé oblasti. Mne sa napríklad nepáči ako mi moja kosť krku hýbe s ramenami.

Za to môžu tie automatické váhy. Každá kosť má cez celý mesh natiahnutú vlastnú váhovú funkciu, ktorá určuje s akou váhou daná kosť oddaný vrchol meshu ovplyvňuje. Ak zvolíte automatické váhy, blender tie váhy proste nejak odhadne (na základe vzdialenosti a nejakých iných vlastností). Vieme si ich aj upraviť.

Vylezte naspäť do Object mode, označte si panáčika a zvoľte si Weight Paint.

Tu si vieme danú váhovú funkciu pre každú kosť upraviť pomocou maľovania. V pravom menúčku v časti Object data Properties si viete označiť jednotlivé kosti (pri zložitejšom objekte je dobré ich mať aj pomenované, aby sa v tom človek nestratil) a pozrieť sa na priradenú váhovú funkciu.

Prepnem sa na Viewport Shading, aby som lepšie videla farby (vtedy je všetko rovnomerne osvetlené a ignoruje svetelné zdroje). Modrá farba predstavuje 0, červená 1. Hore a vľavo máte vlastnosti pre štetec. Dôležité sú hlavne:

Okolo máte kopu ďalších pomocných vlastností. To už nechám na samoobjavovanie.

Upravte si váhové funkcie tak, aby vám vyhovovali. Ja idem opraviť ten krk.

SAMOSTATNÉ CVIČENIE:

uložte panáčika do nejakej pohodlnej polohy. pošlite mi obrázok (screenshot, alebo render)

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

Rigify

Blender má k dispozícii predrobenú kostru ľudského tela, ako aj niektorých zvierat. Je k tomu aj veľa funkčných nástrojov, ktoré stále zlepšujú a vyvíjajú, ale viac sa tomu venovať nebudeme. Ak ho chcete využiť, treba si na to zapnúť Addon Rigify.