1. diel - Úvod do Unity 3D
Vitajte v úvodnej lekcii do Unity 3D, populárneho multiplatformného enginu pre tvorbu 2D a 3D hier. V dnešnej lekcii si technológiu uvedieme a ďalej si môžete vybrať nadväzujúci kurz podľa toho, či chcete tvoriť 2D alebo 3D hru.
Čo je Unity 3D?
Unity je jeden z najpoužívanejších enginov v dnešnej dobe. Unity engine možno použiť na vytváranie napríklad týchto hier: MMO hry (buď vďaka vstavanému Unity multiplayer pluginu alebo vďaka riešeniu tretej strany - Photon Network), FPS hry, závodné hry, real-time stratégie, ťahové stratégie, strieľačky z tretieho pohľadu, RPG hry , adventúry a mnoho, mnoho ďalších. Za vytvorené projekty v Unity môžem uviesť niektoré vlastné:
Space Invaders Remake Doba tvorby: 2 dni čistého času
Tower Defense Hra Doba tvorby: 2 týždne čistého času
Stiahnutie a licencie
Pokiaľ plánujete pracovať v Unity, radšej už začnite sťahovať, má cez 1 GB. Na stránke na stiahnutie Unity už vidíme, že má niekoľko edícií podľa toho, koľko naša hra zarába peňazí vrátane edície zadarmo.
My samozrejme zvolíme edíciu Personal (záložka Individual), ktorá je zadarmo, pokiaľ naša hra nezarába alebo nie je financovaná iným spôsobom viac ako $100.000 ročne. Keďže je čiastka v dolároch, tak ak ešte nie ste milionári, tak nemáte problém:) Pre vážnejšie herné štúdiá môžeme prípadne využiť ďalšie edície, ktoré za príjem rádovo v miliónoch ročne chcú poplatok v tisícoch korún mesačne.
Medzi edíciami je rozdiel v zobrazovaní loga Unity po otvorení vášho skompilovaného projektu (pripraveného projektu na hranie/spustenie), av niekoľkých funkciách a vlastnostiach Unity navyše. Pokiaľ nie ste väčšie štúdio, bohato si vystačíte s Unity Free.
Platformy
Unity umožňuje export na tieto platformy (za export na niektoré platformy sa platí):
- PC/MAC/LINUX
- Android
- iOS
- Web Player (vďaka pluginu v prehliadači hráte hru bez nutnosti stiahnutia/inštalácie)
- Chrome Native (podobné ako web player, ale len pre Google Chrome)
- Flash Player
- Xbox 360
- PS3
- Wii U
Unity 3D sa usiluje o to, aby bol život lepší a jednoduchší pre herných vývojárov. Umožňuje kreatívnym ľuďom vytvárať vysoko kvalitné hry.
Samotný engine je naprogramovaný v C++ a vy v ňom ďalej vytvárate skripty v C#, trochu upravenom JavaScripte alebo v Boo-jazyke veľmi podobnom Python. V tomto tutoriále budeme programovať v C#, pretože sa jedná o jednoduchý a moderný jazyk, tiež je v Unity najčastejšou voľbou. Kurzy predpokladajú, že poznáte základy C# a OOP v C#.
Ďalej sa v Unity presadzuje metóda tzv. pluginov. Tých existuje niekoľko druhov, napr. Android/iOS plugin. V prípade, že sa programovaním na danú platformu zaoberáte naozaj vážne, je taktiež možné kúpiť PRO edíciu plug-inov.
Fungovanie hier v Unity
- Každá hra má svoje assety (zdroje). Sú to prakticky všetky súbory, ktoré bude hra obsahovať – skripty, 3D modely, textúry, zvuky, mapy atď. Tieto assety môžeme použiť už hotové a tak hru zostaviť ako stavebnicu.
- Hra sa skladá z niekoľkých scén. To sú prakticky levely (alebo mapy) hry.
- Scéna sa skladá z herných objektov – GameObjects.
- Herné objekty sa skladajú z komponentov, to sú ich skripty.
Pre programovanie hier máme v zásade dve možnosti:
- Vytvoriť si vlastný engine, čím sa pre C# zaoberáme v kurze C# - Tvorba hier v MonoGame
- Použiť už vytvorený herný engine, čo je to, čo budeme robiť tu s Unity 3D robiť
Vytvoriť si vlastný engine
Je ťažké urobiť engine na zobrazovanie 3D objektov, ako zložité asi bude vytvoriť celý engine na zobrazovanie textúr, počítanie fyziky, tiene, odlesky, kolízie, apod? Ďalšou nevýhodou je, že sa 3D hry obvykle programujú v C++, čo môže byť pre začiatočníka, ktorého práve napadlo, že chce vytvoriť nejakú hru, dosť zložité. Preto si z týchto dvoch hlavných nevýhod tvoria herné enginy väčšinou len veľké spoločnosti, ktoré potrebujú mať čo najväčšiu kontrolu nad svojim projektom. Vlastný engine má jednu zásadnú výhodu. Je váš, viete čo ste kde a ako naprogramovali a to môže predstavovať veľkú výhodu. Môžete prinášať nové technológie, získať maximálny výkon a podobne.
Použiť už vytvorený herný engine
Jednou z hlavných výhod je, že voľne šíriteľné enginy majú väčšinou svoj vlastný store (obchod), v ktorom si môžete zadarmo alebo za poplatok sprístupniť či zaobstarať rôzne balíčky, už vytvorených modelov, skriptov, textúr, šablón pre projekty (level design). Hier je dnes všade veľa a keby sme znovu vynachádzali bicykel, nebola by tá naša dosť dobrá a ľahko by zapadla medzi ostatných. Ďalšou výhodou je, že keď neviete, stačí googlit o sto šesť a vo väčšine prípadov, síce niekedy po dlhšej dobe hľadania, nájdete čo hľadáte. Poslednou výhodou, ktorú by som chcel vypichnúť, je multiplatformnosť. Môžete namietnuť, že aj keď si vytvoríte vlastný engine, môžete ho vytvoriť tak, aby fungoval ako na mobile tak aj na Playstation. Ale napr. užívateľovi Unity si stačí stiahnuť doplnok a kliknúť na tlačidlo export, razom má verzia pre všetky operačné systémy aj na mobilnú platformu.
Teraz sme si unity predstavili aj nainštalovali:-)