Hlavní stránka Multimédia Hry a zábava Hrátky s Unreal Engine Část V: Trocha pohybu neškodí
Hrátky s Unreal Engine Část V: Trocha pohybu neškodí
autor: Aleš Ulm , publikováno 16.7.2010
Hrátky s Unreal Engine Část V: Trocha pohybu neškodí

Pátý díl seriálu o Unreal Development Kitu se tentokrát zaměří na další podstatnou součást balíku a tou je animační editor Matinee. Díky němu můžete rozpohybovat všechny možné i nemožné objekty a ze statických scén udělat zase něco o krůček víc profesionálního. Začneme s jednoduchými pohyby cíle a postupně náš záběr rozšíříme.


Teď si vytvoříme klíče, které budeme potřebovat. Řekněme, že začneme u jedné stěny a cíl necháme šest vteřin jet ke stěně druhé. Klíč v čase 0 připraví vždy engine sám – to je ten tmavě červený trojúhelník v čase nula na pohybové stopě. Přesuňte ukazatel času na šestou vteřinu (abyste s ukazatelem pohybovali přesněji, můžete si zapnout funkci Snap). Máme tu ale hned drobný problém. Editor vás s ukazatelem nepustí za pátou sekundu animace. To proto, že standardně vytvořil stopu dlouhou pět vteřin. Snadno ji zvětšíte tak, že chytnete myší světle červený trojúhelník označující konec stopy a tažením délku stopy zvětšíte nebo zmenšíte. Dejte si ale pozor. Tímto krokem nastavujete, jak dlouhá bude stopa (resp. klip) bez ohledu na jeho obsah. Pokud byste například nastavili délku stopy na osm vteřin a v něm připravili jen šest vteřin dlouhou animaci pohybu, engine bude animaci považovat za skončenou po těch osmi vteřinách. To může způsobit nesprávné chování, pokud si například nastavíte nějakou akci tak, aby se pouštěla po dohrání vaší animace – v tomto případě by se pustila až dvě vteřiny poté, co by na obrazovce vaše animace dojela.

Hrátky s Unreal Engine Část V: Trocha pohybu neškodí

Když máte ukazatel na šesté vteřině (zkontrolujte si to podle zelených čísel na levé straně editoru Matinee) a vybranou pohybovou stopu, vytvořte klíč buď pomocí ikony vlevo nahoře (Add Key) nebo zmáčknutím klávesy enter. Tím máme dva klíče – první (vytvořený automaticky) a poslední. Teď jim musíme přiřadit hodnoty – tedy říct, na jaké pozici se v nich má náš objekt nacházet. Klikněte myší na první klíč a pak do scény na objekt. V levém dolním rohu obrazovky byste měli vidět Adjust Key 0 (v textu zmiňuji sice první a druhý klíč, nicméně engine počítá klíče od nuly, takže z jeho pohledu jsou to klíče 0 a 1). Tím nám říká, že mu máme ukázat, jakou hodnotu animované vlastnosti (v našem případě polohy) má objekt v tomto časovém bodě. Proto ve scéně vezmeme náš objekt a posuneme ho k jedné ze stran místnosti. Pak označíme druhý klíč (text na obrazovce se změní na Adjust Key 1) a stejným způsobem ho posune na stranu opačnou. Pokud jste vše udělali správně, uvidíte ve scéně žlutou trasu objektu, která znázorňuje, jak se bude animovat.

Když teď zkusíte tahat myší po časové ose, měli byste vidět, jak se animovaný objekt pohybuje. Pokud pohyb nevidíte, zkontrolujte, zda máte v editoru zapnutý Real Time Mode (viz minulý díl). Zapnout ho můžete buď příslušnou ikonou nebo pomocí klávesové zkratky CTRL-R. Pokud chcete animaci teď pro test pustit, použijte tlačítka pro přehrávání v horní části editoru (Play) nebo klávesu space když je okno editoru Matinee aktivní.

Hrátky s Unreal Engine Část V: Trocha pohybu neškodí

A je to! Máme hotovou první animaci. Teď jak ji ještě pustit… V Kismetu vytvořte Event typu Level Startup, který se zavolá při startu úrovně. Jeho výstup propojte se vstupem Play námi vytvořeného klipu Matinee a spusťte hru. Cíl se rozjede od jedné stěny ke druhé, kde už ale zůstane. To není přesně to, co bychom chtěli. Kdybychom teď ve vlastnostech našeho klipu v Kismetu zaškrtnuli položku Looping, animace by se zacyklila. Cíl by dojel k protější stěně a animace by se pustila znovu, takže by se vlastně dostal skokem zpět, odkud by znovu vyjel. Pokud chcete, můžete si to vyzkoušet, ale uvidíte, že to také není ono. Správně bychom měli vytvořit druhou animaci, ve které by cíl jel obráceně, z výstupu Completed prvního klipu vytvořit spojení do vstupu Play klipu druhého a z jeho výstupu Completed spojení do vstupu Play klipu prvního. Tím bychom docílili toho, že po dokončení přehrávání každého z klipů, by se pustil od začátku klip druhý. To je ale zbytečná práce navíc, protože UDK má jako obvykle připraveno nějaké to zjednodušení.

Hrátky s Unreal Engine Část V: Trocha pohybu neškodí

Z výstupu Completed (tedy toho, odkud bude engine pokračovat po dokončení klipu) vytvořte spojení do vstupu Reverse toho samého klipu. Tento vstup donutí engine přehrát klip pozpátku. A aby se kruh uzavřel, vytvořte spojení z výstupu Reversed (to samé co Completed, ale v případě, že je klip přehráván pozpátku) do vstupu Play. Takže postup teď bude spuštění úrovně → přehrání klipu → dokončení přehrávání → přehrání klipu pozpátku → dokončení přehrávání klipu pozpátku → přehrání klipu atd. atd.

Pusťte hru. Vidíte? Přesně tohohle jsme chtěli dosáhnout! No řekněte, nebyla to zábava? Jestli jste zvyklí se za dobře odvedenou práci poplácat po zádech nebo se dojít pochlubit rodičům/přítel­kyni/domácímu zvířectvu/náhodným kolemjdoucím, tak teď je ta správná chvíle, protože jste si vedli opravdu výborně…



 
Komentáře naleznete na konci poslední kapitoly.
59 čtenářů navrhlo autorovi prémii: 28.7Kč Prémie tohoto článku jsou již uzavřené, děkujeme za váš zájem.
Tento web používá k poskytování služeb soubory cookie.