Aktuálně: Postihly zákazy tvou profesi? Poptávka po ajťácích prudce roste, využij slevové akce 30% výuky zdarma!
Discount week - Prosinec

Lekce 9 - 3D střílečka v Unity - Úprava terénu

V minulé lekci, 3D střílečka v Unity - Střelba na nepřítele, jsme si vytvořili skript pro střelbu na nepřítele.

V dnešním Unity 3D tutoriálu se naučíme upravovat terén. Ten máme vytvořený hned od první lekce. Nyní by si zasloužil upravit, aby vypadal jako reálné prostředí a nebyl to jen velký kvádr. K úpravě terénu nebude potřeba nic programovat. Výsledný terén bude vypadat následovně:

Stažení balíčku

Unity má vlastní systém na úpravu terénu. Proto nám stačí jen stáhnout balíček obsahující textury trávy, stromů a písku. Balíček je přímo od Unity. Jmenuje se Standard Assets (já použiji verzi for Unity 2018.4). Balíček je samozřejmě i v příloze článku v souboru .zip.

Otevřeme si nejdříve záložku Asset Store. Do pole s textem Search for assets zadáme název našeho balíčku, který je Standard Assets (for Unity 2018.4). Poté klikneme jen na ikonku našeho vyhledaného balíčku:

Následně stačí kliknout na tlačítko Download a poté na Import. Zvolíme složku Environment/ a ostatní nezvolíme k Importování. Nyní máme vše potřebné v našem projektu.

Úprava terénu

Nyní si musíme otevřít záložku Scene, ve které budeme dnes převážně pracovat. V levé části Hierarchy klikneme na objekt s názvem Terrain. Následně uvidíme v pravé části Inspector s komponentou Terrain.

Komponenta Terrain

Komponenta je vždy umístěna na herním objektu Terrain. Tato komponenta umožňuje například rozšíření terénu, vyvýšení určité části nebo její snížení. Dále nabarvení terénu a přidání trávy nebo stromů.

Komponenta má na sobě řadu tlačítek, která přepínají záložky níže:

Tento výukový obsah pomáhají rozvíjet následující firmy, které dost možná hledají právě tebe!

Pojďme si je popsat:

  • Záložka s obrázkem hor a znaku plus nám umožňuje přidat okolní terény přiléhající přímo na stávající terén. Přidané terény mají stejné rozměry jako původní terén. Nejdříve musíme kliknout na ikonu a poté klikáme v záložce Scene na hranice našeho stávajícího terénu.
  • Tlačítko s obrázkem štětce má mnoho možností využití. To se vybírá z menu s následující nabídkou:
    • Raise or Lower Terrain - Můžeme buď snižovat nebo zvyšovat úroveň terénu,
    • Paint Holes - vytvářet otvory v terénu,
    • Paint Texture - nanášet textury na terén,
    • Set Height - zvyšovat úroveň terénu oproti celému terénu,
    • Smooth Height - vyhlazovat oblasti se zbytkem terénu a
  • Stamp Terrain - upravit výšku terénu pomocí tvarů z razítek.
  • Záložka s obrázkem stromu je k umisťování stromů na terén. Je možné nastavit hustotu stromů a také maximální výšku stromů nebo poměr výšky k šířce.
  • Záložka s obrázkem květin slouží k umísťování 3D trávy nebo květin na scénu a ne pouze textury. Zde můžete podobně jako u stromů nastavovat hustotu porostu a tvar, ve kterém chcete květiny nanášet.
  • Poslední záložka se symbolem ozubeného kolečka je nastavení. V nastavení můžeme upřesnit nejrůznější detaily od výchozího materiálu našeho terénu až po rychlost větru působící na porost nanesený na terén.

Nanášení textur

Zvolíme objekt Terrain v záložce Hierarchy a klikneme na záložku s obrázkem štětce v záložce Inspector. Poté klikneme na vyjížděcí seznam pod záložkami se symboly v komponentě Terrain. Zvolíme možnost Paint Texture, čímž budeme schopní na terén nanášet texturu (obalovat jej na určitých místech fotoobrázkem).

Textura trávy

Dále klikneme na možnost Edit Terrain Layers… s obrázkem ozubeného kolečka, která se nachází v komponentě. Zobrazí se dvě možnosti:

  • Create Layer a
  • Add Layer.

My zvolíme Create Layer, jelikož nemáme vytvořenou žádnou vrstvu, kterou bychom mohli přidat. Následně se nám otevře nabídka 2D textur, které budou tvořit náš layer (vrstvu). Zde se volí textura, kterou budeme nanášet na náš terén. My zvolíme texturu s názvem GrassHillAl..:

