Unity developer, game designer.
Játékszoftver fejlesztő.

© 2024 Istvan Simon
All Rights Reserved.

Mi az a Unity?

A Unity sokminden, de nagyon dióhéjban azt lehetne mondani, hogy egy szoftver, amivel játékszoftvereket lehet készíteni.
Ennél ma már lényegesen több, de most ezt hagyjuk egyelőre.

Magát a programot ugyanúgy elképzelheted, mint bármelyik más szerkesztőprogramot, leginkább talán a 3D modellező applikációkra hasonlít, minthogy itt is egy virtuális 3D térben dolgozol.
Megnyitod a fájlt, vagy projektet, szerkeszted a térbeli objektumokat, majd pedig ezekre szkripteket (programkódokat) aggatsz, amik meghatározzák, hogy ezek az objektumok hogyan viselkedjenek.

Ez egy állati pongyola megfogalmazás volt, de szeretném tényleg mindenki számára érthetően, vagy legalább sejthetően leírni azt, ami van. Ha te is fejlesztő vagy, nézd el ezt nekem!

Unity története dióhéjban

Régebben, – mondjuk az ezredforduló környékén – az ehhez hasonló játékmotorok elterjedése előtt egy igazi kínszenvedés lehetett a játékfejlesztés technikai oldalról, és valóban csak azok a cégek voltak képesek komolyabb játékok kiadására – eltekintve pár kivételtől – akiknek volt kapacitásuk saját „game engine”-t vagy magyarosan játékmotort készíteni. A játékmotor nem más, mint egy amolyan keretrendszer, amiben a játékot programozni lehet és ami felelős magának a játéknak a megjelenítéséért, illetve futtatásáért.
Mivel akkoriban nem volt Unity, vagy Unreal, ezért a játékfejlesztő cégek saját maguk voltak kénytelenek hasonló rendszereket előállítani, ami – valljuk meg – nagyobb munka lehetett, mint magának a játéknak az elkészítése.
Bár így az adott kor erőforrásait valószínűleg jobban ki lehetett használni, állandóan fejleszteni és mókolni kellett a motort is a fejlesztés ideje alatt.

A Unity 2005-ben lépett színre, majd a gyerekbetegségei kinövése után igazán akkor lendült fel a terjedése, mikor az Apple App Store 2008-as bejelentése után az iPhone-ra is lehetett már fejleszteni vele.
Ahogy az iPhone elsöpörte az akkori mobilpiacot, hatalmas hiány keletkezett az iPhone-ra való szoftverekből, és a megjelenő fejlesztők egy részének kézenfekvő megoldást jelentett a Unity.
Ezidőtájt megkésve jelentek meg az Android készülékek, amelyek nagyjából minden téren elmaradva, de újabb piacot hoztak létre és megnyílt a Google Play elődje az Android Market. A Unity Technologies (a Unity mögött álló cég) nem várt sokat, 2010-ben felvette az Androidot is a támogatt platformjai listájára, és ezzel megalapozta egyeduralmát a játékmotorok közt.
A Unity így feleslegessé tette, hogy egy játékot el kelljen készíteni külön-külön mindkét mobilplatformra. Ezzel nagyjából félbevágta egy cross-platform játék fejlesztési idejét, ami óriási dolog volt. És még ma is az, csak már természetessé vált ez a kényelem.
Mindezekkel nem csak a cégeknek kedvezett, de lehetővé vált a történelem során ismét, hogy egy ember képes legyen egy használható, esztétikus játékot készíteni egymaga.
A cég jelmondatának, hogy demokratizálja a játékfejlesztést, valóban volt igazságtartalma!

Most hagyjuk el egy kicsit a történelmet, erről majd lehet, hogy írok részletesebben egy másik cikkben.

Mit tud a Unity?

Beszéljünk egy kicsit másról, történesen, hogy hogyan néz ki, és hogyan kell elképzelni a játékfejlesztést Unity-ben.

