Hrátky s Unreal Engine VII: Klid před bouří
i Zdroj: PCTuning.cz
Hry Článek Hrátky s Unreal Engine VII: Klid před bouří

Hrátky s Unreal Engine VII: Klid před bouří | Kapitola 5

Aleš Ulm

Aleš Ulm

17. 9. 2010 03:00 34

Seznam kapitol

1. Když začít, tak v novém 2. Skriptovat či neskriptovat… 3. Skriptovat či neskriptovat podruhé 4. Je to plné souborů! 5. Třída jako ve škole 6. Kdo že tu dědí?

Na konci minulého dílu jsme vás navnadili na pokračování, ve kterém budeme vyrábět vlastní hru. Ještě než s tím začneme, je třeba si ale vysvětlit několik posledních detailů a naučit se pár drobností. Dneska si tedy povíme o dalších zákonitostech týkajících se skriptování a hlavně potom něco o dědičnosti skriptů.

Reklama

I když jsem si to dovolil trochu zjednodušit (asi všichni chápeme, že skript se nezapisuje jako nějaká beletrie ale pomocí pevně dané syntaxe, kterou si postupně ukážeme), snad jste pochopili kam tím mířím. Kdykoliv v editoru nebo skriptu vložíte/vytvoříte nový objekt, vždy vychází z nějaké formy, má nějakou třídu. Možná si vzpomenete, že když vezmete v Content Browseru model myší a pustíte do do scény, vytvoří se objekt typu (třídy) Static Mesh. Protože engine netuší, jako co chcete model použít, sám zvolí tuhle defaultní třídu. Tato třída (pokud chcete, můžete si její obsah sami prohlédnout v Development\Src\En­gine\Classes\Sta­ticMeshActor) v sobě má – opět si dovolím zjednodušit – ve skriptu napsáno mimo jiné toto „Tohle je definice statického objektu. Ten se nehybe. Nikdy.“ Resp. on tam spíš naopak nemá popsáno, že se může hýbat, ale to je detail. Jestli se do souboru podíváte, uvidíte hned v jeho úvodu za lomítky označujícími komentář pár vět jeho tvůrce, mimo jiné: An actor that is drawn using a static mesh (a mesh that never changes, and can be cached in video memory, resulting in a speed boost). Tedy že se jedná o objekt (tady zmiňovaný jako Actor, o tom ale až příště) který používá statický model, který se nikdy nemění. To je ten důvod, proč jsme naši kostku vkládali jako třídu InterpActor, protože v její definici (Development\Src\En­gine\Classes\Sta­ticMeshActor\In­terpActor.uc) je popsáno, že se může pohybovat a i v komentáři v jejím úvodu stojí: Dynamic static mesh actor intended to be used with Matinee.

Tady si dovolím kratičkou odbočku. Pokud vám angličtina těhle komentářů přijde nesrozumitelná, nemáte šanci se v UDK dostat dál než k pouhému hraní si s editorem. Vážně není nutné disponovat obrovskou slovní zásobou, protože slovník používaný v komentářích je relativně malý, natož pak mít schopnosti se anglicky plynně vyjadřovat (ale až budete přijímat cenu za indie hru roku, tak by nějaké to slovo poděkování rodině/přátelům/at­p. jistě nebylo od věci), nicméně schopnost porozumět je stěžejní. A když píšu porozumět, tak myslím opravdu porozumět, protože v téhle oblasti „rozumět skoro všemu“ opravdu nestačí. Samozřejmě mi nepřísluší vás do čehokoliv tlačit, ale věřte mi, že v téhle branži je dobré porozumění alespoň psané angličtině skutečně absolutní nutnost.

Hrátky s Unreal Engine VII: Klid před bouří
i Zdroj: PCTuning.cz

Tak co? Myslíte, že chápete, co je to vlastně ta třída? Pokud máte pocit, že alespoň trochu ano, tak vám blahopřeju, protože jsme během pár řádek probrali něco, čemu se v příručkách pro úplné začátečníky věnují často desítky stran. Pokud ne, není třeba zoufat. Je velká skupina lidí, kteří mají problém pochopit abstraktní definice a potřebují si věci „osahat“. To, že ještě zcela nechápete, co třída „dělá“, zdaleka neznamená, že byste neměli pokračovat dál – právě naopak, prostě se postupně podíváte, jak to, o čem jsem tu psal, funguje v praxi.

Předchozí
Další
Reklama
Reklama

Komentáře naleznete na konci poslední kapitoly.

Reklama
Reklama