03 - Základy práce II

Pokračujeme v projekte z predošlej lekcie, v ktorom sme zatiaľ vytvorili jednu otextúrovanú plochu a nastavili pozíciu kamery tak, aby sa na ňu pozerala.

Import modelu

Unity nie je modelovací nástroj a drvivú väčšinu 3D objektov budete do Unity importovať. Transport dát medzi editorom (napr. Blender) a herným enginom (napr. Unity) je veľká téma sama o sebe a budeme sa jej venovať inokedy.

Dnes si skúsime naimportovať len jednoduchý model bez materiálov, bez animácie, bez kostí. Stiahnite si model tu:

Po stiahnutí ho rozzipujte a ďalej už import prebieha rovnako ako pri textúre: Buď ho prekopírujte do projektu, priečinka Assets na disku. Alebo ho pretiahnite do panela Assets v editore. Výsledkom bude šedý neotextúrovaný model v assetoch:

Umiestnenie modelu do scény

Do scény je možné model umiestniť dvomi spôsobmi: Môžeme ho pretiahnuť z Assetov priamo do panelu Scene na konkrétnu polohu, kam ho chceme. Alebo ho pretiahneme do panelu Hierarchy a on sa umiestni na default pozíciu 0,0,0. Urobme to druhé, pretiahnime ho do hierarchie:

Model by malo byť vidieť už aj na kamere, len je nešťastne zrotovaný:

Zmeňte mu pozíciu a rotáciu tak, aby bol pekne vidieť. Použite buď jeho komponent Transform, alebo interaktívne nástroje v scéne.

Materiál pre model

Import modelov s materiálmi je veľká bolesť, ktorú si necháme na inokedy. Teraz si vytvoríme materiál sami. Vytvorte v assetoch pekný modrý materiál:

A v scéne ho priraďte na model žraloka.

Pohrajte sa s parametrami Metallic a Smoothness v materiáli, aby ste docielili lesklý vzhľad:

Skripty

Pridáme žralokovi jednoduchý skript, ktorý ho bude rotovať na mieste. Neskôr si budeme vedieť skripty písať aj sami, zatiaľ si skript stiahneme.

Tento skript ste si stiahli zazipovaný, po stiahnutí si ho rozzipujte. Skript je asset ako každý iný, importuje sa rovnako, ako sme už predtým importovali obrázok alebo model. Po naimportovaní má v assetoch špeciálnu ikonku:

Znak # u skriptu odkazuje na jazyk C# (C-Sharp), v ktorom sú písané skripty v Unity.

Skripty pridávajú herným objektom nové schopnosti. Konkrétne tento skript bude automaticky otáčať objektom.

Priradenie skriptu objektu

Skript priradíme na objekt buď tak, že ho pretiahneme z Assets na objekt do scény, ako by to bol materiál. Alebo ho pretiahneme na objekt v hierarchii. Alebo si objekt označíme a pretiahneme skript z Assets do inšpektora objektu.

Priraďte skript Rotator na žraloka.

Po priradení sa v inšpektore žraloka objaví nový komponent:

Pomocou skriptov budeme vytvárať nové komponenty. Pridávať objektom nové schopnosti.

Spustenie hry

Konečne máme v projekte nejaké viditeľné herné objekty, máme nastavenú kameru a máme už aj prípravu na nejakú aktivitu v podobe skriptu na otáčanie objektom.

Spustite hru tlačidlom ▶️ v hornom paneli alebo stlačte Ctrl-P:

Po spustení sa v tejto podobe nebude nič diať. Uvidíme len statický obrázok. To preto, že žralokovi sme v komponente Rotator nenastavili žiadnu rýchlosť rotovania. Nevypínajte hru, nechajte ju bežať a zmeňte v komponente Rotator parameter Speed Z na 30. Žralok sa roztočí:

Herný mód (Play mode)

Počas toho, ako hra beží, môžete v Unity "za jazdy" robiť zmeny. Skúste napríklad nastaviť žralokovi v jeho Rotatore aj ďalšie rýchlosti SpeedX a SpeedY, roztočí sa vo všetkých troch rozmeroch:

