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.


První díl série Hrátky s Unreal Engine - Část I: První krok do nereálna najdete zde.
Druhý díl Hrátky s Unreal Engine - Část II: Příběh dvou místností najdete zde.
Třetí díl Hrátky s Unreal Engine Část III: Konec modrobílých kachlíků najdete zde.
Čtvrtý díl Hrátky s Unreal Engine Část IV: Skriptujeme s Kismet najdete zde 
Pátý díl Hrátky s Unreal Engine Část V: Trocha pohybu neškodí najdete zde
Šestý díl Hrátky s Unreal Engine VI: Kamera, akce, jedem… najdete zde
Sedmý díl Hrátky s Unreal Engine VII: Klid před bouří najdete zde

V minulém díle jsme se poprvé podívali na zoubek Kismetu a v naší úrovni se začalo konečně dít něco zajímavého. Připravili jsme si primitivní obdobu cíle pro střelbu a ten pak vesele likvidovali. Bohužel jsme už poměrně brzy narazili na zásadní problém a totiž to, že nám tak nějak chyběly animace. Nebylo by fajn, kdyby se náš cíl pohyboval úrovní tak, jak je to obvyklé na střelnicích? Kdyby po zásahu nezmizel, ale efektně se složil k zemi? A protože odpověď na tyhle otázky je celkem jasná, máme v tomto díle stejně jasný úkol – připravit nějaké vlastní animace, což znamená seznámit se s animačním editorem Matinee.

Matinee je poměrně mocný nástroj, který má dost široké možnosti využití – od úplně základního rozpohybování modelů v úrovni až po připravení komplexní cutscény. Aby však nedošlo k omylu, musíme si nejdříve říci, o jakých animacích to vlastně mluvíme. I když se to tak na první pohled může zdát, tento animační editor neslouží jen k animování pohyblivých objektů. Animovat, tedy nějakým způsobem upravovat v čase, tu lze opravdu podstatně více vlastností objektů než pouze jejich pozici a rotaci. Co třeba měnit průběžně chování emitoru částic? Barvu světla? Jednotlivé klipy ve kterých animujete, můžete pouštět z Kismetu a naopak z klipů můžete spouštět akce, které si v Kismetu připravíte. S Matinee je prostě radost pracovat.

Hrátky s Unreal Engine Část V: Trocha pohybu neškodí
Výherce 4. místa v soutěži Make Something Unreal Contest - třtí fáza, kategorie: Best New Character Customization Pack

Začneme… od začátku. Vytvořením nového klipu Matinee. Protože s klipem se pracuje v rámci Kismetu, tam ho také vytvoříme. Otevřete si editor Kismet (pokud náhodou nevíte jak, zkuste si projít předchozí díl). Do volného místa klikněte pravým tlačítkem myši a zvolte New Matinee. Jsme na dobré cestě něčím pohnout – váš první klip je totiž na světě. Zkuste schválně vytvořit o kousek vedle ještě jeden. Když teď v editoru kliknete na ikonu filmové klapky (Open UnrealMatinee), uvidíte seznam existujících klipů – v tuto chvíli tedy naše dva. Bohužel se skrývají za poměrně obludnými jmény, které by vám později, až budete mít klipů výrazně více, rozhodně orientaci neusnadnili. Na to však existuje jednoduché řešení, které se nám navíc bude hodit i jinde.

