Vianoce v ITnetwork sú tu! Dobí si teraz kredity a získaj až 80 % extra kreditov na e-learningové kurzy ZADARMO. Zisti viac.
Hľadáme nové posily do ITnetwork tímu. Pozri sa na voľné pozície a pridaj sa k najagilnejšej firme na trhu - Viac informácií.

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?

Logo Unity 3D - Tvorba 2D arkády pre Android v Unity

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é:

Tvorba 2D arkády pre Android v Unity

Space Invaders Remake Doba tvorby: 2 dni čistého času

Tvorba 2D arkády pre Android v Unity

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
Programovací jazyk

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

  1. 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.
  2. Hra sa skladá z niekoľkých scén. To sú prakticky levely (alebo mapy) hry.
  3. Scéna sa skladá z herných objektov – GameObjects.
  4. Herné objekty sa skladajú z komponentov, to sú ich skripty.
Unity vs. vlastný herný engine

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ť
Zjednodušene môžeme povedať, že pri tvorbe vlastného enginu sa naučíte lepšie programovať, ale vytvoríte horšiu hru. Záleží len na vás, čo je pre vás priorita.

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:-)


 

Všetky články v sekcii
Tvorba 2D arkády pre Android v Unity
Preskočiť článok
(neodporúčame)
Unity (C #) Android: Pohyb, grafika, particles
Článok pre vás napísal Tomáš Brabec
Avatar
Užívateľské hodnotenie:
Ešte nikto nehodnotil, buď prvý!
Hodně zdaru programátoři všeho druhu,doufám ,že nikdy nezažijete nudu.
Aktivity