Předvánoční slevová akce PHP týden
Pouze tento týden sleva až 80 % na PHP e-learning!
Využij předvánočních slev a získej od nás 20 % bodů zdarma! Více zde

Lekce 1 - Úvod do Unity 3D

Unicorn College Tento obsah je dostupný zdarma v rámci projektu IT lidem.
Vydávání, hosting a aktualizace umožňují jeho sponzoři.

Vítejte v úvodní lekci do Unity 3D, populárního multiplatformního enginu pro tvorbu 2D a 3D her. V dnešní lekci si technologii uvedeme a dále si můžete vybrat navazující kurz podle toho, zda chcete tvořit 2D nebo 3D hru.

Co je Unity 3D?

Logo Unity 3D

Unity je jeden z nejpoužívanějších enginů v dnešní době. Unity engine lze použít pro vytváření například těchto her: MMO hry (buď díky vestavěnému Unity multiplayer pluginu nebo díky řešení třetí strany - Photon Network), FPS hry, závodní hry, real-time strategie, tahové strategie, střílečky z třetího pohledu, RPG hry, adventury a mnoho, mnoho dalších. Za vytvořené projekty v Unity mohu uvést některé vlastní:

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

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

Stažení a licence

Pokud plánujete pracovat v Unity, raději už začněte stahovat, má přes 1 GB. Na stránce ke stažení Unity již vidíme, že má několik edic podle toho, kolik naše hra vydělává peněz včetně edice zadarmo.

Tento výukový obsah pomáhají rozvíjet následující firmy, které dost možná hledají právě tebe!

My samozřejmě zvolíme edici Personal (záložka Individual), která je zadarmo, pokud naše hra nevydělává nebo není financována jiným způsobem více než $100.000 ročně. Jelikož je částka v dolarech, tak pokud ještě nejste milionáři, tak nemáte problém :) Pro vážnější herní studia můžeme případně využít další edice, které za příjem v řádech milionů ročně chtějí poplatek v řádech tisíců korun měsíčně.

Mezi edicemi je rozdíl v zobrazování loga Unity po otevření vašeho zkompilovaného projektu (připraveného projektu k hraní/spuštění), a v několika funkcích a vlastnostech Unity navíc. Pokud nejste větší studio, bohatě si vystačíte s Unity Free.

Platformy

Unity umožňuje export na tyto platformy (za export na některé platformy se platí):

  • PC/MAC/LINUX
  • Android
  • iOS
  • Web Player (díky pluginu v prohlížeči hrajete hru bez nutnosti stažení/instalace)
  • Chrome Native (podobné jako web player, ale jen pro Google Chrome)
  • Flash Player
  • Xbox 360
  • PS3
  • Wii U

Programovací jazyk

Unity 3D usiluje o to, aby byl život lepší a jednodušší pro herní vývojáře. Umožňuje kreativním lidem vytvářet vysoce kvalitní hry.

Samotný engine je naprogramován v C++ a vy v něm dále vytváříte skripty v C#, trochu upraveném JavaScriptu nebo v Boo - jazyce velmi podobném Python. V tomto tutoriálu budeme programovat v C#, protože se jedná o jednoduchý a moderní jazyk, také je v Unity nejčastější volbou. Kurzy předpokládají, že znáte základy C# a OOP v C#.

Dále se v Unity prosazuje metoda tzv. pluginů. Těch existuje několik druhů, např. Android/iOS plugin. V případě, že se programováním na danou platformu zabýváte opravdu vážně, je taktéž možné koupit PRO edici plug-inů.

Fungování her v Unity

  1. Každá hra má své assety (zdroje). Jsou to prakticky všechny soubory, které bude hra obsahovat - skripty, 3D modely, textury, zvuky, mapy atd. Tyto assety můžeme použít již hotové a tak hru sestavit jako stavebnici.
  2. Hra se skládá z několika scén. To jsou prakticky levely (nebo mapy) hry.
  3. Scéna se skládá z herních objektů - GameObjects.
  4. Herní objekty se skládají z komponent, to jsou jejich skripty.

Unity vs. vlastní herní engine

Pro programování her máme v zásadě dvě možnosti:

  • Vytvořit si vlastní engine, čímž se pro C# zabýváme v kurzu C# - Tvorba her v MonoGame
  • Použít již vytvořený herní engine, což je to, co budeme dělat zde s Unity 3D dělat

Zjednodušeně můžeme říci, že při tvorbě vlastního enginu se naučíte lépe programovat, ale vytvoříte horší hru. Záleží jen na vás, co je pro vás priorita.

Vytvořit si vlastní engine

Je těžké udělat engine na zobrazování 3D objektů, jak složité asi bude vytvořit celý engine pro zobrazování textur, počítání fyziky, stíny, odlesky, kolize, apod? Další nevýhodou je, že se 3D hry obvykle programují v C++, což může být pro začátečníka, kterého zrovna napadlo, že chce vytvořit nějakou hru, dost složité. Proto si z těchto dvou hlavních nevýhod tvoří herní enginy většinou jen velké společnosti, které potřebují mít co největší kontrolu na svým projektem. Vlastní engine má jednu zásadní výhodu. Je váš, víte co jste kde a jak naprogramovali a to může představovat velkou výhodu. Můžete přinášet nové technologie, získat maximální výkon a podobně.

Použít již vytvořený herní engine

Jednou z hlavních výhod je, že volně šiřitelné enginy mají většinou svůj vlastní store(obchod), ve kterém si můžete zdarma a nebo za poplatek zpřístupnit či pořídit různé balíčky, již vytvořených modelů, skriptů, textur, šablon pro projekty (level design). Her je dnes všude spoustu a kdybychom znovu vynalézali kolo, nebyla by ta naše dost dobrá a snadno by zapadla mezi ostatní. Další výhodou je, že když nevíte, stačí googlit o sto šest a ve většině případů, sice někdy po delší době hledání, najdete co hledáte. Poslední výhodou, kterou bych chtěl vypíchnout, je multiplatformnos­t. Můžete namítnout, že i když si vytvoříte vlastní engine, můžete ho vytvořit tak, aby fungoval jak na mobilu tak na Playstation. Ale např. uživateli Unity si stačí stáhnout doplněk a kliknout na tlačítko export, rázem má verze pro všechny operační systémy i na mobilní platformu.

Výběr navazujícího kurzu

Nyní jsme si unity představili i nainstalovali. V sekci Unity 3D si nyní vyberte kurz podle toho, jakou hru chcete dále tvořit :)

V článku byly použity aktualizované úryvky textů ze starších Unity kurzů od DELTA12 a Vojtěcha Pospíchala.


 

 

Článek pro vás napsal Tomáš Brabec
Avatar
Jak se ti líbí článek?
1 hlasů
Hodně zdaru programátoři všeho druhu,doufám ,že nikdy nezažijete nudu.
Všechny články v sekci
Programování her v Unity3D v C# .NET
Miniatura
Následující článek
Tvorba 3D her v Unity
Aktivity (4)

 

 

Komentáře

Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zatím nikdo nevložil komentář - buď první!