Keď teraz ukončíte hru (stlačte znovu ▶️ alebo Ctrl-P), všetky zmeny, ktoré ste urobili v Rotatore sa stratia. Zresetujú sa naspäť na tie hodnoty, ktoré boli v Rotatore pred spustením hry.

Toto je jedna z najneintuitívnejších vlastností Unity, ale má svoje opodstatnenie.

Počas herného módu môžete slobodne meniť v scéne a v komponentoch čo chcete. Skúšať a experimentovať. Nič nepokazíte, lebo keď hru vypnete, všetko bude naspäť ako predtým.

Keď máte teraz vypnutý herný mód, nastavte v Rotatore rýchlosti otáčania na nejaké nenulové hodnoty.

Aby ste ľahko rozoznali, či ste v hernom móde alebo v editovacom móde, dá sa v Unity nastaviť, že v hernom móde bude okno farebné. Choďte do Edit->Preferences->Colors a tam nastavte farebnú položku Playmode tint na nejakú farbu.

Takto napríklad vyzerá playmode v ružovom:

Export (build) aplikácie

Zatiaľ sme všetko robili v editore. Ale vo výsledku má byť naša hra spustiteľnou aplikáciou. Unity nám poskytuje viacero platforiem, na ktoré môžeme spustiteľnú aplikáciou exportovať. Neskôr budeme exportovať aj pre web, zatiaľ nám ale postačí export pre Windows.

Exportovanie aplikácie z editora sa v skutočnosti nevolá exportovanie ale buildovanie.

Vyberte z hlavného menu File->Build Settings... Otvorí sa okno s možnosťami buildovania:

Zatiaľ v ňom nebudeme nič meniť, default nastavenia nám vyhovujú. Keď zvolíme možnosť Build, systém sa nás opýta, kam chceme uložiť hotovú aplikáciu. Vyberte nejaké miesto na disku, dobrým zvykom je vytvoriť na tento účel podpriečinok Build v rámci projektu:

Keď potvrdíte umiestnenie hotovej aplikácie, Unity začne buildovať. To bude v závislosti od zložitosti projektu trvať pár sekúnd až pár minút. Pri špičkových projektoch to môžu byť aj rádovo hodiny. Po skončení buildovania systém otvorí priečinok s hotovou aplikáciou:

A to je už spustiteľný súbor, ktorý spolu s ostatnými súbormi a podpriečinkami v priečinku Build tvorí hotovú aplikáciu. Skúste ju spustiť, mala by nabehnúť na celú obrazovku.

Upratovanie

Po tom, ako sme si v rýchlosti prešli celý proces tvorby jednoduchej animovanej aplikácie, si ešte trochu upraceme v projekte.

Je dobrý nápad mať assety utriedené, lebo keď sa projekt rozrastie, bude sa nám ťažko v ňom orientovať bez nejakého systému. Možno si vyvyniete vlastný systém triedenia, ale pre začiatok by vám mohol vyhovovať aj takýto:

Vytvorte v assetoch nový asset typu Folder a pomenujte ho Materials.

Pomenovať asset je možné už pri jeho vytváraní. Alebo je neskôr možné ho premenovať takisto ako premenúvate súbory na disku: Pravý klik a Rename, alebo len stlačiť F2.

Do novovytvoreného priečina Materials pretiahnite pieskový a žralokový materiál aj pieskovú textúru.

Rovnako si vytvorte priečinok Scripts a priečinok Models a upracte do nich ostatné assety.

No a aha aký máte pekne uprataný projekt:

Všetky zmeny, ktoré urobíte v štruktúre projektu cez Unity editor, sa odrazia aj v súboroch projektu na disku:

Projekt a štruktúra assetov je totiž v skutočnosti len súborová štruktúra, plus nejaké dodatočné informácie. Súbory na disku v priečinku Assets a assety v editorovom paneli Assets sú to isté.

Last updated