Tato textura a všechny ostatní textury, které budeme dnes používat, jsou z balíčku, jenž jsme si stáhli na začátku této lekce. Po zvolení se nám textura okamžitě nanesla na celý náš terén. Jak to? Náš terén doteď neměl výchozí texturu. Do doby, než jsme ji nanesli, měl terén texturu stanovenou automaticky Unity Editorem. Proto jakmile vytvoříme první layer, nanese se na celý povrch terénu. Z tohoto důvodu jsme také jako první layer vytvořili trávu, která bude v našem prostředí na většině míst.

Textura kamenité cesty

Jelikož náš terén má už nanesenou texturu trávy, můžeme vytvořit nový layer s kamenitou cestou. Klikneme zas na tlačítko s ozubeným kolečkem a nápisem Edit Terrain Layers.. a zvolíme možnost Create Layer. Vybereme texturu s názvem GrassRock... Můžeme krásně vidět, že náš terén má stále nanesenou texturu trávy, protože již nepřidáváme první layer.

Klikneme na náš nově vytvořený layer kamenité cesty. Tímto jsme ho zvolili jako vrstvu, kterou chceme nanášet:

V části s názvem Brushes můžeme vybírat "štětce", kterými chceme vrstvu nanášet. Pod výběrem tvaru si můžeme také navolit velikost štětce a průhlednost (viditelnost) nanesené vrstvy.

Jakmile máme zvolené všechny vlastnosti štětce a vrstvu, kterou chceme nanášet, můžeme začít. Nanášení vrstvy je jednoduché. Stačí jen zajet myší do oblasti naší scény na náš terén a zobrazí se modrá oblast terénu (má tvar podle tvaru štětce). Tato oblast značí dosah účinků nanášení vrstvy. Pak stačí kliknout. Tlačítko můžeme držet a posouvat myš, čímž budeme neustále nanášet vrstvu na terén. Nebo můžeme jen klikat.

Vyvyšování terénu

Terén je ovšem jen málokdy perfektně rovný. Proto nyní zvolíme možnost Raise or Lower Terrain. Zvyšování terénu funguje na podobném principu jako nanášení vrstev. Rozdíl je jen v tom, že pro vyvýšení používáme levé tlačítko myši a pro snížení nebo prohloubení používáme Levý Shift a levé tlačítko myši.

Zde doporučujeme měnit tvary štětce pro lepší vzhled kopců či hor a dávat si pozor na hodnotu Opacity. Ta razantně mění o kolik se zvětší či zmenší dané místo. Proto je lepší jen klikat a nedržet myš.

Tvorba 3D trávy

Trávu, která se bude například pohybovat podle větru nebo se bude různě ohýbat, umí též vytvořit naše komponenta. Stačí kliknout na symbol květin. Zde klikneme na tlačítko s obrázkem ozubeného kolečka a nápisem Edit Details… a zvolíme možnost Add Grass Texture. Následně si v okénku s názvem Add Grass Texture vybereme kolonku Detail Texture a klikneme na symbol kruhu s tečkou uprostřed, v řádku s kolonkou. Vybereme texturu s názvem GrassFond…. Poté klikneme na tlačítko Add. Celý proces zopakujeme a přidáme druhou texturu trávy se stejným názvem:

Nyní si zvolíme kliknutím jednu ze dvou trav v záložce Details a následně naneseme trávu stejně jako v případě vrstev textur. Pomocí hodnoty Opacity volíme "hustotu" porostu.

Přidání stromů

Posledním krokem je přidání stromů. Klikneme na ikonu stromů a poté na tlačítko s ozubeným kolečkem a nápisem Edit Trees…. Zvolíme možnost Add Tree. Následně v okénku Add Tree zvolíme jako Tree Prefab strom s názvem Broadleaf_Desktop. Poté přidáme stejným způsobem další strom s názvem Conifer_Desktop. Nanášení stromů je totožné s nanášením trávy. Zvolíme strom v záložce Trees a poté klikáme na náš terén v záložce Scene na místa, kam chceme nanést stromy. Místo Opacity se zde využívá hodnota Tree Density k nastavení množství přidaných stromů.

Zmenšení stínů

Jediné, co ještě uděláme, je zmenšení stínů. V záložce Hierarchy klikneme na objekt Directional Light a v komponentě Light změníme pod kolonkou Realtime Shadows hodnotu Strength na 0.128 nebo jinou, která lahodí vašemu oku.

Výsledný terén může vypadat následovně:

V příští lekci, 3D střílečka v Unity - Vložení modelu nepřítele do scény, si naimportujeme model nepřítele, vložíme ho do scény a vytvoříme mu animátor.


 

Stáhnout

Staženo 15x (80.18 MB)

 

Předchozí článek
3D střílečka v Unity - Střelba na nepřítele
Všechny články v sekci
Tvorba 3D her v Unity
Článek pro vás napsal Tomáš Brabec
Avatar
Jak se ti líbí článek?
Ještě nikdo nehodnotil, buď první!
Hodně zdaru programátoři všeho druhu,doufám ,že nikdy nezažijete nudu.
Aktivity (4)

 

 

Komentáře

Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zatím nikdo nevložil komentář - buď první!