Játékok

Unity3D bemutató

Unity3D bemutató

Bevezetés a Unity 3D-be

Az Unity 3D egy erőteljes játékfejlesztő motor. Ez több platformon keresztül lehetővé teszi játékok, mobil, webes, asztali és konzolos játékok, összesen mintegy 30 platform létrehozását. A Unity 3D számos izgalmas funkcióval rendelkezik, ezek közül néhányat megadunk:

Unity Interfaces

Fedezzük fel a Unity szerkesztő konfigurálható felületeit.  Csapolt ablakok alkotják, amelyeket igény szerint átrendezhet.  Fedezzük fel az alapértelmezett ablakbeállításokat. Itt van a kép hogyan néz ki

Hierarchia ablak

A Hierarchia ablak a jelenet minden objektumát megjeleníti. Megmutatja, hogy az objektumok hogyan kapcsolódnak egymáshoz a jelenetben, tehát ez a két ablak összefügg. A hierarchia ablakban van egy legördülő lista, amelynek neve: Teremt. Nagyon könnyen létrehozhat egy üres objektumot, 3D objektumokat, 2D objektumokat, fény-, hang-, video-, részecskerendszer- és kameraobjektumokat. A hierarchia ablak az alábbiakban látható. A „Névtelen” a jelenet neve. Átnevezheti, ahogy akarja. A felirat nélküli (jelenet neve) jobb oldalán egy legördülő menü látható. Erre a legördülő menüre kattintva különböző lehetőségeket láthat Jelenet mentése és Új jelenet hozzáadása.

Jelenet ablak

A jelenetablakban hozhatja létre a jelenetet. Itt léphet kapcsolatba játékobjektumaival és modelljeivel. Átméretezheti, átalakíthatja és áthelyezheti a jelenetobjektumokat. Ez az az ablak, ahol elkezd dolgozni a Unity-vel. A jelenet nézete lehet 2D vagy 3D, a projekt beállításától függően. Itt van egy képernyőkép a jelenet ablakának kinézetéről:

A jelenetablakban egy másik fül látható Árnyékolt, itt kiválaszthatja, hogy milyen típusú árnyékolt vagy drótvázas legyen a nézet. Sok más lehetősége van, mint például Egyéb, Globális megvilágítás, Valós idejű GI, Baked GI és még sok más. Megtekintheti 2D vagy 3D formátumban a gomb melletti gombot Árnyékolt ledob. A következő a kapcsoló gomb a jelenet megvilágításához. Hasonlóan egy váltógomb a jelenet hangzásához. A következő egy legördülő lista az égbolt, a köd, az animált anyagok és a képeffektusok engedélyezéséhez.

Játékablak

A Játékablak az utolsó, közzétett játékot mutatja játékmódban. A játékban használt kamerákból renderelt. A játékablakban egy másik eszköztár látható, amint az a képernyőn látható:

Az 1. kijelző mutatja, hogy a kamera jelen van-e a játékban. Alapértelmezés szerint ez az érték 1. kijelző fő kamerához. Ha több kamerája van, és váltani szeretne, akkor a legördülő listából választhat. Mellette egy legördülő menü látható a képarányokhoz. Kiválaszthatja a céleszköz monitorának képernyője szerint. Ezután láthatja a Méret csúszka nagyításhoz. Görgessen jobbra, és vizsgálja meg a jelenet további részleteit lejátszási módban. A következő a gombra a Maximalizálás a Playen, rákattintáskor a játékablak maximális mérete lesz játék módban. Hang némítása kapcsolót a hang elnémításához / némításának feloldásához használják. Statisztika megjeleníti a játék hangjával és grafikájával kapcsolatos renderelési statisztikákat.

Projekt eszközei ablak

Amint a neve mutatja, az eszközök ablakban a projekt összes eszköze megtalálható, amelyet felhasználhat. Ha valami újat importál, az megjelenik a projekt eszköz ablakában. A projekt eszközablakának két része van, a bal és a jobb panel, az alábbi képernyőképen látható módon:

A bal oldali ablaktábla a projekt eszközeinek hierarchikus felépítését mutatja.  Ha bármelyik mappára kattint, a jobb oldali panelen láthatók a részletek. Például az adott ábrán Előretek mappára kattint a bal panelen, így annak részletei a jobb panelen jelennek meg, mivel két játékobjektumot tartalmaz. A bal oldali panelen láthatja a Kedvencek szakasz, ahol nagyon gyakran húzhatja a használni kívánt elemeket, hogy elkerülje az időveszteséget a keresés során. Fölötte látható a Teremt legördülő menü, amely lehetővé teszi C # szkript, mappa, shader, GUI felület, jelenet, előregyártás, anyag és még sok más létrehozását.

