Hry

Výukový program pre Unity3D

Výukový program pre Unity3D

Úvod do Unity 3D

Unity 3D je výkonný nástroj na vývoj hier. Je to multiplatforma, ktorá vám umožňuje vytvárať hry pre mobilné telefóny, web, počítače a konzoly, celkovo okolo 30 platforiem. Unity 3D má veľa zaujímavých funkcií, niektoré z nich sú uvedené nižšie:

Jednotné rozhrania

Poďme preskúmať rozhrania editora Unity, ktoré sú konfigurovateľné.  Skladá sa z výčapných okien, ktoré si môžete usporiadať podľa svojej potreby.  Poďme preskúmať predvolené nastavenia okna. Tu je obrázok, ako to vyzerá

Okno hierarchie

Okno Hierarchia predstavuje každý objekt na scéne. Ukazuje, ako sú objekty na scéne navzájom spojené, takže tieto dve okná spolu súvisia. V okne hierarchie je rozbaľovací zoznam s názvom ako Vytvoriť. Prázdny objekt, objekty 3D, objekty 2D, svetelné, zvukové, obrazové a časticové systémy a fotoaparáty môžete vytvoriť veľmi ľahko. Okno hierarchie je zobrazené nižšie. „Bez názvu“ je názov scény. Môžete ho premenovať, ako chcete. Na pravej strane názvu bez názvu (názov scény) môžete vidieť rozbaľovaciu ikonu. Kliknutím na túto rozbaľovaciu ponuku uvidíte rôzne možnosti pre Uložiť scénu a Pridajte novú scénu.

Okno scény

V okne scény môžete vytvoriť svoju scénu. Je to miesto, kde môžete interagovať so svojimi hernými objektmi a modelmi. Svoje objekty scény môžete meniť, meniť ich tvar a presúvať ich. Toto je okno, v ktorom začnete pracovať s jednotou. Zobrazenie scény môže byť 2D alebo 3D v závislosti od nastavenia vášho projektu. Tu je snímka obrazovky s tým, ako vyzerá okno scény:

V okne scény môžete vidieť označenú inú kartu Tieňované, na tomto mieste môžete zvoliť, aký typ zobrazenia chcete mať v tieni alebo v drôtenom ráme. Má veľa ďalších možností, ako je Miscellaneous, Global illumination, Real time GI, Baked GI a mnoho ďalších. Pomocou tlačidla vedľa položky môžete zobraziť 2D alebo 3D Tieňované rozbaľovať. Ďalej je prepínacie tlačidlo na osvetlenie scény. Podobne prepínacie tlačidlo pre zvuk scény. Ďalej je tu rozbaľovací zoznam, ktorý umožňuje efekty oblohy, hmly, animovaných materiálov a obrazových efektov.

Okno hry

Okno hry predstavuje vašu poslednú zverejnenú hru v režime hrania. Vykresľuje sa z kamier, ktoré ste použili pri svojej hre. V okne hry môžete vidieť ďalší panel nástrojov, ako je znázornené na nasledujúcom obrázku:

Displej 1 zobrazuje kameru prítomnú na vašej hernej scéne. Predvolene je nastavená na Displej 1 pre hlavný fotoaparát. Ak máte viac kamier a chcete prepnúť, môžete si vybrať z rozbaľovacieho zoznamu. Vedľa toho vidíte rozbaľovaciu ponuku pre pomery strán. Môžete vybrať podľa obrazovky monitora cieľového zariadenia. Ďalej môžete vidieť a Posuvník mierky priblížiť. Posuňte sa doprava a preskúmajte ďalšie podrobnosti svojej scény v režime prehrávania. Ďalej je tlačidlo pre Maximalizujte pri hraní, po kliknutí bude veľkosť okna hry v režime hrania maximálna. Stlmiť zvuk prepínač sa používa na vypnutie / zapnutie zvuku. Štatistiky zobrazuje štatistiky vykreslenia zvuku a grafiky vašej hry.

Okno Projektové aktíva

Ako ukazuje názov, okno s aktívami obsahuje všetky aktíva vášho projektu, ktoré môžete použiť. Ak naimportujete niečo nové, zobrazí sa to v okne prostriedkov projektu. Okno projektu sa skladá z dvoch častí, ľavého a pravého, ako je znázornené na nasledujúcom obrázku:

