Bejegyzés

Kezdők bevezetése a Unity-be (3. rész)

Az előző részben megismerkedhettünk a játékkészítés egyik legfontosabb elemével. Megtudtuk, hogyan helyezhetünk el és konfigurálhatunk objektumokat a játéktérben. A mostani részben pedig megtudhatjuk, hogyan próbálhatjuk ki az alkotásunkat, valamint bónuszként górcső alá vesszük a szerkesztő további extra funkcióit is.

7. Játékgombok

A játékgombok teszik lehetővé, hogy elindítsuk és leállítsuk a játékunkat. Az első gomb a Play:

Play gomb

Több dolog is történik, ha rákattintunk a Play-re. Először is elindul a játékunk, várakozásunknak megfelelően. A vezérlőgombok azonban kékre váltanak, ha a játékunk fut:

Játékvezérlők

Az egész játéktervezői tér is fakóbb lesz:

Unity szerkesztő

Fontos megjegyezni, hogy minden, a játék futása közben eszközölt változtatás elveszik a játék leálltával. Gyakori hiba, hogy a Unity-ben fejlesztők sok módosítást végeznek el futásidőben, majd egyszer csak azt veszik észre, hogy minden elveszett. A tervezői terület fakóbbá válása egy jó jelzés lehet, de sajnos nem túl nagy a színeltérés, így néha el lehet felejtkezni arról, hogy futásidőben vagyunk.

Szerencsére a Unity ad lehetőséget arra, hogy állítsunk az árnyalatokon:

Nyissuk meg a Unity Preferences ablakát.
Válasszuk ki a Colors fület a bal oldalon, és állítsuk be a kívánt színt:

Unity Colors

Playmode-ba való lépésnél így már elég feltűnő lesz a különbség:

Játékmód színek

A következő a Pause gomb:

Pause gomb

Ez a gomb szünetelteti a játék futását, és lehetőséget ad arra, hogy módosításokat végezzünk el. Ezek a módosítások azonban a játék leállításakor ugyancsak elvesznek. Az ilyen ideiglenes módosítások azért hasznosak, mert a játékkészítés sok kísérletezéssel jár, és itt nyugodtan próbálkozhatunk. Bármit módosítunk, a játékunk vissza fog állni alapállapotra.

A harmadik hasznos gomb a Step:

Step gomb

A Step gombbal képkockánként léptethetjük a játékot. Nagyon hasznos, amikor az animációkat a lehető legalaposabban meg akarjuk vizsgálni, vagy ha egy adott GameObject állapotát akarjuk ellenőrizni a játék folyamán:

Léptetés

8. Egyéb szerkesztői beállítások

A játékkészítés folyamata gyakran több fejlesztő munkájának összehangolását is szükségessé teszi. Az első a Collab menü, amely ezt hivatott segíteni:

Collab menü

A Unity új szolgáltatása lehetővé teszi, hogy nagy csapatok dolgozzanak egy projektben.

A következő gomb a Service, amellyel különféle szolgáltatásokat adhatunk a Unity játékunkhoz. Az opció használatához Unity Project ID szükséges:

Unity Services

A Project ID hozzáadása után különböző szolgáltatásokkal bővíthetjük a programunkat. Például felhő build-et adhatunk a projekthez, amely automatikusan build-eli a projektet, így nem kell minden egyes build-re várni. Hozzáadhatjuk még az Analytics, In-Game Ads, Multiplayer támogatást, illetve az In-App Purchasing, Performance Reporting és Collaborate opciókat is.

Csapattagokat is felvehetünk, emellett korhatárt és más fontos dolgokat állíthatunk be.

A következő az Account gomb, amellyel a Unity profilunkat kezelhetjük. Átnézhetjük a beállításainkat, ki-és beléphetünk vagy upgrade-elhetünk:

Account menü

A negyedik gomb a hasznos Layers:

Layers menü

A Layers segítségével a szerkesztői nézethez különböző kiosztásokat készíthetünk, menthetünk és tölthetünk be. A Unity nagyon jól testreszabható, minden dokkolható, átméretezhető, elrejthető:

Ezen funkció segítségével egy adott munkafolyamathoz legjobban illeszkedő nézetet készíthetjük el. Például az animációkkal való munkához nem kell feltétlenül megnyitva lennie a Game nézetnek, de az Animator és Animations nézeteket biztosan szeretnénk látni.

Újrarendezni a szerkesztőt időrabló, de a Layout-tal szerencsére gyorsan válthatunk.  Egy új ablak megnyitása és beállítása nagyon könnyű:

Layout menü

Észre fogjuk venni, hogy a fejlesztés során számos nézetre lesz szükségünk. Ez a sorozat igyekezett a legfontosabbakat bemutatni, viszont ezeken kívül sok másik létezik még. A részletes leíráshoz érdemes a Unity dokumentációhoz fordulni.

Hogyan tovább?

A játékkészítés legizgalmasabb része következik: a játékkészítés maga! A következő részben az elméletet átültetjük a gyakorlatba, és egy kicsi, űrhajós-lövöldözős játékot fogunk megalkotni. A megtanult technikáknak nagy hasznát fogjuk venni. Ha jól megismertük a fejlesztői környezetünket, akkor nagyon gördülékeny lesz a játékkészítés.

Skeldar

Kezdők bevezetése a Unity-be (2. rész)

A Unity-s játékfejlesztés folyamatát bemutató cikksorozat első részében a telepítésről, az asset-ekről, a GameObject-ekről és magáról a felületről általánosan olvashattunk. A játékfejlesztői munka jelentős része azonban az asset-ek importálása és a GameObject-ek behúzása után történik, ezért érdemes ezen ablakok kezelését a lehető legalaposabban elsajátítani.

5. Inspector ablak

Inspector ablak

Az Inspector ablakban konfigurálhatjuk a GameObject-eket. Ha kiválasztunk egyet a Hierarchy nézetben, az Inspector minden tulajdonságot kilistáz, ami az adott objektumra vonatkozik . Ez az objektum adatlapja. A játékfejlesztés során itt állítjuk be az indulási adatokat, de az adatlapon szereplő értékeket játék közben is módosíthatjuk, így például az is megvalósítható, hogy menet közben egy-egy objektum más színnel kezdjen el világítani.

6. Eszköztár

A játékfejlesztés elengedhetetlen kelléke az eszköztár, amely segítségével módosíthatjuk a GameObject-eket a scene-ben. Nagyon sokat fogjuk ezt használni, hiszen az üres scene-t fel kell tölteni, és az elemeket el kell rendezni. Gyakorláshoz helyezzünk el egy kockát:

GameObject menü

  • Nyissuk le a GameObject menüt
  • Válasszuk ki a 3D Object opciót
  • Válasszuk ki a Cube objektumot

Megjegyzés: Ha elveszítjük a kockát a manőverezés közben, akkor a Hierarchy nézetben a Cube objektumon duplán kattintva visszavihetjük a scene néztet a kockára.

A Hand nevű eszköz egy kéz, amellyel megfoghatjuk és mozgathatjuk az objektumokat:

Unity eszköztár

Unity eszköztár

Jobb egérgombbal a kéz ikon egy szemmé alakul, és ilyenkor magát a kamera nézőpontját változtathatjuk:

Unity eszköztár

 

A Ctrl (vagy Cmd) vagy Alt (vagy Option) és a jobb egérgomb lenyomásával, majd az egér mozgatásával a nagyítást állíthatjuk be. Az egér felfelé mozgatásával közelíthetünk a scene-ben, míg a lefelé való mozgással távolodhatunk. Egyszerűbb, ha az egér görgőjét használjuk.

Unity eszköztár

Tartsuk lenyomva a jobb egérgombot, így a WASD gombokkal is mozoghatunk a scene-ben, mintha csak egy FPS játékban lennénk. Fölfelé és lefelé is mozoghatunk az E és Q gombok segítségével. Számos FPS játékhoz hasonlóan, a Unity Scene nézetében is  gyorsabban mozoghatunk, ha a Shift-et nyomva tartjuk:

Unity eszköztár

A Hand alapértelmezett gyorsbillentyűje a Q. A kéz eszközhöz való gyors ugráshoz nyomjuk meg a középső egérgombot, melyet elengedve visszatérünk az ezt megelőzően használt eszközhöz.

A Translate eszközzel kiválaszthatjuk és pozícionálhatjuk a GameObject-et a scene-ben.

Unity eszköztár

Ha a Translate aktív, és kiválasztunk egy GameObject-et, akkor három nyíl jelenik meg az objektum közepéből kiindulva. A három nyíl a 3D-s tér három tengelyét jelenti. A piros az X, a zöld az Y és a kék a Z tengely.

Unity eszköztár

A Unity koordinátarendszere balkezes. A bal-és jobbkezes koordinátarendszer közötti különbség alapvetően a Z tengely iránya. A két rendszert az alábbi példa szemlélteti:

Koordináta-rendszerek

Megjegyzés: A három különböző színű nyilat a Unity nyelvezetében gizmónak nevezik. A gizmó egy 3D geometria vagy textúra, amely információt szolgáltat a GameObject-ről. Ebben az esetben a gizmó a három tengely irányát mutatja. Miután egyre jobban elmélyedünk a Unity-ben, akár saját gizmókat is készíthetünk, amelyek például mutathatják a starthelyet, a kamera helyét, a szélirányt stb. A gizmók egyik remek tulajdonsága még, hogy csak a Scene nézetben láthatóak, és kikapcsolhatóak, ha már nincs rájuk szükség.