Konzol ablak

A konzolablakban láthatja a hibákat, figyelmeztetéseket és üzeneteket. A váltógombokra kattintva állíthatja be őket. Ez lehetővé teszi az összes hiba, figyelmeztetés és üzenet törlését is. A hibákat egy bizonyos ideig szüneteltetheti. Itt láthatja a következő ábrán

A jobb felső sarokban található legördülő menüben lehetőségek vannak a Szerkesztőnapló és a Veremkövetés naplózására.

Ellenőr ablak

Az Ellenőr ablak a szerkesztő egyik legérdekesebb és leghasznosabb ablaka. Itt szerkesztheti a kiválasztott játékobjektum összes tulajdonságát. Minden játékobjektumnak megvan a maga típusa, így tulajdonságaik eltérőek lesznek, és az ellenőr ablaka változhat. Az eszközök, a szkriptek és a játékobjektumok tulajdonságai különbözőek. Láthatjuk a kocka tulajdonságait az ellenőr ablakban. Itt van a kép:

Átnevezheti a játékobjektumot, ha csak az előző névre kattint, és beír egy újat. Ezután látni fogja az átalakítás részt, ahol beállíthatja a kiválasztott játékobjektum helyzetét, forgatását és méretezését. Az utolsóban egy gomb neve látható Add Component, kattintson rá, hogy új komponenseket adjon a játékobjektumhoz, például ha szkriptet szeretne csatolni, akkor kattintson az összetevő hozzáadása elemre, és írja be a szkript nevét.

Eszköztár

Utolsó az eszköztár fül, sok hasznos funkcióval rendelkezik. Néhány alapvető eszközt tartalmaz a jelenet és az objektumok manipulálására. Középen találhatók a lejátszás, a szünet és a lépések vezérlésének gombjai. A következő két gomb az Unity felhőjét és a Unity fiókját mutatja. Íme az ábra, hogy néz ki:

Az egység kezdete

Kezdjünk el létrehozni egy új projektet a Unity-ben, mert itt az ideje játszani a tanultakkal. Kattintson duplán az Unity ikonra, és megjelenik a következő ablak:

Belép Projekt neve, válasszon munkahelyet Elhelyezkedés majd válassza ki a projekt típusát 2D vagy 3D. Kattintson Projekt létrehozása.

Alapértelmezés szerint egy cím nélküli jelenetet fog látni, amely egy fő kamerát és irányjelzőt tartalmaz a jelenetben. Kezdjük el létrehozni a környezetet.

Építési környezet

Először hozzon létre egy síkot a gombra kattintva Létrehozás -> 3D objektum majd válassza ki Repülőgép. Vagy alternatívaként létrehozhatja a gombra kattintva GameObject -> Játékobjektum majd válassza ki Repülőgép. Menjen a hierarchia ablakba, és kattintson a sík játékobjektumra. Most lépjen az ellenőr ablakhoz, és nevezze át a következőre: Talaj. Most állítsa be az átalakítási értékeket úgy, hogy ez a sík egyenes útnak nézzen ki. Csak méretezze X-et 6-ra, Z-t 50-re. Itt van a kép hogyan néz ki

Most töltsön le egy úttestet és alkalmazza a talajra. Hozzon létre egy mappa nevet textúraként. Húzza a letöltött út textúráját a Texture mappájába. Most válassza ki Talaj és húzza az út textúráját a jelenet nézetében. Itt van a kép hogyan néz ki

Ezt a textúrát töltöttem le

Miután a textúrát felvitte a földre, kattintson a Ground elemre, és állítsa be a csempézést az ellenőr ablakában. Így állítom be.

Most létrehozott egy útmodellt, alkossunk egységesen egy gömbmodellt.

Menj Létrehozás -> 3D objektum majd válassza ki Gömb, egy gömb objektumot fog látni a jelenet ablakában. Jelölje ki, és lépjen az ellenőr ablakba, hogy átnevezze Labda. Most állítsa be ennek megfelelően az átalakítási értékeket. Csak méretezze 5-re mindhárom tengely mentén, és helyezze át az út közepére. Így néz ki

Most hozzon létre egy kerítést vagy falat az út körül.

Menj Létrehozás -> 3D objektum majd válassza ki Kocka. Jelölje ki, és nevezze át erre: Fal1. Lépjen az ellenőr ablakához, és állítsa be az átalakítási értékeket úgy, hogy falnak nézzen ki az út körül. Így néz ki:

Lásd ezeket az átalakítási értékeket Fal1. Skála Y 6-ig és Z 500-ig. Ezután állítsa be úgy, hogy az út kanyarulataiban legyen.

Most keressen egy falszerkezetet, töltse le és másolja a Struktúra mappa az eszközökben. Húzza a fal textúráját a jelenet ablakának falára. Állítsa be a talajművelést úgy, hogy szép és sima legyen. A csempézést X-re 50-re, Y-t 1-re állítottam.5. A csempézés beállítása után ez így néz ki

Ezt a textúrát használtam a falhoz

Falat hoztunk létre az út egyik oldalára. Most ugyanezt tegye az út másik oldalán is. Ahelyett, hogy végigvinnénk az egész folyamatot, csak másolhatunk Fal1 és nevezze át Fal2.

Válassza a lehetőséget Fal1 a hierarchia ablakban, majd kattintson a jobb gombbal, majd válassza a lehetőséget Másolat választási lehetőség. Létrehoz egy másik játékobjektumot, amelynek mérete és átalakítási értéke azonos. Kattintson Fal1 (1) és nevezze át Fal2. Most állítsa be úgy a helyzetet, hogy az az út másik sarkába kerüljön.

Nézze meg a következő képet, milyen menőnek tűnik

A Wall2 pozíció értéke X és -29 között van.6 Y-tól 2-ig.6. és Z – 2.6.

Most hozzon létre egy anyagot a Labda. Nyissa meg a Projekt ablakot, és az egér jobb gombjával kattintson egy mappa létrehozására, majd válassza a lehetőséget Mappa. Nevezze el úgy Anyagok. Ismét jobb egérgombbal kattintson az egérre, és hozzon létre egy anyagot. Nevezze el piros labda. Az ellenőr ablakában válassza ki az anyag színét. Menj Fő térképek és válassza az Albedo színét vörösre. Növelje a fémes textúrát a sáv jobbra görgetésével. Húzza ezt az anyagot a Labda a helyszínnézetben. Így néz ki

Így néz ki az anyag:

Tehát elkészültünk a környezetünk fejlesztésével. Most itt az ideje egy kis kódolásnak. Ehhez létre kell hoznunk egy szkriptet.

Forgatókönyvírás az Unity-ben

Saját játékmenet-funkcióinak megvalósításához és a Unity által szkriptelési mechanizmusként biztosított játék viselkedésének szabályozásához. A játék kívánt kimenetéhez saját szkriptet írhat. Ezekkel a szkriptekkel kiválthatja a játék eseményeit, megváltoztathatja a komponens tulajdonságait, és válaszolhat a felhasználói inputokra. A Unity alapvetően két különböző programozási nyelvet támogat szkriptelés céljából, az egyik a C #, a másik pedig a JavaScript. Ezen a két nyelven kívül sok más .A NET nyelvek a Unity-vel is használhatók. A szkriptek viselkedéskomponensként ismertek a Unity-ben.

Script készítése

Kezdjük el létrehozni a Unity szkriptet. Ehhez lépjen az eszközök ablakba, és hozzon létre egy új nevű mappát Szkriptek (kihagyhatja az új mappák létrehozását minden új típusú eszközhöz, de ez a bevett gyakorlat a dolgok rendezettségének megőrzéséhez). Így néz ki most az eszközeim ablaka:

Most nyissa meg a Szkriptek mappába, kattintson a jobb gombbal, majd lépjen a következőre: Teremt és válassza ki C # forgatókönyv. Átnevezheti a szkriptet erre: Mozgalom. Ezt a forgatókönyvet azért hozzuk létre, hogy mozgassa és gurítsa a labdát az úton. A labda egyelőre mozdulatlan, nem csinál semmit, hozzunk létre benne valami mozgást.

Kattintson duplán arra a Movement szkriptre, amely megnyílik a Mono Develop alkalmazásban. Ha a szkript mono viselkedésű, akkor látni fog egy ilyen előre megírt kódot

a Rendszer használatával.Gyűjtemények; a Rendszer használatával.Gyűjtemények.Generikus; az UnityEngine használatával; public class MovementScript: MonoBehaviour // Használja ezt inicializáláshoz void Start ()  // A frissítést kockánként egyszer hívják meg void Update ()  

Két funkció látható: Start () és Update ().

Rajt(): A Start függvény a változók és objektumok inicializálására szolgál. Csak egyszer hívják meg, ha a parancsfájl engedélyezve van, mielőtt bármilyen más frissítési függvény meghívást kezdeményezne.

Frissítés (): Ez egy mono viselkedési függvény, minden képkockában egyszer meghívják.