Ľavá tabla zobrazuje hierarchickú štruktúru aktív projektu.  Po kliknutí na ľubovoľný priečinok sa na pravom paneli zobrazia podrobnosti. Napríklad na danom obrázku Paneláky na priečinok kliknete na ľavom paneli, takže jeho podrobnosti sa zobrazia na pravom paneli, pretože obsahuje dva herné objekty. Na ľavom paneli vidíte a Obľúbené oddiel, kam môžete presúvať položky, ktoré chcete veľmi často používať, aby ste predišli zbytočnému plytvaniu časom pri ich hľadaní. Nad ním môžete vidieť a Vytvoriť rozbaľovacia ponuka, ktorá umožňuje vytvoriť skript C #, priečinok, shader, vzhľad grafického používateľského rozhrania, scénu, panelák, materiál a oveľa viac.

Okno konzoly

Okno konzoly je miesto, kde môžete vidieť svoje chyby, varovania a správy. Môžete ich upraviť kliknutím na ich prepínacie tlačidlá. Umožňuje tiež vymazať všetky chyby, varovania a správy. Chyby môžete na určitý čas pozastaviť. Tu vidíte na nasledujúcom obrázku

Ikona rozbaľovacej ponuky v pravom hornom rohu obsahuje možnosti denníka editora a protokolovania trasovania zásobníka.

Inšpektorské okno

Inšpektorové okno je jedným z najzaujímavejších a najužitočnejších okien editora. Je to miesto, kde môžete upravovať všetky vlastnosti vybraného herného objektu. Každý herný objekt má svoj vlastný typ, takže jeho vlastnosti budú odlišné a okno inšpektora sa môže líšiť. Vlastnosti, skripty a herné objekty sa líšia svojimi vlastnosťami. Pozrime sa na vlastnosti kocky v okne inšpektora. Tu je obrázok:

Herný objekt môžete premenovať kliknutím na predchádzajúci názov a zadaním nového. Ďalej uvidíte sekciu transformácie, kde môžete upraviť polohu, rotáciu a zmenu mierky vybraného herného objektu. V poslednej časti sa zobrazuje názov tlačidla ako Pridať komponent, kliknutím naň pridáte do svojho herného objektu nové komponenty, napríklad ak chcete pripojiť skript, stačí kliknúť na príkaz pridať komponent a napísať názov skriptu.

Panel nástrojov

Posledná je karta panela nástrojov, ktorá má veľa užitočných funkcií. Obsahuje niekoľko základných nástrojov na manipuláciu so zobrazením scény a objektmi. V strede sú tlačidlá pre ovládanie prehrávania, pozastavenia a krokov. Nasledujúce dve tlačidlá zobrazujú váš cloud Unity a účet Unity. Tu je obrázok, ako to vyzerá:

Začíname s jednotou

Začnime v Unity vytvárať nový projekt, pretože je čas pohrať sa s tým, čo sme sa naučili. Dvojitým kliknutím na ikonu Unity sa zobrazí nasledujúce okno:

Zadajte Názov projektu, vyberte pracovisko Poloha a potom vyberte typ projektu buď 2D alebo 3D. Kliknite na Vytvorte projekt.

V predvolenom nastavení uvidíte scénu bez názvu, ktorá obsahuje hlavný fotoaparát a smerové svetlo. Začnime vytvárať prostredie.

Stavebné prostredie

Najskôr vytvorte rovinu kliknutím na Vytvoriť -> 3D objekt a potom vyberte Rovina. Alebo ho môžete vytvoriť kliknutím na GameObject -> Herný objekt a potom vyberte Rovina. Prejdite do okna hierarchie a kliknite na objekt rovinnej hry. Teraz choďte do okna inšpektora a premenujte ho ako Uzemnenie. Teraz upravte hodnoty transformácie tak, aby táto rovina vyzerala ako rovná cesta. Stačí zmeniť mierku X na 6 a Z na 50. Tu je obrázok, ako to vyzerá

Teraz si stiahnite textúru cesty a naneste ju na pozemný objekt. Vytvorte názov priečinka ako Textúra. Presuňte stiahnutú textúru cesty do priečinka Texture. Teraz vyberte Uzemnenie a pretiahnite textúru cesty v zobrazení scény. Tu je obrázok, ako to vyzerá

Toto je textúra, ktorú som si stiahol

Po nanesení textúry na zem kliknite na Ground a v inšpektorskom okne nastavte obklad. Takto som to nastavil.

Teraz ste vytvorili cestný model, vytvorme guľový model v jednote.

Ísť do Vytvoriť -> 3D objekt a potom vyberte Guľa, v okne scény uvidíte guľový objekt. Vyberte ho a v okne inšpektora ho premenujte ako Ples. Teraz podľa toho upravte hodnoty transformácie. Stačí ho zväčšiť na 5 pozdĺž všetkých troch osí a premiestniť ho do stredu cesty. Takto to vyzerá

Teraz okolo cesty vytvorte plot alebo múr.

