Hrátky s Unreal Engine IX: Svět tam někde za zdí | Kapitola 8
Seznam kapitol
V dnešním díle se s naším hrdinou podíváme do širých šedomodrých kostkovaných polí obestírajících jeho příbytek, společně rozděláme svůj první oheň a v části věnováné skriptování si začneme hrát s kamerou. A nebojte se, pořád pěkně jednoduše a doufejme pro většinu čtenářů i pochopitelně!
Dnes se do skriptování zakousneme trochu hlouběji – ukážeme si, jak se dá ve skriptu upravovat herní kamera.
Na začátek pár drobných upozornění. Předně, jak už jsem vysvětloval dříve, nemáme dost prostoru na detailní vysvětlování pojmů jako proměnná, funkce atp. Pokud zjistíte, že vám moje „bleskové“ definice nestačí, zkuste si najít na internetu úvod do jakéhokoliv programovacího - či ještě lépe – přímo skriptovacího jazyka. Tutoriálů jsou stovky a tisíce ve všech možných jazycích a ujasnit si pomocí některého z nich základní věc, jejíž význam vám uniká, bude nejspíš otázkou pár minut. Druhé upozornění směřuje k „čistotě“ a „eleganci“ postupů a řešení ukázaných v tomto článku. Dokud se neposuneme v našich znalostech skriptu trochu dál, budu se snažit všechno řešit co nejpochopitelněji a v co nejmenším počtu kroků. Na prvním místě je jednoznačně funkčnost a pochopitelnost provedení, čistota řešení je aktuálně podružná. Všechno se pokusím rozepsat co nejjednodušším způsobem a zároveň použít co nejméně různých příkazů.
Ke kameře si řekneme nejprve to, že kromě defaultní first-person má hra implementovanou i third-person kameru. V některých verzích může být přepínání kamerových módů možné pomocí kláves (PgUp,pgDown,End,Del atp.), v každém případě byste však měli být schopni mezi kamerami přepínat pomocí konzole. Tu vyvoláte pomocí tildy – tedy klávesy se symbolem ~ (na klávesnici vlevo nahoře, obvykle pod klávesou ESC) a zadáním příkazů „camera firstperson“ resp. „camera thirdperson“ (vše bez úvozovek).
Protože my ale chceme víc, pojďme se podívat, jak se s kamerou pracuje ve skriptu. Ve vašem vybraném editoru (viz minulý díl) si otevřete soubor \Development\Src\UTGame\Classes\UTPawn.uc .
Jedním ze základních problémů, se kterými se při snaze editovat skript budete setkávat, je to, že občas je trochu komplikované najít část skriptu, která ovlivňuje featuru, kterou chcete upravit. Postupů, jak toto místo nalézt je více, ale ukážeme si je později. Dnes vás ještě povedu za ruku přímo na místo, které nás zajímá.
Nastavení pozice kamery se provádí v třídě UTPawn (každý soubor je třída – tedy vlastně druh objektu, vzpomáte?). To platí pro hráče hrajícího s postavou. Pokud byste například vlezli do nějakého vozidla, pozicování kamery specifické pro vozidlo se může řešit na zcela jiném místě.
Konkrétně je to ve funkci (tedy části skriptu, vykonávající nějakou specifickou činnost) s názvem CalcCamera. Můžete si ji buď vyhledat jako textový řetězec, nebo zapátrat přímo kolem řádku 3000. Funkce se pozná tak, že před svým názvem má (překvapivě) slovo function. Pokud někde ve skriptu uvidíte na řádku například jen CalcCamera(a tady případně ještě „něco“ v úvozovkách), tak vězte, z tohohle místa se zmíněná funkce „volá“ – tedy se programu říká, že má vykonat její obsah, ale není to přímo ona zmíněná funkce.