26# 1942 Classic 13.
Aktuálně se nám hra celkem dobře vyvíjí a je na čase přidat nějaké zajímavé vizuální prvky. Tím dnešním bude “animované” pozadí. Animované je záměrně v uvozovkách, protože se jen bude posouvat směrem dolů, aby to vypadalo jako že se loď pohybuje směrem dopředu.
Napřed pozadí, které pro to bude vhodné. V horní části Unity máme záložku, kterou jsme zatím nepoužili. Použili jsme Scene, Game, ale Asset Store otevřeme dnes poprvé. Je možné, že se vám bude chvíli načítat. Až se vám načte, zjistíte, že unityAssets Store má množství assetů zdarma a když nejlevnější a nejhorší hry na steamu s free assety z Unity najde množství shod. Samozřejmě můžete používat i jiné zdroje nebo si udělat vlastní, ale pokud děláte hru je celkem dobrý začátek udělat nějaký základ z free assetů a později udělat hře vlastní styl nebo si někoho najmout kdo udělá assety jen pro vás. My zatím neplánujeme AAA hru, ale učíme se. Proto si můžeme free assety dovolit.
Aby jsme mohli udělat scrolující pozadí musí na sebe začátek a konec obrázku navazovat. Já použiji “Dynamic Space Background Lite”. Stačí kliknout na Download, potom Import, ještě jednou Import a vše se vám přidá se vám do Assets.
Z balíku si vyberete pozadí, které chcete použít a přetáhneme si ho do Sprites.
Nyní bude následovat něco trochu zvláštního do naší 2D hry si přidáme 3D objekt, z pozadí pak uděláme texturu objektu a ta se bude posunovat. Na začátek do hierarchie přidáme 3D object -> Quad.
Quad, můžeme chápat jako jednu stranu kvádru. Jako první dáme Reset na transform a můžeme ho posunout dál po ose Z. Například na 5, aby se nám nestalo, že nám překryje vše na scéně. Pak může naše původní pozadí odstranit a Quad si roztáhněte přes celou velikost kamery. Zároveň ho můžeme přejmenovat na Background.
Nyní k úpravám pozadí. Aktuálně se obrázek chová jako Sprite, ale my chceme, aby se choval jako textura. Proto si ho v Assets rozklikneme a v inspektoru upravíme Sprite 2D na Default a potom WrapMode na Repeat.
Když jsme sprite změnili na texturu, můžeme ji přetáhnout na Background do scény. Nebude to dokonalé a to proto, že Quad má v základu Shader, který upravuje barvy. Proto si otevřeme Background v inspektoru a změníme Shader na Unlit -> Texture. Nyní si můžeme otevřít nastavení textur.
V tomto nastavení nás bude zajímat Offset Y, pomocí kterého můžeme posouvat pozadí směrem dolů.
Samozřejmě to nebudeme posouvat ručně ale scriptem. V assets si vytvoříme nový script “Background” a otevřeme si ho ve Visual Studiu. Připravíme se v něm Serializované pole backgroundScrollSpeed. A druhá proměnná bude proměnná pro připojení materiálu a poslední bude offset. Ty nebude serializované a naplníme je při Start.
Jako další je naplnění proměnných. Napřed musíme do myMaterial dát odkaz na Material pozadí (GetComponent) a poté udělat Vector posunutí po ose Y o backgroundscrollspeed.
Jako poslední je Update, kde každý update posuneme pozadí o offset a přidáme nezávislost na FPS.
Uložíme a přidáme Script jako komponent k background. Poslední co musíme udělat je optimalizace střel nepřátel. Aktuálně se střely neodstraňují a hromadí se. Stačí udělat kopii Shradderu a posunout ji na spodní stranu obrazovky.
Hotovo a pokračování zítra.
0 Comments