Ísť do Vytvoriť -> 3D objekt a potom vyberte Kocka. Vyberte ho a premenujte na Stena1. Prejdite do okna inšpektora a nastavte hodnoty transformácie tak, aby vyzerali ako stena okolo cesty. Vyzerá to takto:

Pozrite si tieto transformačné hodnoty pre Stena1. Mierka Y na 6 a Z na 500. Potom upravte jeho polohu tak, aby sa dotýkala rohov cesty.

Teraz vyhľadajte textúru steny, stiahnite si ju a skopírujte do Textúra priečinok v aktívach. Presuňte textúru steny na stenu v okne scény. Upravte obrábanie pôdy tak, aby vyzeralo pekne a hladko. Obklady som upravil ako X na 50 a Y na 1.5. Po úprave obkladov to takto vyzerá

Toto je textúra, ktorú som použil na stenu

Vytvorili sme múr pre jednu stranu cesty. Teraz urobte to isté aj na druhej strane cesty. Namiesto toho, aby sme prešli celým procesom, môžeme iba kopírovať Stena1 a premenujte ho na Stena2.

Vyberte Stena1 v hierarchickom okne a potom kliknite pravým tlačidlom myši a potom vyberte Duplikát možnosť. Vytvorí ďalší herný objekt s rovnakými veľkosťami a hodnotami transformácie. Kliknite na Wall1 (1) a premenujte ho na Stena2. Teraz upravte polohu tak, aby prichádzala k druhému rohu vozovky.

Ako vyzerá super, pozrite sa na nasledujúcom obrázku

Moje hodnoty polohy pre Wall2 sú X až -29.6 rokov až 2.6 a Z až 2.6.

Teraz vytvorte materiál pre Ples. Prejdite do okna Projekt a vytvorte priečinok kliknutím pravým tlačidlom myši a následným výberom Priečinok. Pomenujte to ako Materiály. Opäť kliknite pravým tlačidlom myši a vytvorte materiál. Pomenujte to ako červená lopta. V okne inšpektora vyberte farbu materiálu. Ísť do Hlavné mapy a vyberte farbu Albedo na červenú. Posuňte posúvač doprava a zväčšite tak kovovú textúru. Presuňte tento materiál do priečinka Ples v zobrazení scény. Takto to vyzerá

Takto vyzerá materiál:

S vývojom nášho životného prostredia sme teda hotoví. Teraz je čas urobiť nejaké kódovanie. Na to musíme vytvoriť skript.

Skriptovanie v jednote

Ak chcete implementovať svoje vlastné herné funkcie a ovládať správanie hry, Unity poskytuje ako skriptovací mechanizmus. Môžete si vytvoriť vlastný skript pre požadovaný výstup z hry. Pomocou týchto skriptov môžete spúšťať herné udalosti, meniť vlastnosti komponentov a reagovať na vstupy používateľov. V zásade Unity podporuje dva rôzne programovacie jazyky na účely skriptovania, jeden je C # a druhý je JavaScript. Okrem týchto dvoch jazykov mnoho ďalších .NET jazyky je možné použiť aj s Unity. Skripty sú známe ako súčasť správania v jednotke.

Vytvorenie skriptu

Začnime vytvárať skript Unity. Prejdite do okna aktív a vytvorte nový priečinok s názvom Skripty (vytváranie nových priečinkov pre každý nový typ diela môžete preskočiť, ale je dobré ho organizovať). Okno mojich aktív teraz vyzerá takto:

Teraz otvorte Skripty priečinok, kliknite pravým tlačidlom myši a potom prejdite na Vytvoriť a vyberte C # scenár. Premenovať skript na Pohyb. Tento skript vytvárame preto, aby sme sa pohybovali a pohybovali loptou na ceste. Teraz lopta stojí a nič nerobí. Vytvorme v nej nejaký pohyb.

Dvakrát kliknite na skript Pohyb, ktorý sa otvorí v Mono Develop. Ak je váš skript mono správaním, uvidíte nejaký vopred napísaný kód, ako je tento

pomocou systému.Zbierky; pomocou systému.Zbierky.Generické; pomocou UnityEngine; verejná trieda MovementScript: MonoBehaviour // Použite pre inicializáciu void Start ()  // Aktualizácia sa volá raz za rám void Update ()  

Môžete vidieť dve funkcie Start () a Update ().

Štart (): Funkcia Štart sa používa na inicializáciu premenných a objektov. Volá sa iba raz, keď je skript povolený tesne pred zavolaním akejkoľvek inej funkcie aktualizácie.

Aktualizácia (): Je to funkcia mono správania, volá sa raz v každom rámci.

