Klíčové snímky - Globální transformace těles - Morfování - Perpetuální animace - Animace textury
Statické modelování je pouze jedna část práce s programem CaZaBa. Další metou, která může obohatit naši tvorbu je možnost modely animovat, což nám otevře nové zajímavé obzory.
Jako základní stavební kámen pro každou animaci se používají tzv. klíčové snímky. Celá podoba modelu se všemi transformacemi je uložena vždy v klíčových snímcích a program mezi nimi podobu modelu a parametry interpoluje. Zároveň je potřeba mít pod kontrolou načasování. Animace v programu CaZaBa se časují pomocí počtu snímků animace a podle vykreslovací frekvence celé animace.
Délka celé animace stanovená počtem snímků se nastaví ve vlastnostech animace. Ty zobrazíme volbou Animace - Vlastnosti animace... nebo klávesovou zkratkou Ctrl + Shift + P. Následně v poli Počet snímků upravíme hodnotu podle našeho přání. Vykreslovací frekvenci zvolíme naopak v okně nastavení renderu (F10), kde zvolíme počet snímků za vteřinu v poli FPS videa.
Tip: Údaj o nastavení FPS animace můžete nalézt ještě jednou ve vlastnostech programu Nastavení - Možnosti..., ale pozor, zde se v poli FPS animace v návrhovém zobrazení jedná o vykreslovací frekvenci pouze při spuštění animace v návrhovém viewportu.
Každý model již tedy má jeden klíčový snímek v okamžiku, kdy tento model vytvoříme. Pro rozpohybování těles je nutné někde v animaci vytvořit další klíčové snímky v nichž model náležitě upravíme. To provedeme nastavením animace do určitého okamžiku - snímku v poli Snímek č. a následným stiskem tlačítka Přidej klíčový snímek . Toto si vyzkoušíme názorně v následujících odstavcích.
Tip: Každý model má své klíčové snímky a v každém snímku animace může pro daný model existovat pouze jeden klíčový snímek. Více modelů může mít svůj klíčový snímek v jednom snímku animace současně.
Pro snadnější začátek si stáhněte zde model srdce, který použijeme pro jednoduchou animaci. Abychom jej dostali do scény programu, je nutné jej importovat buď volbou Model - Import... nebo klávesovou zkratkou Ctrl + I. Model je v souborovém formátu .OBJ, takže v dialogovém okně také vyberte formát souborů Wavefront .OBJ a nalistujte jeho umístění na disku. V dialogových oknech následujících po vybrání souboru pouze odsouhlaste Nahradit materiály načtenými ze souboru a vlastnosti importu - stačí stisknout tlačítko OK.
Tip: V případě importu složitějších modelů se může stát, že program bude načítat data delší dobu, po kterou nebude reagovat.
Nyní máme ve scéně jedno červené srdce, které můžeme začít animovat. Jako první si vyzkoušíme animaci globálních transformací celého modelu. Nastavíme pohyb modelu po rovné dráze tam a zpátky. Model srdce vyberte v Seznamu modelů nebo klikem levého tlačítka myši na něj. Potom na liště nástrojů vyberte transformaci Posun a posuňte srdce na hodnotu 10 v ose X. Buď tažením myší nebo nastavením přesné hodnoty do pole X v dolní části okna programu.
Jelikož chceme, aby v tomto stavu modelu animace také skončila, tak posuňte aktuální snímek animace na pozici např. 100 v poli Snímek č. a zde vytvořte další klíčový snímek tlačítkem Přidej klíčový snímek . Animace našeho srdce bude tedy trvat 100 snímků. Pro zmiňovaný posun po přímce tam a zpátky vložíme do středu animace třetí klíčový snímek - nastavte animaci na Snímek č. = 50 a opět vytvořte modelu nový klíčový snímek tlačítkem Přidej klíčový snímek . Zde v poli X stále se zapnutou transformací Posunu nastavte modelu pozici naopak -10. Tím se vytvoří námi požadovaný pohyb. Pozor: Všimněte si, že když nastavíte animaci na jiný snímek, než je právě klíčový snímek, tak model nijak nereaguje na požadované úpravy. To lze pouze v klíčových snímcích.
Skrze animaci právě vybraného modelu můžete navigovat pomocí tlačítek na dolním panelu okna programu. Jsou to Na začátek animace , O klíčový snímek zpět - skočí na nejbližší předchozí klíčový snímek, O klíčový snímek vpřed - skočí na nejbližší následující klíčový snímek, Na konec animace . Kompletní seznam všech klíčových snímků modelu zobrazíte tlačítkem Seznamu klíčových snímků zcela vpravo v této skupině tlačítek. V tomto seznamu má každý snímek zobrazen svůj název a v závorce číslo snímku, na kterém je umístěn v animaci. Název snímku lze změnit v poli hned vlevo od tlačítka pro seznam klíčových snímků.
Vraťme se k naší animaci srdce. Kromě posunu ji můžeme obohatit i o další transformace. Zkusme třeba rotaci kolem svislé osy Z o 360°. První a poslední snímek má zůstat stejný, tak si jich nebudeme všímat, ale pomocí výše zmíněných tlačítek se dostaneme na prostřední klíčový snímek na Snímku č. 50 v animaci. Na liště nástrojů zvolíme transformaci Rotace a v poli Z na dolním okraji obrazovky nastavíme hodnotu 180. To by samo o sobě nestačilo, protože nyní máme mezi každými dvěma klíčovými snímky rozdíl v rotaci o 180°. Program by nevěděl, jestli mezi nimi má interpolovat přičítáním nebo odečítáním rozdílu příslušného k jednotlivým snímkům. Proto nastavíme animaci na Snímek č. = 25, vložíme další klíčový snímek a hodnotu rotace v ose Z upravíme na 90. Totéž provedeme na Snímku č. 75, ale rotaci v ose Z nastavíme na -90. Program vždy interpoluje mezi dvěma nejbližšími hodnotami. Tím, že jsme mu takto vytvořili klíčové snímky s rozdílem rotace jen o 90°, jsme dali programu jasné vodítko, kterým směrem se bude rotace provádět.
Tip: Při vytváření klíčových snímků na pozici 25 a 75 jste si mohli všimnout, že se model posouvá podle dříve nastavené transformace posunu. Ano, při vytvoření nového klíčového snímku se zachovají všechny již existující transformace modelu a do nového klíčového snímku se uloží jejich interpolované hodnoty v daném okamžiku.
Nyní tedy máme krásné červené srdce, které se posouvá po rovné dráze tam a zpátky a zároveň se otáčí kolem své osy Z. Z toho vyplývá, že v programu se používají jednotné klíčové snímky, ve kterých můžete na modelu upravovat jakékoliv vlastnosti. Není tudíž potřeba dopředu plánovat jaký typ klíčového snímku vložit pro kterou transformaci atd.
Animaci si můžeme vyrenderovat například jako video. Tlačítkem Render nebo klávesovou zkratkou F10 otevřete okno pro nastavení renderu. Zde vyberte Rozlišení obrazu, typ Video, Cestu k uložení souboru, Název souboru, Animace - Část a nastavte pole Od = 0, Do = 100 a Formát videa - např XviD nebo x264.
Kromě animace globálních transformací lze v programu CaZaBa animovat i samotný tvar modelu. Je to velmi prosté a vyzkoušíme si to na tvorbě pulzujícího srdce. Uložte si scénu a založte si novou - buď v menu Soubor - Nový nebo klávesovou zkratkou Ctrl + N a znovu si volbou Model - Import... importujte model srdce ze souboru Heart.obj. Nyní model ponechte tam, kde je, ale opět mu vyrobte klíčové snímky ve snímcích animace č. 0, 25, 50, 75 a 100.
Nastavte hodnotu v poli Snímek č. na 25. Téměř ve všech případech platí, že importované modely jsou ihned převedeny na obecnou geometrii, takže teď můžeme rovnou přepnout na kartu úprav vrcholů na levém panelu. Zde vyberte vrcholy jen jedné poloviny srdce a potom zcela dole na konci karty přepněte v sekci Pivot na radiobutton Použít umělý. Poté zvolte transformaci Změna velikosti a do polí všech tří os X, Y a Z na dolním okraji okna programu zadejte hodnotu 20. To znamená, že díky umělému pivotu se nám celá polovina srdce zvětší směrem od středu o 20 procent. Stejný postup zopakujte pro druhou polovinu srdce v klíčovém snímku na pozici 75 tak, že ve výsledku se budou střídavě zvětšovat a zmenšovat obě poloviny srdce.
Toto je vlastně celý trik k animování změn tvaru modelů. Stačí vždy pouze vložit klíčový snímek a pozměnit kteroukoliv část modelu, jednoduché. Ovšem CaZaBa umí ještě o něco víc. Pokud podoba modelu v obou klíčových snímcích interpolace vychází ze stejného tvaru a má tedy stejný počet vrcholů, tak se interpolují stejné vrcholy mezi sebou. Ale pokud se počet vrcholů modelu v každém klíčovém snímku liší, tak se program snaží deformovat tvar z jednoho klíčového snímku do druhého podle toho, které vrcholy jsou si nejbližší.
Vyzkoušíme si to opět velice snadno. Vedle modelu srdce vytvořte z kategorie 3D modely na levém panelu model Elipsoid s následujícími parametry:
Poté znovu vyberte model srdce a přejděte na jeho klíčový snímek na snímku č. 50 v animaci. Nyní do tohoto klíčového snímku zkopírujeme podobu elipsoidu, tedy jeho konkrétního klíčového snímku. K tomu stiskněte tlačítko Zkopíruj klíčový snímek . Objeví se seznam modelů, ve kterém vyberte elipsoid a stiskněte OK. Následně se místo seznamu modelů zobrazí seznam klíčových snímků elipsoidu. Ten jsme nijak neanimovali, takže má pouze jediný klíčový snímek. Ten vyberte a opět stiskněte OK. Nyní v modelu srdce máme v jednom klíčovém snímku tvar koule. Samotný model elipsoidu již můžeme odstranit - vyberte jej a stikněte tlačítko Smaž na levém panelu.
Když zkusíte spustit animaci, vidíte, že program transformuje podobu modelu mezi tvarem srdce a koule a pak zase zpět. Může se stát, že přechody mezi příliš rozdílnými klíčovými snímky jsou příliš ostré. Zkuste například z modelu smazat klíčové snímky na pozicích 25 a 75. Pomocí tlačítek O klíčový snímek zpět a O klíčový snímek vpřed nalistujte požadovaný klíčový snímek a pak stiskněte tlačítko Smaž klíčový snímek . Při opětovném spuštění již animace vypadá přijatelněji.
Tip: V případě, že jsou tvary dvou sousedících klíčových snímků příliš odlišné, může se stát, že přechod mezi nimi bude příliš ostrý nebo skokovitý. Takovou animaci je potřeba v daném místě ošetřit ručně vložením dalších klíčových snímků a korekce průběžné podoby tělesa v nich.
V některých případech se může stát, že potřebujeme jednu animaci opakovat pořád dokola nebo ji nějak přesněji ovládat jako celek. Z toho důvodu může scéna v programu CaZaBa obsahovat několik oddělených animací s vlastním prostorem a vlastní časovou osou. Při začátku práce je vždy ve scéně přednastavena jedna animace s názvem Main, která jako jediná nejde smazat. My si nyní vytvoříme druhou animaci, ve které budeme mít naši opakující se (perpetuální) animaci. Vyberte volbu Animace - Nová animace... nebo klávesovou zkratku Ctrl + Shift + A. V dialogovém okně můžete zadat Název animace, Počet snímků nám postačí 100, protože animace našeho srdce je také dlouhá 100 snímků, a stiskněte OK.
Objevil se nový prázdný animační prostor. Do něj si zkopírujeme model srdce z hlavní animace. Použijte volbu Model - Kopírovat. V zobrazeném seznamu animací vyberte animaci Main - naši původní animaci a v následujícím seznamu vyberte model srdce. Díky tomuto jsme model srdce se všemi jeho klíčovými snímky zkopírovali do nové animace. Pozor: Původně jsme na srdce nepoužili žádnou texturu. Nicméně v opačném případě bychom nyní viděli, že se na zkopírovaném modelu v nové animaci žádná textura neukazuje. To je logické neboť nová animace má i vlastní paletu materiálů. Abychom do nové animace dostali i původní použité materiály s případnými texturami, je potřeba udělat následující. Pomocí volby Animace - Výběr animace... se ujistěte, že jste v naší nové animaci. Potom zvolte možnost Animace - Kopírovat materiály z animace... a v zobrazeném seznamu vyberte původní animaci Main. Pro kontrolu se můžete nyní podívat do palety materiálů , kde uvidíte zkopírované materiály.
Nyní se opět pomocí volby Animace - Výběr animace... přeneste zpět do hlavní animace Main. Model srdce zde můžete smazat - nic se neděje, jeho animaci máme schovanou v animaci Nová. Místo toho z karty Komplexní geometrie na levém panelu vyberte model Animace v animaci a stiskněte tlačítko Vytvořit. Jedná se o objekt, který nám dovolí přehrávat jinou animaci jakoby to byl jeden model. V dolní polovině se objevilo několik parametrů. První z nich je tlačítko [...], které stiskněte a v zobrazeném seznamu animací vyberte naši novou animaci. Z dalších parametrů jsou nyní nejdůležitější Start snímek a Stop snímek. První z nich ponechte na hodnotě 0 a druhý nastavte na hodnotu 100. Tím je řečeno, že Animace v animaci bude přehrávat vloženou animaci od 0-tého do 100-tého snímku. Zároveň nesmíme zapomenout na poslední parametr - Opakovat animaci, který zaškrtněte. Teprve díky tomu se bude Animace v animaci přehrávat stále dokola.
Když animaci spustíte, jistě vidíte, že se zopakovala pouze dvakrát. To proto, že hlavní animace má od začátku přednastavenou délku 200 snímků a námi vložená animace je dlouhá 100. Délku kterékoliv animace, nejen té hlavní, upravíme ve vlastnostech animace. Použijte volbu Animace - Vlastnosti animace... nebo klávesovou zkratku Ctrl + Shift + P a zde změňte hodnotu Počet snímků např. na 500. Zároveň, jak již zaznělo, Animace v animaci je samostatný objekt ve scéně, tudíž je možné jej dále animovat přidáváním jeho dalších klíčových snímků a změnou jeho parametrů nebo globálních transformací. Například můžeme nám již známým způsobem celou Animaci v animaci umístit v jednom klíčovém snímku do pozice Y = 10 a v druhém klíčovém snímku do pozice Y = -10. Výsledkem bude pohybující se animace srdce i když jsme do jeho původní animace žádný pohyb nevytvořili. Animace ostatních modelů ve scéně zůstanou nedotčeny.
Tip: Dejte pozor, abyste si nesmazali animaci Nová dokud na ni máte napojený objekt Animace v animaci v hlavní animaci. Objekt Animace v animaci pracuje jen s odkazem na zadanou animaci, takže sám o sobě by jinak nic nevykresloval.
Tip: Každý objekt Animace v animaci je zcela samostatný objekt ve scéně. Můžete tedy mít ve scéně jeden nebo několik objektů Animace v animaci. Každý z nich může přehrávat jinou animaci nebo mohou všechny přehrávat stejnou animaci, ale každý podle svých parametrů.
Texturu jde na modelu animovat dvojím způsobem. První je velice jednoduchý pomocí UV souřadnic vrcholů. Během animace se interpolují všechny parametry modelu včetně transformací a včetně všech parametrů jednotlivých vrcholů jak ve 3D prostoru, tak i v prostoru textury. Nevýhodou je, že jde pouze o přesun vrcholu v rámci textury, takže je nemožné nebo obtížné tímto přístupem simulovat například promítání filmu na modelu televize a podobně.
Chceme-li tedy například promítat animaci s nějakým dějem přímo jako texturu na modelu, slouží k tomu možnost streamování videa do textury. Opět jde o velice jednoduchý postup. Použijte volbu Animace - AVI stream materiál..., v poli Cesta k souboru s pomocí tlačítka [...] vyberte soubor vašeho videa. Potom vyberte Animaci - animační prostor, do kterého chcete video promítat a následně vyberte Materiál, který nebudete používat pro nic jiného a můžete jej ve vaší scéně oželet - např. Materiál 30. Chcete-li, aby se video v textuře opět neustále opakovalo, tak zaškrtněte Opakovat a okno zavřete tlačítkem Zavřít.
Tip: Jestli se načtení do materiálu nezdařilo, zkuste video uložit v jiném video kompresoru a načtení do materiálu opakovat.
Tímto jsme si nastavili videostream do materiálu a nyní ho použijeme. V kategorii 3D modely na levém panelu vytvořte například Kvádr a z nabídky materiálů mu přiraďte Materiál 30. Ihned uvidíte, že se na stěnách kvádru zobrazil obsah videa. Následně si můžete pustit animaci v návrhovém zobrazení pro kontrolu, že video se skutečně přehrává a nebo rovnou vyrenderovat do nového videa. Opět tlačítkem Render nebo klávesovou zkratkou F10, kde v okně Nastavení renderu opět nastavíte parametry výstupu popsané výše.