Sok lehetőségünk van arra, hogy a Translate eszközzel mozgassuk a GameObject-eket. Kiválaszthatunk egy nyilat, és az egeret mozgatva csak az adott tengelyen toljuk el az objektumot. Például, ha a GameObject Y tengelyét választjuk ki, és a scene-t normál szögből nézzük, akkor az egérrel fel és le tudjuk mozgatni az elemet.

GameObject tengelyek

A három különböző színű lap a GameObject közepén arra hivatott, hogy az objektumot egy adott síkban tudjuk mozgatni. Ha például a zöld lapot fogjuk meg, akkor az X és Y tengelyek mentén tudjuk helyezgetni a GameObject-et:

Unity eszköztár

A Translate eszköz alapértelmezett gyorsbillentyűje a W.

A Rotate eszköz -nem meglepően- az objektumot forgatását teszi lehetővé:

Unity eszköztár

Ha kiválasztjuk ezt az eszközt, három körvonalat fedezhetünk fel, melyek mentén az adott elem forgatható:

GameObject forgatási tengely

Egyszerűen csak válasszunk ki egy vonalat, és kezdjük el mozgatni az egeret, hogy a GameObject is elforduljon. A tengelyhez való kötöttség nélküli forgatáshoz a vonalak közötti üres teret válasszuk ki:

Unity eszköztár

A Rotate eszköz alapértelmezett gyorsbillentyűje az E.

A Scale eszközzel a GameObject-et méretezhetjük át egy, vagy az összes tengely mentén.

Unity eszköztár

Egy tengelyen való átméretezéshez fogjuk meg a tengely végén lévő színes kockát. Az összes tengelyen való méretezéshez a GameObject közepén lévő kis kockát kell megragadjuk:

GameObject tengelyek

A Scale eszköz alapértelmezett gyorsbillentyűje az R.

Megjegyzés: Elsőre kaotikus lehet a gyorsbillentyűk kiosztása. Jobb lenne, ha a Scale S lenne R helyett. Valójában a látszólagos káoszban van rendszer: a billentyűzeten az eszköztár sorrendjében következnek egymás után a gombok, amit az alábbi ábra jól szemléltet:

Unity eszköztár

A Unity feltételezi, hogy az egeret a jobb kezünkkel fogjuk, míg a ballal a billentyűzetet kezeljük, az ujjainkat pedig általában a WASD környékén tartjuk a játékfejlesztés során:

Unity gyorsbillentyűk

Ebből a pozícióból a QWERT gombokat könnyedén elérjük. Sajnos néha előfordulhat, hogy W helyett a 2-est nyomjuk meg. Ilyenkor a szerkesztő 2D-s módba vált át:

Unity eszköztár

Ha ez megtörténik, csak nyomjuk meg újra a 2-est, és visszaáll az előző mód.

A Rect eszközre általában csak 2D-s GameObject-ek és User Interface-ek (UI) esetén van szükség, habár 3D-s objektumoknál is látni lehet.

Unity eszköztár

Ezzel az eszközzel lehetőségünk van átméretezni, igazítani, forgatni a 2D-s asset-eket, de a forgatási pontot is módosíthatjuk vele. A forgatási pontot egy nagy köz jelzi az asset körül:

Unity eszköztár

Az eszköz alapértelmezett gyorsbillentyűje a T.

A gizmó megjelenítés kis zavart okozhat. Ezek nem csupán gombok. Inkább kapcsolók, amelyek a gizmók pozícionálást hivatottak vezérelni.

Az első ilyen kapcsoló a Center és Pivot mód közötti váltást szolgálja. Center módban két GameObject-et választhatunk ki, így a gizmó a két objektum közé kerül. A GameObject-eket ebben a módban a közbenső pont körül forgathatjuk. Pivot módban minden GameObject a saját, belső forgatási pontja körül fordul el:

Unity gizmó

A második kapcsoló a Global és Local mód között vált. Global módban az objektumot az azt körülvevő világ szemszögéből módosítjuk. Az X tengely megy balra-jobbra, az Y megy fel és le, míg a Z tengely előre és hátra. A Local mód az objektum belső koordináta-rendszerét veszi alapnak, a tengelyek e szerint módosulnak.Global-Local

A játékfejlesztés eszközeinek fontossága

A játékfejlesztés ezen eszközeinek alapos begyakorlása kiemelten fontos. Nagyon sokat fogjuk használni őket, érdemes készségszinten elsajátítani a használatukat. A cikksorozat következő részében a másik igen fontos és gyakran használt elemmel, a Play gombbal és társaival ismerkedünk meg. Levezetésképpen pedig betekintünk az interfész testreszabásába és a Unity kollaborációs lehetőségeibe. Az előbbi igen fontos az egyéni munkánk elősegítése miatt, az utóbbit pedig jó ha alapszinten megismerjük, hiszen az igazán nagy játékok szinte mindig csapatmunkából születnek!

Skeldar