Hlavní stránka Multimédia Hry a zábava Hrátky s Unreal Engine Část IV: Skriptujeme s Kismet
Hrátky s Unreal Engine Část IV: Skriptujeme s Kismet
autor: Aleš Ulm , publikováno 25.6.2010
Hrátky s Unreal Engine Část IV: Skriptujeme s Kismet

Ve čtvrté části seriálu o Unreal Development Kitu si posvítíme na skriptovací editor Kismet. Díky němu lze ve hře vytvářet nejrůznější události, určovat jak budou objekty reagovat na vaše počínání a vůbec určovat, jak bude hra fungovat. Je to mocný nástroj, který je ale překvapivě jednoduchý i díky přehlednému vizuálnímu zpracování vazeb.


To nám krásně nahrává na to, abychom si ukázali další ze základů fungování Kismetu. Vidíte na naší nové akci růžový vstup pojmenovaný Target? Jeden ze způsobů, jak akci „říct“, na jaký objekt má vlastně působit, je nechat ten příslušný objekt vstoupit do akce přes tento konektor. Postup je velmi prostý. Jestli máte ve scéně označenou naši desku, klikněte do Kismetu pravým tlačítkem a vyberte New Object Var Using InterpActor_0 (název může být jiný – podle toho, jak se jmenuje vaše deska). Tím jsme v Kismetu vytvořili objekt (proměnnou) který tu představuje naši desku. Teď můžete z konektoru Target vytáhnout vazbu do tohoto objektu a pak zkusit hru spustit. Jeden výstřel a objekt je pryč. Zkuste vystřelit ještě jednou…

Hrátky s Unreal Engine Část IV: Skriptujeme s Kismet

„U Joviše! Holmesi, deska je pryč ale výstřely se o ní dál zaráží. Jako by byla… neviditelná!“ Slavný detektiv se pobaveně usmál, láskyplně odložil své vzácné housle a významně vztyčil ukazovák jako vždy, když se chystal svého přítele začít poučovat. Což bylo, jak si Watson dobře uvědomoval, bohužel až příliš často. „Ale vždyť je to tak prosté, drahý Watsone. Akce, která v Kismetu proběhla, desku nezničila, jen ji skutečně skryla, takže není vidět. Její model však ve scéně nadále zůstává a střely se o něj logicky dál zaráží.“ „Zatraceně… Co s tím tedy provedeme?“ Holmes se nepřestával usmívat. Netrpělivost jeho druha ho dokázala vždy pobavit.

Vytvořte další akci: New Action → Actor → Change Collision. Její pomocí změníme po zásahu nastavení desky tak, aby znovu nekolidovala s ničím, a střely jí budou prolétat. Tuto akci můžeme umístit na stejnou úroveň jako tu, která desku skryje (a tedy ji navázat přímo na výstup z eventu), nebo jí můžeme napojit na výstup “skrývací” akce, takže proběhne hned po ní – což nám ale nijak nevadí. V nastavení akce vyberte jaký druh kolize má akce vlastně nastavit (COLLIDE_NoCo­llision) a pak je třeba – jak už to dobře známe – určit, na jaký objekt akce působí. Proměnnou s objektem nemusíte vytvářet znova, stačí z konektoru Target vyvést spoj do objektu, který už jsme vytvořili. Asi si všimnete, že se situace v Kismetu začíná zvolna znepřehledňovat. Není ale nutné zoufat, někdy příště si ukážeme pár triků, které nám pomohou udržet si ve skriptech pořádek.

Hrátky s Unreal Engine Část IV: Skriptujeme s Kismet

Jestli jste se drželi správně všech pokynů, máte teď ve scéně desku, která po zásahu zmizí a přestane blokovat střely (stejně jako v jiných případech se toho dá docílit i jinak, ale snažíme se obsáhnout co nejvíc různých funkcí v Kismetu).

Teď se vrhneme na znovuzobrazení desky a znovunastavení způsobu jejího kolidování na kolizi se zbraněmi. Taková akce by ale neměla smysl, kdybychom mezi skrytí a znovuzobrazení nedali žádnou časovou prodlevu a proto znovu využijeme toho, co jsme si ukázali v začátku článku. Vytvořte druhou akci typu Toggle Hidden. Teď chceme, aby objekt naopak odhalila, proto vyvedeme vazbu z výstupu poslední akce (nebo, pokud jsou všechny na stejné úrovni tak libovolné z nich) do vstupu UnHide a akci znovu přiřadíme příslušný objekt do vstupu Target. Pravým tlačítkem klikněte na výstup akce, ze které program do té nově vytvořené vstupuje a pomocí Set Activate Delay nastavte počet vteřin, který má program počkat. Za novou akci pak napojte druhou akci Change Collision pomocí které nastavíte kolizi zpět na COLLIDE_ BlockWeapons.

Hrátky s Unreal Engine Část IV: Skriptujeme s Kismet



 
Komentáře naleznete na konci poslední kapitoly.
92 čtenářů navrhlo autorovi prémii: 46Kč 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.