Ezen a kettőn kívül számos más mono viselkedési funkció létezik, például ébren (), FixUpdate (), lateUpdate () stb.

A labda mozgatásához először merev testté kell tenni (ideális szilárd test, amelyben a deformációt elhanyagolják). Válassza a lehetőséget Labda a hierarchia ablakban, és kattintson a gombra Add Component gombot az ellenőr ablakban. Írja be a merev testet és nyomja meg Belép. Merev test fog csatlakozni a Labda. Most lépjen a szkripthez, és hozzon létre egy privát változót Merev test. Most rendelje hozzá a labda merev testét ehhez a változóhoz, amelyet most létrehozott a szkriptben.

privát Rigidbody rb; rb = GetComponent (); 

Most írjon néhány kódot ennek a merev testnek a mozgására. Mi az ötlet? A labdának mozognia kell, amikor megnyomom a billentyűzet nyílbillentyűit. Előre kell mozognia, amikor a fel gombot megnyomják, hátra, amikor a le gombot megnyomják, és így tovább.

Tehát a billentyűzetről érkező bemenet, hogyan szerezzem meg ezt a bemenetet? Az Unity Input osztályának neve van GetAxis (), a tengelynévvel azonosított virtuális tengely értékét adja vissza. Hozzon létre két változót, egyet az x tengelyhez és egyet az y tengely beviteléhez. Így kell lennie

float moveHorizontal = Bemenet.GetAxis ("vízszintes"); 

Most hozzon létre egy Vector3 változót a mozgásértékek megszerzéséhez.

Vector3 mozgás = új Vector3 (moveHorizontal, 0.0f, moveVerticle); 

Az első paraméter az x tengely, a második az y tengely, a harmadik a z tengely értéke. Mivel a labda nem mozog az y tengely irányában, rendeljen hozzá nullát. Végül adja hozzá ezt a mozgást a merev testhez, és szorozza meg a sebesség állandó számával, vagy hozzon létre egy másik változót a sebességhez. Lásd a teljes kódot alább

a Rendszer használatával.Gyűjtemények; a Rendszer használatával.Gyűjtemények.Generikus; az UnityEngine használatával; nyilvános osztály Mozgás: MonoBehaviour nyilvános úszó sebesség; privát Rigidbody rb; // Használja ezt inicializáláshoz void Start () rb = GetComponent ();  // A Fix frissítést a keret rögzített száma után hívják meg. FixedUpdate () float moveHorizontal = Input.GetAxis ("vízszintes"); float moveVerticle = Bemenet.GetAxis ("vízszintes"); Vector3 mozgás = new Vector3 (-1 * moveHorizontal, 0.0f, -1 * moveVerticle); rb.AddForce (mozgás * sebesség);  

Mivel a sebesség nyilvános változó, így értéket rendelhet az ellenőr ablakban. Csatolja ezt a szkriptet a labdához úgy, hogy az ellenőr ablakba húzza, vagy megnyomja Add Component gomb. Nyomja meg a Lejátszás gombot és tesztelje, hogy a kódolása: mozog-e vagy sem.

Kamera beállítása

Utolsó dolog, amit észrevesz, amikor megnyomja az előre gombot, és a labda mozogni kezd, kimegy a kamerából, mivel a kamera áll. Mit tehetünk? Nekünk is mozgatnunk kellene a kamerát? Igen, ez a legegyszerűbb dolog. Tedd a kamerát a labda gyermekévé úgy, hogy a fő kamerát a labdához húzd.

Következtetés

Ez egy alapvető bevezető oktatóanyag volt, amelyben számos érdekes funkciót, a környezet felépítését és a szkriptek készítését tanulta meg a Unity-ben. Ne habozzon, kezdje meg már az első játék létrehozását a Unity-vel, és élvezze!

Telepítse a legújabb Dolphin Emulator for Gamecube & Wii szoftvert Linuxra
A Dolphin Emulator segítségével a kiválasztott Gamecube & Wii játékokat játszhatja Linux személyi számítógépeken (PC). Mivel a Dolphin Emulator szaba...
A GameConqueror Cheat Engine használata Linux alatt
A cikk tartalmaz egy útmutatót a GameConqueror csaló motor Linux alatt történő használatáról. Sok olyan felhasználó, aki Windows-on játszik játékot, g...
A legjobb játékkonzol emulátorok Linuxhoz
Ez a cikk felsorolja a Linux számára elérhető népszerű játékkonzol-emulációs szoftvereket. Az emuláció egy szoftver-kompatibilitási réteg, amely játék...