Okrem týchto dvoch existuje mnoho ďalších funkcií správania mono, napríklad awake (), fixedUpdate (), lateUpdate () atď.

Aby ste mohli pohybovať loptou po ceste, musíte z nej urobiť tuhé telo (je to ideálne pevné telo, v ktorom sa zanedbávajú deformácie). Vyberte Ples v hierarchickom okne a kliknite na Pridať komponent tlačidlo v okne inšpektora. Zadajte pevné telo a stlačte Zadajte. Tuhé telo sa pripevní k Ples. Teraz choďte na skript a vytvorte súkromnú premennú typu Rigidbody. Teraz priraďte tuhé telo lopty k tejto premennej, ktorú ste práve vytvorili v skripte.

súkromný Rigidbody rb; rb = GetComponent (); 

Teraz napíšte nejaký kód pre pohyb tohto tuhého tela. Aký je nápad? Keď stlačím šípky na klávesnici, lopta by sa mala pohnúť. Mal by sa pohybovať dopredu, keď je stlačené tlačidlo hore, dozadu, keď je stlačené tlačidlo nadol a podobne.

Takže vstup prichádzajúci z klávesnice, ako by som mal získať tento vstup? Trieda vstupu Unity má názov funkcie GetAxis (), vráti hodnotu virtuálnej osi identifikovanej podľa názvu osi. Vytvorte dve premenné, jednu pre os x a druhú pre vstup na os y. Takto by to malo byť

float moveHorizontal = Vstup.GetAxis ("horizontálne"); 

Teraz vytvorte premennú Vector3, aby ste získali hodnoty pohybu.

Pohyb Vector3 = nový Vector3 (moveHorizontal, 0.0f, moveVerticle); 

Prvý parameter je hodnota osi x, druhý je hodnota osi y a tretí je hodnota osi z. Pretože sa lopta nebude pohybovať v smere osi y, priraďte jej nulu. Na záver pridajte tento pohyb k tuhej karosérii a znásobte ich konštantným číslom rýchlosti alebo vytvorte inú premennú rýchlosť. Kompletný kód nájdete nižšie

pomocou systému.Zbierky; pomocou systému.Zbierky.Generické; pomocou UnityEngine; pohyb vo verejnej triede: MonoBehaviour public float speed; súkromný Rigidbody rb; // Použite na inicializáciu void Start () rb = GetComponent ();  // Fixná aktualizácia sa volá po stanovenom počte void rámcov FixedUpdate () float moveHorizontal = Vstup.GetAxis ("horizontálne"); float moveVerticle = Vstup.GetAxis ("Horizontálne"); Pohyb Vector3 = nový Vector3 (-1 * pohybHorizontálny, 0.0f, -1 * moveVerticle); rb.AddForce (pohyb * rýchlosť);  

Pretože rýchlosť je verejná premenná, môžete jej v okne inšpektora priradiť hodnotu. Pripojte tento skript k lopte tak, že ju potiahnete do okna inšpektora alebo stlačte Pridať komponent tlačidlo. Stlačte tlačidlo prehrávania a vyskúšajte svoje kódovanie, či sa lopta pohybuje alebo nie.

Nastavenie fotoaparátu

Posledná vec, ktorú si všimnete, je, že keď stlačíte tlačidlo vpred a lopta sa začne pohybovať, vypadne z kamery, keď kamera stojí. Čo by sme mali urobiť? Mali by sme pohnúť aj kamerou? Áno, je to najjednoduchšia vec. Urobte kameru kamerou lopty tak, že potiahnete hlavný fotoaparát k lopte.

Záver

Toto bol základný úvodný tutoriál, v ktorom ste sa naučili veľa zaujímavých funkcií, vytváranie prostredia a skriptovanie v Unity. Neváhajte, začnite vytvárať svoju prvú hru s Unity ešte dnes a užívajte si!

Hry Výukový program Battle for Wesnoth
Výukový program Battle for Wesnoth
Battle for Wesnoth je jednou z najpopulárnejších open source strategických hier, ktoré si v súčasnosti môžete zahrať. Táto hra bola nielen vyvinutá ve...
Hry 0 A.D. Výukový program
0 A.D. Výukový program
Z mnohých strategických hier je tu 0 A.D. dokáže vyniknúť ako komplexný titul a veľmi hlboká, taktická hra napriek tomu, že je otvoreným zdrojom. Vývo...
Hry Výukový program pre Unity3D
Výukový program pre Unity3D
Úvod do Unity 3D Unity 3D je výkonný nástroj na vývoj hier. Je to multiplatforma, ktorá vám umožňuje vytvárať hry pre mobilné telefóny, web, počítače ...