V Kismetu označte váš klip a podívejte se do jeho vlastností. Naleznete tam položku Obj Comment. Zkuste tam vepsat třeba Otoceni desky. Jakmile zmáčknete enter, objeví se tento text nad objektem klipu v Kismetu. Toto pole, tedy komentář k danému objektu, mají všechny objekty, které v Kismetu vytvoříte (tedy i ty, se kterými jsme pracovali minule). Když ho vyplníte, komentář se vypíše nad příslušným objektem a vše je rázem přehlednější. Když pracujete s klipy Matinee, objevují se u nich právě tyto komentáře. Zkuste teď znovu kliknout na režijní klapku. Vidíte? U jednoho z klipů přibyl náš popis a hned se s ním bude pracovat lépe. Byla by škoda nezmínit ještě jednu zásadní vychytávku, kterou tyto komentáře umožňují. Protože UDK ve svém základu neumožňuje za běhu programu sledovat, jaká část kódu se právě provádí, jakou má která proměnná právě hodnotu atp., je nejjednodušším způsobem, jak mít alespoň zásadní představu o tom, co se děje uvnitř programu, vypisování textů na obrazovku (slyšíte ty rány? To se programátoři jali tlouct hlavami do zdi). Později se v Kismetu a samozřejmě hlavně v tom „opravdovém“ skriptování dostaneme k vytváření nejrůznějších podmínek a stavů, kde je tento postup víceméně nutný, ale využití najde i v podstatně jednodušších případech. Třeba v minulém díle – střelili jste do terče a on nezmizel? Možná jste v Kismetu udělali chybu, možná někde zapomněli napojit nějakou vazbu… ale kde? A v tuhle chvíli přichází právě ta zmiňovaná vychytávka. V nastavení objektu v Kismetu je pod položkou obsahující námi vepsaný komentář ještě zaškrtávátko nazvané Output Obj Comment To Screen. Pokud ho zaškrtnete a tento objekt má vyplněný nějaký komentář, zobrazí se tento text na obrazovce v momentě, kdy do něj program vstoupí. Tak můžete snadno zjistit, kam až program „došel“ a tam zjišťovat, proč nepokračoval dál tam, kam měl.

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

Ale zpět k našemu klipu. Otevřete ho buď jeho výběr ze seznamu vyvolaného tlačítkem s klapkou nebo double clickem na jeho objekt v Kismetu. Jako obvykle se nás nové prostředí pokusí k smrti vyděsit přehršlí různých tlačítek a oken, ale protože jsme přece jen s UDK už leccos zažili, tak většina z nás zůstala jen u lehkého zalapání po dechu a je připravena začít s novým prostředím zápasit (těch, kteří po otevření Matinee dostali infarkt, je nepochybně pouze zanedbatelné množství). Nicméně legrace stranou – prostředí Matinee vám bude tím povědomější, čím větší máte zkušenosti s jakýmkoliv animačním programem.

Jako obvykle se musíme ještě před tím, než začneme opravdu pracovat, o něčem nepatrně poučit. A to o tom, že statický model, nemusí být vždy statický. V Matinee dnes začneme animováním upraveného modelu kostky. Je to stejná kostka, jakou jsme použili už v minulém díle (případně použijte přímo vámi vytvořené objekty z minulého dílu). A stejně jako v minulém díle, ji musíme do scény vložit poměrně specifickým způsobem. Uživatelé UDK dělají poměrně často tu chybu, že nadšeni z jednoduchosti, s jakou se dá leccos přetáhnout z Content Browseru, často vezmou statický model, „pustí“ ho do scény a pak jsou překvapeni, že se nechová tak, jak by měl. To proto – a minule už jsme to nakousli – že takhle vložený statický model považuje engine za model skutečně statický. Na druhou stranu pokud statický model vložíme jako druh objektu (třídu) InterpActor, engine u takového modelu počítá s tím, že se může hýbat a že s ním jde vůbec dělat lecjaká neplecha. Celkem častá otázka pak zní, proč je to tak komplikované. Proč musíme dopředu enginu říkat, jestli se model bude hýbat nebo ne. Důvodů je víc, ale ten hlavní je výkon. Engine musí každý frejm zkontrolovat obrovské množství věcí. Čím kvalitnější engine je, tím více toho „stíhá“ a tím více objektů (a komplexnějších) může ve hře být, než se její běh zpomalí za hranici únosnosti. Engine je rád za jakékoliv usnadnění práce, které mu poskytnete. S objekty, o kterých ví, že se jejich tvar ani pozice v čase nemůže změnit, je schopný pracovat podstatně rychleji a lépe, než s těmi, u kterých musí provádět nejrůznější kontroly a propočty.

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

Takže se pustíme do animovaní. Protože na straně jedné někteří z vás již mají za sebou nějaké vlastní animované pokusy v Maxu či Maye a jiní, na straně druhé, nemají sebemenší tušení, co je to například klíč, vezmu to zlatou střední cestou a tedy základy animování v textu zmíním, ale opravdu jen bleskově.



 
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.