Ezzel kezdeném: A Unity ingyenesen használható, és ha csak nem őrületes bevételeid vannak, akkor ez így is marad. Nagyon magas bevétel fölött kell bizonyos szabályok szerint egy díjat fizetni a bevételed után.
Mindezek bevezetése egyébként óriási baklövés volt – hogy finoman fogalmazzak – ,és végül ennek a vége a lincshangulat miatt valamelyest újabb engedmények tétele lett. 
Általánosságban azért elmondható, hogy cég döntései ésszerűek – legalábbis, amit a technikai oldalt illeti -, és meghallgatják a Unity fejlesztőket, hiszen belőlük élnek. Ugyanakkor, mint minden drabális méretű cégnél, a nép sírása lassan ér csak fel a döntéshozókig.

A Unity rengeteg platformot támogat és talán máig ez a legkecsegtetőbb része. Bárki, aki több platformra készít, az csak magának tesz jót, ha a Unity mellett dönt. Mára már azért a többi játékmotorral is lehet több platformot célozni, de tán a Unity volt az első, aki erre komoly hangsúlyt fektetett.
Csak áttekintésképp wikipédiáról idekopizom:
iOS, Android (Android TV), tvOS; Windows (Universal Windows Platform), Mac, Linux; WebGL; Console platforms PlayStation 4, PlayStation 5, Xbox One, Xbox Series X/S, Nintendo Switch; Oculus, PlayStation VR, Google’s ARCore, Apple’s ARKit, Windows Mixed Reality (HoloLens), Magic Leap, Steam VR, Google Cardboard.

Plusz kb. még ennyi mára már kihalt platform.

2010-ben megnyílt az Asset Store, amit talán úgy lehetne elképzelni, mint a Unity saját App Store-ját, csak itt nem applikációkat lehet vásárolni, hanem mindenféle fejlesztéshez használható eszközöket: modelleket, ikonokat, szkripteket, vizuális effekteket, hangokat, zenéket, és komolyabb kiegészítőket.
Ezzel a lehetőséggel tovább csökkent az általában vett fejlesztési idő, ugyanis már nem kellett mindent sajátkezűleg elkészíteni.
Jómagam is halmozom ezeket már évek óta, és bizony van egy-két olyan asset, amelyek nélkül rettenetes kínokat kellene átélnem a fejlesztés közben.

Nem csak Unity!

Érdemes megjegyezni, hogy más game engine-k is léteznek, és bizony mára már igazi alternatívát jelentek a Unity mellett. Felsorolásként linkelem csak ide őket, de ne gondold, hogy azért, mert alsóbbrendűek a Unity-hez képest, hanem egyszerűen azért mert ez a cikk, most a Unity-ről szól.

Nem csak játékfejlesztés!

Korántsem. Már a játékkészítés lehetősége mellett már rengeteg területen alkalmazzák a Unity-t, íme egy lista a teljesség igénye nélkül:

  • Oktatás: oktatási szoftverek, virtuális osztálytermek
  • Építészet: szimulációk és vizualizáció
  • Egészségügy: sebészeti szimulációk, virtuális terápiák
  • Autógyártás: virtuális bemutatótermek, önvezető járművek tréningelése
  • Filmipar: elő-vizualizáció, speciális effektek és utómunkálatok
  • Hadiipar: katonai kiképzések, pilóták kiképzése
  • Marketing: interaktív reklámok, kiterjesztett valóság kampányok
 

Összefoglalás

Tehát a Unity egy elképesztően sokoldalú eszköz, rengeteg területen bevethető és használt technológia.
Állandó a harcoskodás, hogy melyik a legjobb game engine, egyesek a végletekig mennek a másik engine pocskondiázásában és viszonylag kevesen veszik csak észre, hogy a vita eléggé értelmetlen.
Egyik célra ez a jobb, másikra amaz, de nagyon sok problémára pedig több is jó, nagy az átfedés. Ha már valamelyik használatára éveket áldoztunk, aligha éri meg váltani, mert egyszerűen túl költséges időben.

Végül pedig pár hasznos angol nyelvű link, ha tanulni szeretnél egy kis Unity-t, vagy csak kíváncsi vagy rá mit tud:

  • Brackeys – sok, szépen felépített oktató videó, bár jelenleg Godot-val foglalkozik
  • Code Monkey – jó oktatóvideók, néha kicsit gyors tempóval és furcsa akcentussal

Ezzel pedig elköszönök, remélem találkozunk a következő posztban!