Unity 3D tutorial – a legfontosabb koncepciók

Unity-ben van néhány objektum amellyel nagyon gyakran fogunk találkozni, emiatt ezeket érdemes maximálisan ismerni.

Scene

A Scene-ek, azaz játékterek tartalmazzák a játékunk környezetét, menüjeit, stb. Egy-egy Scene-re úgy kell gondolni, mint a játék egy-egy szintjére. Tehát, amikor a játékunkban tovább lépünk a következő szintre, egy új Scene fog betöltődni.

GameObject

A játéktéren elhelyezett objektumok mindegyikének alapja egy-egy GameObject. Magában a GameObject nem tartalmaz sok információt, viszont a további komponensek az adott GameObjecthez vannak hozzákapcsolva, tehát mint egy konténer használatos.

A GameObject tartalmazza azt, hogy aktív e a Scene-en, melyik Scene-en van rajta, melyik Layeren található, illetve milyen Taggel van ellátva.

Továbbá különböző függvényekkel rendelkezik, amelyekkel pl. elérhetjük a hozzákapcsolt komponenseket, függvényeket hívhatunk meg a hozzákapcsolt komponensekben, új komponenseket adhatunk hozzá, aktívvá tehetjük, másik GameObjecteket kereshetünk a játéktéren, stb.

Érdemes elolvasni a részletes dokumentációját, hiszen ezzel az objektummal nagyon sokat fogunk találkozni.

Component

A komponensek segítségével funkcionalitást adhatunk a GameObjecteinkhez. A Hiearchy panelen egy tetszőleges GameObject kiválasztása után az Inspector alján található egy “Add Component” gomb, amely segítségével komponenseket adhatunk hozzá. Itt egy kereső áll rendelkezésünkre, ahol a beépített és a projektben szereplő komponensek között kereshetünk.

Továbbá scriptben is adhatunk hozzá komponenseket GameObjectjeinkhez.

A komponenseket szerkeszthetjük is a különböző tulajdonságokon (Properties) keresztül. Kétféle tulajdonság létezik: érték és referencia. A referencia tulajdonságoknak másik komponenseket, GameObjecteket, Asseteket adhatunk meg.

Transform

Minden GameObject rendelkezik egy Transform komponenssel, amelyet nem lehet róla eltávolítani.

Ez a komponens határozza meg a pozícióját, elforgatását és a nagyságát minden objektumnak a Scene-en.

Tag

A Tag egy referencia szó, amelyet egy vagy több GameObjectre tudunk rárakni. Pl. megjelölhetjük a “Player” taggel azokat a karaktereket, amelyeket a játékos irányít és az “Enemey” taggel az ellenfél karaktereket. Vagy az összegyűjthető pénzérmékre a “Collectible” taget.

A tagek a scriptelés szempontjából fontosak, ugyanis kódból el tudjuk érni az adott taggel rendelkező GameObjecteket, így nem kell az adott scriptnek egy publikus propertyjén belül átadni ezeket.

Camera

Camera-k eszközök, amelyek felveszik majd megjelenítik a világot a játékosnak. Rengeteg beállítási lehetősége van, amelyekről bővebben a dokumentációban található leírás.

A Camera objektumból tetszőleges számút el tudunk helyezni a játéktéren, viszont csak is egy lehet a fő kamera, amely a játékos fő nézetét jelenti általában, illetve HoloLensen mindig ez a kamera jelöli a felhasználó fejét. Az a kamera lesz a fő kamera amelyik elsőként kapta meg a MainCamera taget.

Prefab

A Prefabok objektum sablonok. Tegyük fel, hogy van egy karakter, amely több Scene-ben is megjelenik. Első körben arra gondolnánk, hogy hozzuk létre az egyik játéktéren az adott karaktert, adjuk hozzá a megfelelő komponenseket, konfiguráljuk be azokat, majd másoljuk át az egészet a többi játéktérre. De mi van akkor, ha meg szeretnénk változtatni valamelyik paraméterét, pl. a haja színét. Ekkor mindegyik játéktéren külön-külön meg kell változtatni.

Unity-ben erre az esetre vannak kitalálva a Prefabok. Létrehozhatunk egy sablont az adott objektumból, amelyet aztán több Scene-ben is lehelyezhetünk, majd ha módosítani kell rajta, a Prefab fog módosulni, így mindenhol változik, ahova le lett helyezve.

Természetesen ebben az esetben is tudunk olyan módosításokat végezni, amelyek csak az adott példányra hatnak.

Scripting

Minden játékban szükség van scriptelésre, hiszen minimum a felhasználói interakciókat fel kell dolgozni, vagy eseményeket elindítani a megfelelő időben. Emellett pedig különböző grafikai effekteket vagy akár saját mesterséges intelligenciával láthatjuk el a karaktereket a játékunkban.

Amikor a beépített komponensek már nem elegek, akkor van szükség a scriptekre, hogy saját viselkedéseket adhassunk a játékhoz. Tehát a scriptek valójában komponensek.

Minden script a MonoBehaviour osztályból származik. Ezen az osztályon keresztül tudjuk a létrehozott komponensünket a GameObjectekhez kapcsolni.

További fontos információkat a következő blogposztokban fogok elárulni a scriptekről.

Nagyvonalakban ezek a legfontosabb koncepciók, de továbbra is érdemes végigolvasni a dokumentációt, annak érdekében, hogy minden világos legyen.

A következő részekben felépítjük a játékterünket, majd mozgásra bírjuk kaktuszunkat!

A sorozat részei:

  1. Alapok
  2. A legfontosabb koncepciók
  3. A pálya létrehozása és a kurzor mozgatása
  4. Karakter mozgása és animációk

A projekt a leírás sorrendjében végrehajtva megtalálható Githubon a projekt Dev branchén.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

Blog at WordPress.com.

Up ↑

Create your website with WordPress.com
Get started
%d bloggers like this: