Vianoce v ITnetwork sú tu! Dobí si teraz kredity a získaj až 80 % extra kreditov na e-learningové kurzy ZADARMO. Zisti viac.
Hľadáme nové posily do ITnetwork tímu. Pozri sa na voľné pozície a pridaj sa k najagilnejšej firme na trhu - Viac informácií.

9. diel - 3D strieľačka v Unity - Úprava terénu

V minulej lekcii, 3D strieľačka v Unity - Streľba na nepriateľa , sme si vytvorili skript pre streľbu na nepriateľa.

V dnešnom Unity 3D tutoriálu sa naučíme upravovať terén. Ten máme vytvorený hneď od prvej lekcie. Teraz by si zaslúžil upraviť, aby vyzeral ako reálne prostredie a nebol to len veľký kváder. K úprave terénu nebude potrebné nič programovať. Výsledný terén bude vyzerať nasledovne:

Tvorba 3D hier v Unity

Stiahnutí balíčka

Unity má vlastný systém na úpravu terénu. Preto nám stačí len stiahnuť balíček obsahujúci textúry trávy, stromov a piesku. Balíček je priamo od Unity. Volá sa Standard Assets (ja použijem verzii for Unity 2018.4). Balíček je samozrejme aj v prílohe článku v súbore .zip.

Otvoríme si najskôr záložku Asset Store. Do poľa s textom Search for assets zadáme názov nášho balíka, ktorý je Standard Assets (for Unity 2018.4). Potom klikneme len na ikonku nášho vyhľadaného balíčka:

Tvorba 3D hier v Unity

Následne stačí kliknúť na tlačidlo Download a potom na Import. Zvolíme zložku Environment/ a ostatné nezvolíme k Importovanie. Teraz máme všetko potrebné v našom projekte.

Úprava terénu

Teraz si musíme otvoriť záložku Scene, v ktorej budeme dnes prevažne pracovať. V ľavej časti Hierarchy klikneme na objekt s názvom Terrain. Následne uvidíme v pravej časti Inspector s komponentom Terrain.

Komponent Terrain

Komponent je vždy umiestnená na hernom objektu Terrain. Tento komponent umožňuje napríklad rozšírenie terénu, vyvýšenie určitej časti alebo jej zníženie. Ďalej nafarbenia terénu a pridanie trávy alebo stromov.

Komponent má na sebe rad tlačidiel, ktoré prepínajú záložky nižšie:

Tvorba 3D hier v Unity

Poďme si ich popísať:

  • Záložka s obrázkom hôr a znaku plus nám umožňuje pridať okolité terény priliehajúce priamo na existujúce terén. Pridanej terény majú rovnaké rozmery ako pôvodná terén. Najskôr musíme kliknúť na ikonu a potom klikáme v záložke Scene na hranice nášho existujúceho terénu.
  • Tlačidlo s obrázkom štetca má veľa možností využitia. To sa vyberá z menu s nasledujúcou ponukou: Raise or Lower Terrain - Môžeme buď znižovať alebo zvyšovať úroveň terénu,

    Paint Holes - vytvárať otvory v teréne,

    Paint Texture - nanášať textúry na terén,

    Set Height - zvyšovať úroveň terénu oproti celému terénu,

    Smooth Height - vyhladzovať oblasti so zvyškom terénu a

  • Raise or Lower Terrain - Môžeme buď znižovať alebo zvyšovať úroveň terénu,
  • Paint Holes - vytvárať otvory v teréne,
  • Paint Texture - nanášať textúry na terén,
  • Set Height - zvyšovať úroveň terénu oproti celému terénu,
  • Smooth Height - vyhladzovať oblasti so zvyškom terénu a
  • Stamp Terrain - upraviť výšku terénu pomocou tvarov z pečiatok.
  • Záložka s obrázkom stromu je k umiestňovanie stromov na terén. Je možné nastaviť hustotu stromov a tiež maximálnu výšku stromov alebo pomer výšky k šírke.
  • Záložka s obrázkom kvetín slúži k umiestňovaní 3D trávy alebo kvetín na scénu a nie iba textúry. Tu môžete podobne ako u stromov nastavovať hustotu porastu a tvar, v ktorom chcete kvety nanášať.
  • Posledný záložka so symbolom ozubeného kolieska je nastavenie. V nastavení môžeme upresniť najrôznejšie detaily od východiskového materiálu nášho teréne až po rýchlosť vetra pôsobiaca na porast nanesený na terén.

Nanášanie textúr

Zvolíme objekt Terrain v záložke Hierarchy a klikneme na záložku s obrázkom štetce v záložke Inspector. Potom klikneme na Výjazdný zoznam pod záložkami sa symbolmi v komponente Terrain. Zvolíme možnosť Paint Texture, čím budeme schopní na terén nanášať textúru (obaľovať ho na určitých miestach fotoobrázkem).

Textúra trávy

Ďalej klikneme na možnosť Edit Terrain Layers ... s obrázkom ozubeného kolieska, ktoré sa nachádza v komponente. Zobrazia sa dve možnosti:

  • Create Layer a
  • Add Layer.

My zvolíme Create Layer, pretože nemáme vytvorenú žiadnu vrstvu, ktorú by sme mohli pridať. Následne sa nám otvorí ponuka 2D textúr, ktoré budú tvoriť náš layer (vrstvu). Tu sa volí textúra, ktorú budeme nanášať na náš terén. My zvolíme textúru s názvom GrassHillAl..:

