Hlavní stránka Multimédia Hry a zábava Hrátky s Unreal Engine VIII: Můj dům, můj hrad
Hrátky s Unreal Engine VIII: Můj dům, můj hrad
autor: Aleš Ulm , publikováno 15.10.2010
Hrátky s Unreal Engine VIII: Můj dům, můj hrad

Minulý značně teoretický díl našeho seriálu zakončil zběžné seznámení se základními funkcemi UDK editoru a jeho součástí. Dneska už začneme pracovat na konkrétním projektu a jako základ vystavíme našemu virtuálnímu hrdinovi útulný domov. Vylepšíme ho vlastními texturami a také pěkně osvětlíme. Příště ho pak vypustíme i dále.


Domov našeho hrdiny se už začíná rýsovat, ale je pořád takový… mrtvý. Vaše znalosti by už měly být určitě dostatečné na to, abyste si sami zprovoznili automaticky se otevírající dveře nebo něco podobného. To ale nestačí. Takže teď si ukážeme pár triků, jak můžete scénu oživit pomocí světla. Naučíme se, jak světlo zapínat a vypínat a jak naanimovat jeho pohyb nebo třeba změnu barvy.

Než začneme, odkážu se ještě na jednu část minulého dílu. Pokud jste ho statečně přelouskali, tak teď máte asi představu, že ne každý druh objektu (tedy každá třída) je vhodná na všechny činnosti a úkony. Základní třída světla, které vytvoříte ve scéně pomocí kontextové nabídky Add Actor nebo při držení klávesy L, neumožňuje pohyb světla animovat, ani s ním podnikat některé další operace. Díky dědičnosti jsou z něj ale odvozeny podtřídy, se kterými to už činit lze – jmenovitě (pokud se bavíme o všesměrovém světle – PointLight) PointLightMovable a PointLightTog­gleable. Tedy varianta pohyblivého světla a takového, které lze zapínat a vypínat. Pokud byste se o těchto tříd podívali, zjistili byste, že PointLightMovable lze i zapínat a vypínat (ale název PointLightMova­bleToggleable už by byl asi trochu moc), zatímco s PointLightTog­gleable hýbat nelze. Proto, když si nebudete jistí, co všechno budete od světla požadovat, je PointLightMovable lepší volba.

Pokud byste tohle všechno ignorovali a pokusili se třeba animovat základní světlo Light, obdržíte poměrně časté chybové hlášení, že nějakou operaci nelze provést, protože nějaký objekt „is static“. Tohle je (i dle fóra) opravdu častý problém, který má snadné vysvětlení – třída objektu prostě není pro tuto akci určena, proto budete muset zapátrat po nějaké odvozené, která to povoluje.

Hrátky s Unreal Engine VIII: Můj dům, můj hrad

Takže teď, když už víme zase o kousek víc, použijeme v naší scéně objekt třídy PointLightMovable.

Hrátky s Unreal Engine VIII: Můj dům, můj hrad

Toto světlo můžeme animovat stejně, jako jsme dřív animovali objekt třídy InterpActor. Vytvoříme tedy nové Matinee, při vybraném světle v něm založíme New Empty Group a v ní Movement Track. Pak už stačí v čase nastavit klíče s pozicemi světla a v Kismetu náš klip pustit (třeba při startu úrovně) a případně nechat běžet ve smyčce. Zřejmě na nás ale vyběhne ještě jedno upozornění a to ve smyslu, že nastavená fyzika tohoto objektu se neslučuje s tím, aby byl animován. Už jsme to letmo zmínili, takže jen připomenu, že objekty, které animujeme v Matinee by ve svých vlastnostech měly mít v sekci Movement nastaven typ fyziky PHYS_Interpolating.

Hrátky s Unreal Engine VIII: Můj dům, můj hrad



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