Hry

Výukový program Unity3D

Výukový program Unity3D

Ú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:

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!

Hry Nejlepší hry pro ruční sledování
Nejlepší hry pro ruční sledování
Oculus Quest nedávno představil skvělou myšlenku ručního sledování bez ovladačů. S neustále se zvyšujícím počtem her a aktivit, které provádějí podpor...
Hry Jak zobrazit překrytí OSD v linuxových aplikacích a hrách na celou obrazovku
Jak zobrazit překrytí OSD v linuxových aplikacích a hrách na celou obrazovku
Hraní her na celou obrazovku nebo používání aplikací v režimu celé obrazovky bez rozptýlení vás mohou odříznout od příslušných systémových informací v...
Hry Top 5 karet pro zachycení hry
Top 5 karet pro zachycení hry
Všichni jsme viděli a milovali streamování her na YouTube. PewDiePie, Jakesepticye a Markiplier jsou jen někteří z nejlepších hráčů, kteří vydělali mi...