Tvorba 3D hier v Unity
Táto textúra a všetky ostatné textúry, ktoré budeme dnes používať, sú z balíčka, ktorý sme si stiahli na začiatku tejto lekcie. Po zvolení sa nám textúra okamžite naniesla na celý náš terén. Ako to? Náš terén doteraz nemal predvolené textúru. Do doby, než sme ju naniesli, mal terén textúru stanovenú automaticky Unity Editorom. Preto akonáhle vytvoríme prvú layer, nanesie sa na celý povrch terénu. Z tohto dôvodu sme tiež ako prvý layer vytvorili trávu, ktorá bude v našom prostredí na väčšine miest.

Textúra kamenisté cesty

Keďže náš terén má už nanesenú textúru trávy, môžeme vytvoriť nový layer s kamenistou cestou. Klikneme zas na tlačidlo s ozubeným kolieskom a nápisom Edit Terrain Layers .. a zvolíme možnosť Create Layer. Vyberieme textúru s názvom GrassRock... Môžeme krásne vidieť, že náš terén má stále nanesenú textúru trávy, pretože už nepridávame prvý layer.

Klikneme na náš novo vytvorený layer kamenisté cesty. Týmto sme ho zvolili ako vrstvu, ktorú chceme nanášať:

Tvorba 3D hier v Unity

V časti s názvom Brushes môžeme vyberať "štetca", ktorými chceme vrstvu nanášať. Pod výberom tvaru si môžeme tiež navoliť veľkosť štetca a transparentnosť (viditeľnosť) nanesenej vrstvy.

Akonáhle máme zvolenej všetky vlastnosti štetce a vrstvu, ktorú chceme nanášať, môžeme začať. Nanášanie vrstvy je jednoduché. Stačí len zájsť myšou do oblasti našej scény na náš terén a zobrazí sa modrá oblasť terénu (má tvar podľa tvaru štetca). Táto oblasť značí dosah účinkov nanášania vrstvy. Potom stačí kliknúť. Tlačidlo môžeme držať a posúvať myš, čím budeme neustále nanášať vrstvu na terén. Alebo môžeme len klikať.

Vyvyšovanie terénu

Terén je však len málokedy perfektne rovný. Preto teraz zvolíme možnosť Raise or Lower Terrain. Zvyšovanie teréne funguje na podobnom princípe ako nanášania vrstiev. Rozdiel je len v tom, že pre vyvýšenie používame ľavé tlačidlo myši a pre zníženie alebo prehĺbenie používame Ľavý Shift a ľavé tlačidlo myši.

Tu odporúčame meniť tvary štetce pre lepší vzhľad kopcov či hôr a dávať si pozor na hodnotu Opacity. Tá razantne mení o koľko sa zväčší či zmenší dané miesto. Preto je lepšie len klikať a nedržať myš.

Tvorba 3D trávy

Trávu, ktorá sa bude napríklad pohybovať podľa vetra alebo sa bude rôzne ohýbať, vie tiež vytvoriť naše komponenta. Stačí kliknúť na symbol kvetov. Tu klikneme na tlačidlo s obrázkom ozubeného kolieska a nápisom Edit Details ... a zvolíme možnosť Add Grass Texture. Následne si v okienku s názvom Add Grass Texture vyberieme kolónku Detail Texture a klikneme na symbol kruhu s bodkou uprostred, v riadku s kolónkou. Vyberieme textúru s názvom GrassFond…. Potom klikneme na tlačidlo Add. Celý proces zopakujeme a pridáme druhú textúru trávy s rovnakým názvom:

Tvorba 3D hier v Unity

Teraz si zvolíme kliknutím jednu z dvoch tráv v záložke Details a následne nanesieme trávu rovnako ako v prípade vrstiev textúr. Pomocou hodnoty Opacity volíme "hustotu" porastu.

Pridanie stromov

Posledným krokom je pridanie stromov. Klikneme na ikonu stromov a potom na tlačidlo s ozubeným kolieskom a nápisom Edit Trees .... Zvolíme možnosť Add Tree. Následne v okienku Add Tree zvolíme ako Tree Prefab strom s názvom Broadleaf_Desktop. Potom pridáme rovnakým spôsobom ďalší strom s názvom Conifer_Desktop. Nanášanie stromov je totožné s nanášaním trávy. Zvolíme strom v záložke Trees a potom klikáme na náš terén v záložke Scene na miesta, kam chceme naniesť stromy. Namiesto Opacity sa tu využíva hodnota Tree Density k nastavenie množstva pridaných stromov.

Zmenšenie tieňov

Jediné, čo ešte urobíme, je zmenšenie tieňov. V záložke Hierarchy klikneme na objekt Directional Light a v komponente Light zmeníme pod kolónkou Realtime Shadows hodnotu Strength na 0.128 alebo inú, ktorá lahodí vášmu oku.

Výsledný terén môže vyzerať nasledovne:

Tvorba 3D hier v Unity

V budúcej lekcii, 3D strieľačka v Unity - Príprava animácií prebíjanie zbrane , si vytvoríme prechody a parametre k jednotlivým animáciám pre prebíjanie.


 

Stiahnuť

Stiahnutím nasledujúceho súboru súhlasíš s licenčnými podmienkami

Stiahnuté 600x (79.74 MB)

 

Predchádzajúci článok
3D strieľačka v Unity - Streľba na nepriateľa
Všetky články v sekcii
Tvorba 3D hier v Unity
Preskočiť článok
(neodporúčame)
3D strieľačka v Unity - Príprava animácií prebíjanie zbrane
Článok pre vás napísal Tomáš Brabec
Avatar
Užívateľské hodnotenie:
2 hlasov
Hodně zdaru programátoři všeho druhu,doufám ,že nikdy nezažijete nudu.
Aktivity