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 - Programovanie hier v Unity3D v C # .NET

Unity je jeden z najpoužívanejších enginov v dnešnej dobe. Unity engine možné použiť pre 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, ťahovej 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é:

Programovanie hier v Unity3D v C # .NET

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

Programovanie hier v Unity3D v C # .NET

Tower Defense Hra Doba tvorby: 2 týždne čistého času

Stiahnutie a licencie

Ak plánujete pracovať v Unity, radšej už začnite sťahovať, má cez 1 GB. Na stránke k stiahnutiu 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, ak naša hra nezarába alebo nie je financovaná iným spôsobom viac ako $ 100.000 ročne. Keďže je suma 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 v rádoch miliónov ročne chcú poplatok v rádoch tisícov korún mesačne.

Medzi edíciami je rozdiel v zobrazovaní loga Unity po otvorení vášho zkompilovaného projektu (pripraveného projektu k hraniu / spustenie), a v niekoľkých funkciách a vlastnostiach Unity navyše. Ak 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 usiluje o to, aby bol život lepší a jednoduchšie pre herné 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 JavaScriptu alebo v Boo - jazyku 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ícii plug-inov.

Fungovanie hier v Unity

  1. Každá hra má svoje ASSET (zdroje). Sú to prakticky všetky súbory, ktoré bude hra obsahovať - skripty, 3D modely, textúry, zvuky, mapy atď. Tieto Asset 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šie 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 pre zobrazovanie textúr, počítanie fyziky, tiene, odlesky, kolízie, apod? Ďalšou nevýhodou je, že sa 3D hry zvyčajne 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 na svojím 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 a 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 koleso, nebola by tá naša dosť dobrá a ľahko by zapadla medzi ostatné. Ď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­t. Môžete namietať, že aj keď si vytvoríte vlastný engine, môžete ho vytvoriť tak, aby fungoval ako na mobile tak na Playstation. Ale napr. Užívateľmi 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.

Výber nadväzujúceho kurzu

Teraz sme si unity predstavili aj nainštalovali. V sekcii Unity 3D si teraz vyberte kurz podľa toho, akú hru chcete ďalej tvoriť :)

V článku boli použité aktualizované úryvky textov zo starších Unity kurzov od DELTA12 a Vojtecha Ponáhľala.


 

Všetky články v sekcii
Programovanie hier v Unity3D v C # .NET
Článok pre vás napísal Tomáš Brabec
Avatar
Užívateľské hodnotenie:
1 hlasov
Hodně zdaru programátoři všeho druhu,doufám ,že nikdy nezažijete nudu.
Aktivity