28# 1942 Classic 15.

Nyní začneme pracovat s výbuchy. K tomu budeme potřebovat tvar výbuchu. Kenney sice něco jako výbuch ve svém balíčku připravil, ale jsou jako jednotlivé soubory. Pro snadné animování částic je to třeba mít jako Grid obrázků. Soubor si stáhněte, vytvořte si složku VFX a do ni si obrázek vložte.

Z tohoto obrázku uděláme materiál, který použijeme v emitoru částic. Pravé tlačítko -> Create -> Material a dáme mu jméno Explosion. V inspektoru vložíme Explosion-stars do Albedo. Zároveň změníme Shader na Legacy / Particles / Alfa Blanded

Nyní přiřadíme materiál k particle systému. Pravé tlačítko do Hierarchie a přidáme ParticleSystem. Můžeme si ho přejmenovat na Explosion, ale hlavní je úprava částic. V inspektoru, úplně dole Renderer – Material a vybereme Explosion. Nebude to hned vypadat dobře, protože se budou objevovat všechny 3 hvězdičky vedle sebe, ale brzy to opravíme.

O kousek víš najdeme Texture Sheet Animation. Tu zapneme kliknutím na volné pole vedle názvu a zde můžeme nastavit Grid. Grid je rozdělení jednoho obrázku na víc snímků animace. Kdy my máme 3 snímky animace vedle sebe. Tak budou Tiles X 3 a Y 1.

Nyní animace obsahuje pouze první hvězdičku. Proto ještě musíme upravit “Start Frame”, kde nastavíme Random Between a dáme 1 a 3. Tím nám náhodně bude na začátku vznikat jedna ze 3 hvězd. Pokud chceme, aby se hvězdy měnily po emitaci, musím ještě zapnout Cycles. Čím větší číslo tím rychlejší animace.

Výbuch by neměl být stálá smršť objektů, ale jeden krátký burst. Toho docílíme v úplně nahoře v úvodním nastavení emitoru. Duration a Looping. Duration je čas, jak dlouho jsou produkovány částice a looping je opakování. Opakování vypneme a duration nastavíme třeba na 0.3s

Takto nám to jen vyhodí dvě hvězdičky a musíme restartovat. To je málo na explozi a rozhodně jsou na obrazovce moc dlouho. Pro testování si můžete zapnout looping, ale nezapomeňte ho opět vypnout až budete hru testovat. Start Lifetime nastavíme dobu existence, Start speed můžeme upravit na pomalejší a hlavně Emission – Rate over time nastavit na větší číslo.

Zatím to stále nevypadá úplně jako exploze.

Nastavíme velikost (Start Size) na random between a zde záleží na velikosti nepřátel já použiji 0.1 až 0.4. Také dáme nastavíme paletu barev, kdy můžete použít “Gradient”, otevře se vám Gradient Editor, kde můžete postupně přidávat barvy, které chcete, aby se objevili ve výbuchu.

Vše se začíná blížit výbuchu, ještě musíme změnit tvar emitoru, Shape – Shape, kde máme výchozí tvar Cone. Ideální pro exploze je Sphere. Kdy ještě můžeme změnit její velikost (velikost oblasti, kde se může částice objevit) – Radius.Nyní je to jen o tom si hrát s nastavením dokud nebude spokojeni s tím jak výsledek vypadá.

Když máme hotovo, vytvoříme z Exploze prefab a ten použijeme v kódu. Zároveň jej můžete odstranit ze scény.

Otevřeme si Enemy.cs ve Visual studiu a začneme vytvořením serializovaného pole, kterým připojíme Explozi.

Tu budeme volat při zničení objektu, které máme napsané v OnTriggerEnter2D. Budeme psát přímo pod zničení, kdy vytvoříme nový herní object explosion, která bude Insantiate z explosionVFX, na místě nepřítele s otočením nepřítele. Také nesmíme zapomenout zničit emitor po nějakém čase, jinak se nám začnou na scéně hromadit a to určitě nebude dobré pro optimalizaci.

Uložíme, přepneme se do unity a u prefab každého nepřítele nastavíme v inspekoru explosion. Hotovo!

0 Comments

Submit a Comment

Your email address will not be published.

This site uses Akismet to reduce spam. Learn how your comment data is processed.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Share This