03 - Základy práce II
Last updated
Last updated
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.
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:
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.
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:
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:
Skripty pridávajú herným objektom nové schopnosti. Konkrétne tento skript bude automaticky otáčať objektom.
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:
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.
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čí:
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:
Toto je jedna z najneintuitívnejších vlastností Unity, ale má svoje opodstatnenie.
Keď máte teraz vypnutý herný mód, nastavte v Rotatore rýchlosti otáčania na nejaké nenulové hodnoty.
Takto napríklad vyzerá playmode v ružovom:
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.
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.
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.
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é.
Spustite hru tlačidlom v hornom paneli alebo stlačte Ctrl-P:
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.