Úvod do Unity 3D
Unity 3D je výkonný engine pro vývoj her. Jedná se o multiplatformní platformu, která vám umožňuje vytvářet hry pro mobilní zařízení, web, stolní počítače a konzoly, celkem asi 30 platforem. Unity 3D má mnoho vzrušujících funkcí, několik z nich je uvedeno níže:
- Náklady: Osobní verze Unity 3D je zdarma pro začátečníky, studenty a fandy. Unity Personal má všechny základní funkce Unity. Má také základní analytiku, vytváření cloudů, reklamy, hry pro více hráčů, nákupy v aplikacích a funkce pro různé platformy. Kromě těchto funkcí má Unity personal také několik omezení. Pro seriózní tvůrce a profesionály jsou k dispozici také dvě další verze Unity Plus a Unity Pro, od ceny 35 $ měsíčně.
- Editor vše v jednom: Jednota je známá jako editor vše v jednom. Editor Unity má několik nástrojů vhodných pro umělce pro vytváření působivých zážitků. Má silnou kombinaci vývojářských nástrojů pro implementaci herní logiky a špičkové hraní. Unity také umožňuje vytvářet 2D i 3D hry. Zahrnuje také nástroje pro vyhledání cesty AI založené na navigačním systému. Má vynikající integrovaný systém pro vytváření poutavých uživatelských rozhraní. Jeho fyzikální engine Box2D nám umožňuje vytvářet realistický pohyb, hybnost, sílu a hratelnost.
- Platformy: Unity podporuje mnoho různých platforem, jako je Linux, IOS, Android, Windows atd. celkem téměř 30 platforem.
- Virtuální a rozšířená realita: Unity podporuje vývoj virtuální a rozšířené reality. Je to nejpoužívanější motor pro vývoj XR. Má podporu Microsoft HoloLens, Stream VR / Vive, Gear VR a PlayStation VR v Unity Plus pro virtuální a rozšířenou realitu.
- Multiplayer: Pro hry v síti a hry pro více hráčů v reálném čase je nejlepší volbou Unity. Poskytuje servery pro spolupráci v reálném čase.
- Výkon motoru: Výkon motoru Unity je mimořádný. Vícevláknový výpočetní systém přichází pro intenzivní scénáře. Unity engine má pokročilé nástroje pro profilování, které určuje, zda je vaše hra vázána na CPU nebo ne, a také říká, jak ji optimalizovat s lepším zážitkem.
- Unity Asset Store: Jedná se o rozsáhlý katalog bezplatného a placeného obsahu. Svůj vývojový čas můžete prodloužit stažením mnoha předdefinovaných bezplatných modelů a aktiv. Dokonce i Unity asset store má kompletní projekty zdarma i placené.
- Vykreslování grafiky: Unity má jeden z nejlepších systémů pro vykreslování grafiky. Umožňuje vám vytvářet prostředí, jako je světelný den, křiklavá záře neonových nápisů, tlumeně osvětlené půlnoci a temné tunely. Produkuje úžasné vizuální efekty. Unity sice podporuje více platforem, ale přesto se snaží pokrývat nízkoúrovňové grafické API každé platformy pro lepší výsledky a lepší uživatelské prostředí.
- Týmová spolupráce: Má funkce, které umožňují spolupráci a jednoduchý pracovní postup. Cloudové úložiště Unity vám umožňuje ukládat, sdílet a synchronizovat vaše projekty kdekoli.
- Hlášení výkonu: Systém hlášení výkonu Unity se zabývá problémy v reálném čase. Problémy s vysokými prioritami jsou řešeny velmi efektivně. Vyhledá chyby aplikací napříč zařízeními a platformami.
Jednotná rozhraní
Prozkoumejme rozhraní editoru Unity, která jsou konfigurovatelná. Skládá se z výčepních oken, která můžete uspořádat podle svých potřeb. Prozkoumejme výchozí nastavení okna. Zde je obrázek, jak to vypadá
Okno hierarchie
Okno Hierarchie představuje každý objekt ve scéně. Ukazuje, jak jsou objekty ve scéně vzájemně propojeny, takže tato dvě okna spolu souvisejí. V okně hierarchie je rozevírací seznam s názvem jako Vytvořit. Prázdný objekt, objekty 3D, objekty 2D, objekty světla, zvuku, videa, částicového systému a kamery můžete vytvořit velmi snadno. Okno hierarchie je zobrazeno níže. „Bez názvu“ je název scény. Můžete jej přejmenovat, jak chcete. Na pravé straně názvu bez názvu (název scény) můžete vidět rozevírací ikonu. Kliknutím na tuto rozevírací nabídku zobrazíte různé možnosti pro Uložit scénu a Přidat novou scénu.
Okno scény
Okno scény je místo, kde vytváříte scénu. Zde můžete komunikovat se svými herními objekty a modely. Můžete měnit velikost, přetvářet a přemisťovat objekty scény. Toto je okno, kde začnete pracovat s Unity. Zobrazení scény může být 2D nebo 3D v závislosti na nastavení vašeho projektu. Zde je snímek obrazovky, jak vypadá okno scény:
V okně scény vidíte další označenou záložku Ve stínu, Zde můžete vybrat, jaký typ zobrazení chcete stínovaný nebo drátový. Má mnoho dalších možností, jako je Různé, Globální osvětlení, GI v reálném čase, Pečený GI a mnoho dalších. Můžete zobrazit 2D nebo 3D pomocí tlačítka vedle Ve stínu rozbalit. Další je přepínací tlačítko pro osvětlení scény. Podobně přepínací tlačítko pro zvuk scény. Další je rozevírací seznam umožňující efekty oblohy, mlhy, animovaného materiálu a obrazových efektů.
Okno hry
Okno hry představuje vaši poslední publikovanou hru v režimu hraní. Je vykreslen z kamer, které jste použili ve své hře. V okně hry můžete vidět další panel nástrojů, jak je znázorněno níže na obrazovce:
Displej 1 zobrazuje kameru přítomnou na vaší herní scéně. Ve výchozím nastavení je nastavena na Displej 1 pro hlavní fotoaparát. Pokud máte více kamer a chcete přepnout, můžete vybrat z rozevíracího seznamu. Vedle toho můžete vidět rozevírací seznam pro poměry stran. Můžete vybrat podle obrazovky monitoru vašeho cílového zařízení. Dále můžete vidět a Posuvník měřítka přiblížit. Posuňte se doprava a prozkoumejte další podrobnosti vaší scény v režimu přehrávání. Další je tlačítko pro Maximalizovat na Play, po kliknutí bude velikost okna hry v režimu hraní maximální. Ztlumit zvuk přepínač se používá pro ztlumení / zapnutí zvuku. Statistiky zobrazuje statistiky vykreslování zvuku a grafiky vaší hry.
Okno Projektová aktiva
Jak název ukazuje, okno obsahuje všechna aktiva vašeho projektu, která můžete použít. Pokud naimportujete něco nového, objeví se v okně aktiv projektu. Okno projektu má dvě části, levý panel a pravý panel, jak je znázorněno na následujícím snímku obrazovky:
Levý panel zobrazuje hierarchickou strukturu aktiv projektu. Když kliknete na libovolnou složku, zobrazí se podrobnosti v pravém panelu. Například na daném obrázku Montované domy na složku kliknete v levém panelu, takže její podrobnosti se zobrazují v pravém panelu, protože obsahuje dva herní objekty. V levém panelu vidíte a Oblíbené sekce, kde můžete velmi často přetahovat položky, které chcete použít, abyste předešli plýtvání časem při jejich hledání. Nad ním můžete vidět a Vytvořit rozbalovací nabídka, která vám umožní vytvořit skript C #, složku, shader, vzhled GUI, scénu, panelák, materiál a mnoho dalšího.
Okno konzoly
Okno konzoly je místo, kde můžete vidět své chyby, varování a zprávy. Můžete je upravit kliknutím na jejich přepínací tlačítka. Umožňuje také vymazat všechny chyby, varování a zprávy. Chyby můžete na určitou dobu pozastavit. Zde vidíte na následujícím obrázku
Ikona rozevíracího seznamu v pravém horním rohu obsahuje možnosti protokolu editoru a protokolování trasování zásobníku.
Inspekční okno
Okno Inspektor je jedním z nejzajímavějších a nejužitečnějších oken editoru. Je to místo, kde můžete upravit všechny vlastnosti vybraného herního objektu. Každý herní objekt má svůj vlastní typ, takže jeho vlastnosti se budou lišit a okno inspektora se může lišit. Vlastnosti, skripty a herní objekty se liší ve vlastnostech. Podívejme se na vlastnosti krychle v okně inspektora. Zde je obrázek:
Svůj herní objekt můžete přejmenovat pouhým kliknutím na předchozí název a zadáním nového. Dále uvidíte sekci transformace, kde můžete upravit polohu, rotaci a změnu měřítka vybraného herního objektu. V posledním uvidíte název tlačítka jako Přidat komponentu, kliknutím na něj přidáte do svého herního objektu nové komponenty, například pokud chcete připojit skript, stačí kliknout na přidat komponentu a zadat název skriptu.
Panel nástrojů
Poslední je karta panelu nástrojů, která má mnoho užitečných funkcí. Obsahuje několik základních nástrojů pro manipulaci se scénou a objekty. Ve středu jsou tlačítka pro přehrávání, pozastavení a krokové ovládání. Další dvě tlačítka zobrazují váš cloud Unity a účet Unity. Zde je obrázek, jak to vypadá:
Začínáme s jednotou
Začněme vytvářet nový projekt v Unity, protože je čas pohrát si s tím, co jsme se naučili. Poklepáním na ikonu Unity se zobrazí následující okno:
Enter název projektu, vyberte pracoviště Umístění a poté vyberte typ projektu buď 2D nebo 3D. Klikněte na Vytvořit projekt.
Ve výchozím nastavení uvidíte scénu bez názvu obsahující hlavní kameru a směrové světlo ve scéně. Začněme vytvářet prostředí.
Stavební prostředí
Nejprve vytvořte rovinu kliknutím na Vytvořit -> 3D objekt a poté vyberte Letadlo. Nebo jej můžete vytvořit kliknutím na GameObject -> Herní objekt a poté vyberte Letadlo. Přejděte do okna hierarchie a klikněte na objekt herní roviny. Nyní přejděte do okna inspektora a přejmenujte jej jako Přízemní. Nyní upravte hodnoty transformace tak, aby tato rovina vypadala jako přímá silnice. Stačí změnit měřítko X na 6 a Z na 50. Zde je obrázek, jak to vypadá
Nyní si stáhněte texturu silnice a aplikujte ji na pozemní objekt. Vytvořte název složky jako Textura. Přetáhněte staženou texturu silnice do složky Textura. Nyní vyberte Přízemní a přetáhněte texturu silnice v pohledu scény. Zde je obrázek, jak to vypadá
Toto je textura, kterou jsem stáhl
Po nanesení textury na zem klikněte na Ground a v inspektorském okně nastavte obklady. Takto jsem to nastavil.
Nyní jste vytvořili model silnice, vytvořme model koule v jednotě.
Jít do Vytvořit -> 3D objekt a poté vyberte Koule, v okně scény uvidíte sférický objekt. Vyberte jej a přejděte do okna inspektora a přejmenujte jej jako Míč. Nyní podle toho upravte hodnoty transformace. Prostě jej změňte na 5 podél všech tří os a přemístěte jej do středu silnice. Takto to vypadá
Nyní kolem silnice vytvořte plot nebo zeď.
Jít do Vytvořit -> 3D objekt a poté vyberte Krychle. Vyberte jej a přejmenujte na Wall1. Přejděte do okna inspektora a nastavte hodnoty transformace tak, aby to vypadalo jako zeď kolem silnice. Vypadá to takto:
Viz tyto hodnoty transformace pro Wall1. Měřítko Y na 6 a Z na 500. Poté upravte jeho polohu tak, aby se nacházela v rozích silnice.
Nyní vyhledejte texturu stěny, stáhněte ji a zkopírujte do Textura složka v aktivech. Přetáhněte texturu stěny na zeď v okně scény. Upravte obdělávání tak, aby vypadalo hezky a hladce. Upravil jsem obklady jako X na 50 a Y na 1.5. Po úpravě obkladu to tak vypadá
Toto je textura, kterou jsem použil na zeď
Vytvořili jsme zeď pro jednu stranu silnice. Nyní udělejte totéž pro druhou stranu silnice. Místo toho, abychom prošli celým procesem, můžeme jen kopírovat Wall1 a přejmenujte jej na Wall2.
Vybrat Wall1 v hierarchickém okně a poté klikněte pravým tlačítkem a poté vyberte Duplikát volba. Vytvoří další herní objekt se stejnou velikostí a hodnotami transformace. Klikněte na Wall1 (1) a přejmenujte jej na Wall2. Nyní upravte polohu tak, aby se dostala do druhého rohu silnice.
Podívejte se na následující obrázek, jak skvěle to vypadá
Moje hodnoty polohy pro Wall2 jsou X až -29.6 Y až 2.6 a Z až 2.6.
Nyní vytvořte materiál pro Míč. Přejděte do okna Projekt a vytvořte složku kliknutím pravým tlačítkem myši a poté výběrem Složka. Pojmenujte to jako Materiály. Opět klikněte pravým tlačítkem myši a vytvořte materiál. Pojmenujte to jako červený míč. V okně inspektora vyberte barvu materiálu. Jít do Hlavní mapy a vyberte barvu Albedo na červenou. Posunutím pruhu doprava zvětšete kovovou strukturu. Přetáhněte tento materiál do Míč v zobrazení scény. Takto to vypadá
Takto vypadá materiál:
S vývojem prostředí jsme tedy hotoví. Nyní je čas udělat nějaké kódování. K tomu musíme vytvořit skript.
Skriptování v jednotě
Implementovat své vlastní herní funkce a řídit chování hry, kterou Unity poskytuje jako skriptovací mechanismus. Pro požadovaný výstup hry můžete napsat vlastní skript. S těmito skripty můžete spouštět herní události, měnit vlastnosti komponent a reagovat na vstupy uživatelů. V zásadě Unity podporuje dva různé programovací jazyky pro skriptovací účely, jeden je C # a druhý je JavaScript. Kromě těchto dvou jazyků mnoho dalších .NET jazyky lze také použít s Unity. Skripty jsou známé jako součást chování v Unity.
Vytvoření skriptu
Začněme vytvářet skript Unity. Přejděte do okna aktiv a vytvořte novou složku s názvem Skripty (vytváření nových složek pro každý nový typ aktiva můžete přeskočit, ale je dobré ji udržovat v pořádku). Okno mých aktiv nyní vypadá takto:
Nyní otevřete Skripty složku, klikněte pravým tlačítkem a přejděte na Vytvořit a vyberte C# skript. Přejmenovat skript na Hnutí. Tento skript vytváříme k pohybu a házení míče po silnici. Prozatím míč stojí, nedělá nic, vytvořme v něm nějaký pohyb.
Poklepejte na pohybový skript, který se otevře v Mono Develop. Pokud je váš skript mono chování, uvidíte nějaký předem napsaný kód, jako je tento
pomocí systému.Sbírky; pomocí systému.Sbírky.Obecný; pomocí UnityEngine; veřejná třída MovementScript: MonoBehaviour // Použijte pro inicializaci void Start () // Aktualizace je volána jednou za snímek void Update ()
Můžete vidět dvě funkce Start () a Update ().
Start(): Funkce Start se používá k inicializaci proměnných a objektů. Volá se pouze jednou, když je skript povolen těsně před voláním jakékoli jiné funkce aktualizace.
Aktualizace(): Jedná se o funkci mono chování, volá se jednou v každém rámci.
Kromě těchto dvou existuje mnoho dalších funkcí mono chování, například awake (), fixedUpdate (), lateUpdate () atd.
Chcete-li nejprve pohybovat míčem po silnici, musíte z něj udělat tuhé těleso (je to ideální pevné těleso, ve kterém se zanedbává deformace). Vybrat Míč v hierarchickém okně a klikněte na Přidat komponentu tlačítko v okně inspektora. Napište tuhé tělo a stiskněte Enter. Tuhé tělo se připojí k Míč. Nyní přejděte ke skriptu a vytvořte soukromou proměnnou typu Rigidbody. Nyní přiřaďte tuhé tělo koule této proměnné, kterou jste právě vytvořili ve skriptu.
soukromý Rigidbody rb; rb = GetComponent();
Nyní napište nějaký kód pro pohyb tohoto tuhého těla. Jaký je nápad? Míč by se měl pohnout, když stisknu klávesy se šipkami na klávesnici. Mělo by se pohybovat dopředu, když je stisknuto tlačítko nahoru, dozadu, když je stisknuto tlačítko dolů a tak dále.
Takže vstup přicházející z klávesnice, jak mám získat tento vstup? Unity's Input class má název funkce GetAxis (), vrátí hodnotu virtuální osy identifikované podle názvu osy. Vytvořte dvě proměnné, jednu pro osu x a jednu pro vstup v ose y. Tak by to mělo být
float moveHorizontal = Vstup.GetAxis ("vodorovně");
Nyní vytvořte proměnnou Vector3, abyste získali hodnoty pohybu.
Pohyb Vector3 = nový Vector3 (moveHorizontal, 0.0f, moveVerticle);
První parametr je hodnota osy x, druhý je hodnota osy y a třetí je hodnota osy z. Protože se koule nebude pohybovat ve směru osy y, přiřaďte jí nulu. Nakonec přidejte tento pohyb k tuhému tělu a vynásobte konstantním číslem rychlosti nebo vytvořte jinou proměnnou rychlosti. Kompletní kód naleznete níže
pomocí systému.Sbírky; pomocí systému.Sbírky.Obecný; pomocí UnityEngine; public class Movement: MonoBehaviour public float speed; soukromý Rigidbody rb; // Použijte pro inicializaci void Start () rb = GetComponent(); // Fixed Update is called after fixed number of frame void FixedUpdate () float moveHorizontal = Input.GetAxis ("vodorovně"); float moveVerticle = Vstup.GetAxis ("vodorovně"); Pohyb Vector3 = nový Vector3 (-1 * moveHorizontal, 0.0f, -1 * moveVerticle); rb.AddForce (pohyb * rychlost);
Protože rychlost je veřejná proměnná, můžete přiřadit hodnotu v okně inspektora. Připojte tento skript k míči přetažením do okna inspektora nebo stisknutím Přidat komponentu knoflík. Stiskněte tlačítko přehrávání a vyzkoušejte kódování, zda se míč pohybuje, nebo ne.
Nastavení fotoaparátu
Poslední věc, kterou si všimnete, je, že když stisknete tlačítko vpřed a míč se začne pohybovat, zmizí z kamery, protože kamera stojí. Co bychom měli dělat? Měli bychom také přesunout kameru? Ano, je to nejjednodušší věc. Udělejte kameru dítětem míče přetažením hlavní kamery k míči.
Závěr
Toto byl základní úvodní kurz, ve kterém jste se naučili mnoho zajímavých funkcí, vytváření prostředí a skriptování v Unity. Neváhejte a začněte vytvářet svou první hru s Unity ještě dnes a užívejte si!