Ismerkedés a Unity-vel

A Unity egy modern játékmotor, amelyet a Unity Technologies fejleszt. Kevés olyan fejlesztő van szerintem, aki még nem hallott róla, hiszen ez a világon a legkedveltebb harmadik féltől származó játékfejlesztő motor. Viszont, aki komolyabb játékokat szeretne fejleszteni, annak inkább az Unreal Engine, vagy méginkább a CryEngine javasolt, viszont ezek tanulási görbéje jóval laposabb.

Miért a Unity?

Számomra utóbbi kettő nem releváns, mivel jelenleg HoloLens-re két módon tudunk fejleszteni: magas szinten Unity-ben vagy alacsony szinten, a DirectX 11 segítségével. Egyéb játékmotor e bejegyzés írásakor még nem támogatja a HoloLensre való fejlesztést.

Szakdolgozatom során nem az a cél, hogy alacsony szintű grafikai programozást mutassak be, hanem inkább az, hogy megismerjem a HoloLens nyújtotta lehetőségeket és hogy bemutassam, hogy milyen egyszerűen lehet erre az eszközre fejleszteni. Ezen oknál fogva fogom az alkalmazást Unity-ben fejleszteni, amely szerintem az egyszerűség/elkészíthető játékok minősége arányban a legjobb motor.

Természetesen nem csak az egyszerűségen, de a projekt architektúráján, a komponensek újra felhasználhatóságán, absztrakcióján és átláthatóságán is nagy hangsúly lesz.

Az első találkozás

A Unity-ről először középiskolás éveim vége felé hallottam, amikor egyik osztálytársam, Marcikic Márk eme játékmotor segítségével fejlesztett játékot, amellyel több versenyt is megnyert. Viszont a kódot vagy a játékfejlesztő környezetet nem láttam, mivel annyira nem érdekelt, mert még nem voltam túl jó programozó.

Kicsit közelebbről az egyem második évében ismertem meg, amikor is egy több órás egyetemi programozó versenyen, a SEDCup-on gráfos-útvonaltervezős játékot kellett fejleszteni, mi pedig úgy véltük, hogy Unity-vel ez gyerekjáték lesz. A gond csak ott volt, hogy a 3 fős csapatból csak egyik barátom értett hozzá, de még ő is csak tanulgatta. Hosszas tervezgetés után megpróbáltunk valamit összerakni, bújtuk a dokumentációt és a tutorialokat, de nem állt össze a dolog, ezért végül feladtuk.

Ezután egy 24 órás hackathonon e játékmotort választottuk, ahol megint csak beégtünk, de már egy fokkal jobb lett a végeredmény. Ekkor elhatároztam, hogy soha többet nem nyúlok a Unity-hez. Majd a következő évi SEDCup-on ismét erre esett a választásunk, ahol már egész jó eredményt értünk el, de továbbra sem értettünk igazán a platformhoz.

Reménytelennek tűnt, aztán úgy döntöttünk Musicz Peti barátommal, hogy jelentkezünk a 2017-es Imagine Cup-ra, ahova egy HoloLens-es projektet viszünk. Ekkor jött az ötlet, hogy akkor a szakdolgozatom is egy HoloLens alkalmazás legyen.

Később az Imagine Cup ötletünkkel pivotáltunk és egy VR-os ötletet szerettünk volna megvalósítani, amelyből a verseny után egy startupot építettünk volna fel. Mivel a Unity-ben kiváló a VR támogatás és nagyon hasonlít a fejlesztése a HoloLens-hez, ezért ez nem volt probléma.

Sajnos végül az Imagine Cup nem valósult meg, illetve azt startupot is jegeltük, de persze a szakdolgozatom továbbra is megmaradt.

Hol kezdd el?

Mint mondtam, mi először egy verseny közben próbáltuk meg összeollózni a projektünket, nulla Unity tudással. Ez azért volt talán jó, mert nagy volt a nyomás, ezért rövid idő alatt rengeteg dolgot tanultunk meg. DE! Azt sem tudtuk, hogy mit csinálunk és nem volt hatékony a munka, mivel folyamatosan minden objektumnak utána kellett nézni, hogy az mire szolgál.

Tehát, ha otthon, nyugodt körülmények között kezdtem volna, akkor biztosan nem így csinálom. De mivel nem voltam biztos a tudásomban, úgy csináltam, mintha elejétől kezdtem volna. Egy jó videós tutorial mindennél hasznosabb tud lenni, végképp, ha az alapokat szeretné valaki elsajátítani. Szerencsémre a Pluralsighton ráakadtam egy nagyon jó Unity oktatóvideóra, amely kiváló alapokat adott. Egyébként a Pluralsight egy előfizetős platform, de több módon is szerezhetsz hozzá ingyenesen előfizetést: diákként a Microsoft Imagine portálon keresztül, fejlesztőként a Visual Studio Dev Essentials, IT Proként pedig az IT Pro Cloud Essentials programon keresztül. Egyenként 3 hónapnyi előfizetés jár mindegyik programmal, ami összesen 9 hónap.

Miután már nagyjából átlátod a motor működését és a projektek felépítését, a dokumentációval érdemes folytatni. A Unity csapata egy nagyon profi dokumentációt rakott össze. A játékmotor támogatja a 2D és a 3D játékok fejlesztését is, de ha már valaki HoloLens-re fejleszt, az nyilván 3D-ben fog, a 2D-hez tökéletes egy sima monitor is. Így a dokumentáció 2D-re vonatkozó részeit nyugodtan ki lehet hagyni.

Tehát a Unity egy nagyon gyorsan elsajátítható játékmotor, amellyel, a kiváló tutorialoknak köszönhetően, egyből sikerélményekre tehetünk szert. Arról nem is beszélve, hogy VR/AR/MR eszközökre milyen egyszerűen fejleszthetünk segítségével. Csak is ajánlani tudom.

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: