Ú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:
- Náklady: Osobná verzia aplikácie Unity 3D je bezplatná pre začiatočníkov, študentov a fanúšikov. Unity Personal má všetky základné funkcie Unity. Má tiež základnú analytiku, vytváranie cloudov, reklamy, hry pre viac hráčov, nákupy v aplikáciách a funkcie pre rôzne platformy. Okrem týchto funkcií má Unity personal tiež niekoľko obmedzení. Pre serióznych tvorcov a profesionálov sú k dispozícii aj ďalšie dve verzie Unity Plus a Unity Pro, ktoré začínajú na cene 35 dolárov mesačne.
- Editor všetkého v jednom: Jednota je známa ako editor typu všetko v jednom. Editor Unity má niekoľko nástrojov vhodných pre umelcov na vytváranie pôsobivých zážitkov. Má silnú kombináciu vývojárskych nástrojov na implementáciu hernej logiky a špičkovú hrateľnosť. Unity tiež umožňuje vytvárať 2D aj 3D hry. Zahŕňa tiež nástroje na hľadanie cesty AI založené na navigačnom systéme. Má vynikajúci zabudovaný systém na vytváranie pútavých používateľských rozhraní. Jeho fyzikálny engine Box2D nám umožňuje vytvárať realistický pohyb, hybnosť, silu a hrateľnosť.
- Platformy: Unity podporuje mnoho rôznych platforiem ako Linux, IOS, Android, Windows atď. celkovo takmer 30 platforiem.
- Virtuálna a rozšírená realita: Unity podporuje vývoj virtuálnej a rozšírenej reality. Je to najbežnejšie používaný motor pre vývoj XR. Má podporu Microsoft HoloLens, Stream VR / Vive, Gear VR a PlayStation VR v Unity Plus pre virtuálnu a rozšírenú realitu.
- Multiplayer: Pre hry v sieti a hry pre viacerých hráčov v reálnom čase je jednota tou najlepšou voľbou. Poskytuje servery pre spoluprácu v reálnom čase.
- Výkon motora: Výkon motora Unity je mimoriadny. Viacvláknový výpočtový systém prichádza pre intenzívne scenáre. Unity engine má pokročilé nástroje na profilovanie, ktoré určuje, či je vaša hra viazaná na CPU alebo nie, a tiež povie, ako ju optimalizovať s lepšími skúsenosťami.
- Obchod Unity Asset: Je to rozsiahly katalóg bezplatného a plateného obsahu. Čas na vývoj môžete predĺžiť stiahnutím mnohých vstavaných bezplatných modelov a diel. Dokonca aj obchod s jednotkami Unity má kompletné projekty zadarmo aj platené.
- Vykreslenie grafiky: Unity má jeden z najlepších systémov vykresľovania grafiky. Umožňuje vám vytvárať prostredia ako svetelný deň, krikľavá žiara neónových značiek, slabo osvetlené polnočné noci a temné tunely. Produkuje úžasné vizuálne efekty. Unity síce podporuje viac platforiem, ale stále sa snaží pokryť nízkoúrovňové grafické API každej platformy pre lepšie výsledky a plynulejší používateľský zážitok.
- Tímová spolupráca: Má funkcie, ktoré umožňujú spoluprácu a jednoduchý pracovný tok. Cloudové úložisko Unity vám umožňuje ukladať, zdieľať a synchronizovať vaše projekty kdekoľvek.
- Hlásenie výkonnosti: Systém hlásenia výkonnosti jednoty sa zaoberá problémami v reálnom čase. Problémy s vysokými prioritami sa riešia veľmi efektívne. Vyhľadáva chyby aplikácií naprieč zariadeniami a platformami.
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!