Hrátky s Unreal Engine VIII: Můj dům, můj hrad
i Zdroj: PCTuning.cz
Hry Článek 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 | Kapitola 7

Aleš Ulm

Aleš Ulm

15. 10. 2010 03:00 7

Seznam kapitol

1. Úvod 2. Když textura, tak vlastní… 3. Je to plné… textur! 4. Tajemné hlubiny editoru materiálů
5. Budiž (dynamické) světlo! 6. Víc! Víc hrátek se světly! 7. Skript: co, jak, kde

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.

Reklama

Jak už bylo řečeno v úvodu, počínaje tímto dílem, najdete zde vždy kratší část věnovanou skriptování. Dnes to bude pořád ještě trochu zahřívací kolo – což ale neznamená další teoretizování, právě naopak.

Shrňme si rychle co o skriptování víme a trochu to rozšiřme:

Zásadní prvek jsou třídy objektů jako je například Light, InterpActor, StaticMesh atp. Třída je vlastně vzor, který říká, jaký takový objekt je, jaké jsou jeho vlastnosti a co se s ním dá dělat. Třídy jsou uloženy v různých podadresářích adresáře Development – každá třída je přitom soubor s koncovkou uc. Jméno toho souboru je stejné jako název této třídy. Proto, kdybyste si dali tu práci, našli byste tu InterpActor.uc, Light.uc, PointLightMova­ble.uc atp. Třídy existují v určitém stromu dědičnosti – PointLight rozšiřuje třídu Light, PointLightMovable rozšiřuje třídu PointLight. Když otevřete soubor se třídou hned v úvodu uvidíte, z čeho tato třída vychází.

Problém samozřejmě je, že při stovkách tříd (nenechte se vystrašit – i až budete dělat pokročilé věci, budete pracovat s jejich nepatrným zlomkem) je dost těžké si představit, jak vlastně ten celý strom vypadá. A v tu chvíli přichází na pomoc (jak už dle fóra někteří uživatelé vědí) mimo jiné i prográmek UnCodex, stáhnutelný zde. Ten je schopný načíst celou strukturu tříd v UDK a přehledně vám je zobrazit.

Hrátky s Unreal Engine VIII: Můj dům, můj hrad
i Zdroj: PCTuning.cz

Využití tohoto programu není nezbytné, ale pro pokročilejší práci je neocenitelné.

Když budu mluvit o skriptování, budu tím myslet vytváření nových nebo editaci existujících tříd. To v praxi znamená vytvářet a editovat právě tyto uc soubory, jejichž návaznost UnCodeX zobrazuje. Protože se jedná o běžné textové soubory, stačí k jejich editaci standardní Notepad z Windows, ale věřte mi, že práce s ním vás neskutečně zpomalí. Pokud jste to ještě neudělali, stáhněte si libovolný pokročilejší textový editor nahrazující notepad. Sám používám k práci Notepad++. Netroufám si posuzovat jeho kvality vůči jemu podobným, ale mně zcela vyhovuje.

Tak a teď, abychom alespoň vlastního udělali, vytvoříme vlastní třídu. Bude to sice jen kopie třídy již existující, ale to nevadí – ukážeme si tak, jak funguje kompilace a kde se naše třída pak objeví.

Nalezněte soubor PointLightMova­ble.uc. Udělejte jeho kopii na stejném umístění a nazvěte ji PointLightMova­bleTest.uc. Tento soubor nyní otevřete. Název třídy je zadán vždy v souboru (předchází slovu extends, takže vy tam teď uvidíte původní PointLightMovable) a soubor se musí vždy jmenovat stejně jako třída. Pokud byste na to zapoměli, engine vám to neodbytně připomene. Takže v našem souboru zaměňte PointLightMovable extends… za PointLightMova­bleTest extends… a soubor uložte. Zdrojové soubory UDK jsou standardně read-only, takže vaše kopie zřejmě také – tuto ochranu musíte nejprve odstranit (buď přímo ve vašem textovém editoru, pokud to umožňuje, nebo z Exploreru, Total Commanderu nebo něčeho podobného).

Když teď zkusíte spustit editor, stane se následující: engine projde automaticky adresáře se třídami, objeví novou, vámi vytvořenou a upozorní vás, že zkompilované skripty jsou zastaralé a je nutné je znovu skript zkompilovat (zjednodušeně: převést z formy textu do svého interního formátu). Potvrďte, že chcete provést kompilaci. Objeví se textová konzole a proběhne kompilace. K tomu je třeba si říct pár drobností:

  • rekompilaci je nutné udělat jen tehdy, když dojde ke změně ve skriptech a v tomto případě bude trvat déle, než naše pozdější snažení z důvodu, ke kterému se teprve dostaneme
  • pokud kompilace skončí úspěchem – to poznáte ze závěrečné (v případě úspěchu zelené, jinak červené) hlášky Compilationi succeeded – konzoli zavřete a zkuste znovu spustit editor. Teď to již půjde.
  • pokud se v konzoli objeví chyba, zkuste z ní odhadnout, v čem je problém – s největší pravděpodobností tam bude uveden soubor a číslo řádku, kde k chybě došlo.
  • pokud se vám nepodaří chybu najít a odstranit (což by snad, vzhledem k tomu, že jsme zeditovali jediné slovo, nemělo nastat), inkriminovaný soubor prostě smažte a tím se vrátíte k původnímu stavu.

Protože jsme vytvořili duplikát třídy PointLightMovable, můžete ji používat úplně stejně, jako originál. V seznamu tříd ji také naleznete na příslušném místě.

Hrátky s Unreal Engine VIII: Můj dům, můj hrad
i Zdroj: PCTuning.cz

Takže teď už zřejmě chápete, co konkrétně taková třída je, jak se edituje a kde jí můžeme hledat. To je dost pro to, abychom se příště podívali na zoubek herní kameře…

Předchozí
Další
Reklama
Reklama

Komentáře

Nejsi přihlášený(á)

Pro psaní a hodnocení komentářů se prosím přihlas ke svému účtu nebo si jej vytvoř.

Rychlé přihlášení přes:

Google Seznam
Reklama
Reklama