Vydělávej až 160.000 Kč měsíčně! Akreditované rekvalifikační kurzy s garancí práce od 0 Kč. Více informací.
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

Lekce 1 - Úvod do Unity 3D

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

Co je Unity 3D?

Logo Unity 3D - Tvorba 3D her v Unity

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

Tvorba 3D her v Unity

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

Tvorba 3D her v Unity

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, protože Unity 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ě zdarma edice.

My samozřejmě zvolíme edici Personal (stačí kliknout na Download for Windows nebo pokud máte jiný operační systém, tak zde je i stažení pro Mac a Linux), 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.

Instalace

Stažený soubor stačí otevřít a se vším souhlasit, vybrat umístění instalace a kliknout na tlačítko instalovat. Tím se nám nainstaluje Unity Hub, což je program přímo od Unity, kde budeme mít všechny naše stažené verze unity a naše projekty. Následně otevřeme Unity Hub a přejdeme do sekce Installs, zde klikneme na tlačítko Install Editor a v Official releases nainstalujeme doporučenou verzi unity.

Pokud chceme jinou verzi, než doporučenou od Unity, můžeme přejít na stránku unity editor archive, kde najdeme všechny verze Unity. Stačí najít požadovanou verzi a pomocí tlačítka Unity Hub, uvedeného vedle verze, můžeme stáhnout. Po kliknutí na tlačítko se nám otevře náš Unity Hub, kde stačí jen kliknout na tlačítko Install.

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),
  • Xbox One/Xbox X/Xbox S,
  • PS4/PS5,
  • Nintendo Switch,
  • VR.

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 jazyce C#, trochu upraveném JavaScriptu nebo v jazyce Boo velmi podobném Pythonu. V tomto tutoriálu budeme programovat v C#, protože se jedná o jednoduchý a moderní jazyk, a také je v Unity nejčastější volbou. Kurzy předpokládají znalosti Základů 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

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

My použijeme již vytvořený herní engine. Zjednodušeně můžeme říci, že při tvorbě vlastního enginu se naučíme lépe programovat, ale vytvoříme horší hru. Záleží jen na vás, jak se rozhodnete.

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 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 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 hra 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 včetně mobilní platformy.

Nyní jsme si Unity představili i nainstalovali :-)

V příští lekci, 3D střílečka v Unity - Terén a pohyb hráče, si naprogramujeme terén a pohyb hráče po něm.


 

Všechny články v sekci
Tvorba 3D her v Unity
Přeskočit článek
(nedoporučujeme)
3D střílečka v Unity - Terén a pohyb hráče
Článek pro vás napsal Tomáš Brabec
Avatar
Uživatelské hodnocení:
98 hlasů
Hodně zdaru programátoři všeho druhu,doufám ,že nikdy nezažijete nudu.
Aktivity