Unreal Engine

Z Wikipedie, otevřené encyklopedie
Skočit na: Navigace, Hledání
Logo Unreal Engine

Unreal Engine je herní engine, který byl vytvořen firmou Epic Games. Jeho první verze z roku 1998 byla použita ve hře Unreal. Od té doby byl Unreal Engine několikrát vylepšen a doplněn, aby mohl být použit v několika desítkách novějších herních titulů. Původně byl tento engine určen pouze pro střílečky z pohledu první osoby, ale našel využití i v některých MMORPG, RPG a adventurách.

Jádro Unreal Enginu, napsané v programovacím jazyku C++, podporuje mnoho různých platforem, jako jsou Microsoft Windows, Linux, Mac OS, Mac OS X na PC. Nejnovější verze Unreal Enginu podporuje také platformy herních konzolí Dreamcast, Xbox, Xbox 360, PlayStation 2 a PlayStation 3. Většina ostatních součástí enginu ve hře je napsána ve speciálním kódu UnrealScript, díky kterému není nutné při vytváření případných herních modů nutné zasahovat hluboko do jádra, ale postačí pouze změnit skripty. Kromě toho obsahuje užitečný nástroj UnrealEd.

Unreal Engine 1[editovat | editovat zdroj]

První verze Unreal Enginu spatřila světlo světa v květnu 1998 ve hře Unreal. Tato verze sjednotila do jediného enginu rendering, detekci kolizí, umělou inteligenci, viditelnost, networking i správu souborového systému. Engine fungoval pouze na platformách PC. Na jeho vzniku měl nejvyšší zásluhu Tim Sweeney, autor jádra Unreal Enginu. V průběhu roku 1999 byl celý Unreal engine vylepšován a poslední oficiální záplatou byla build-verze 226f. Pozdější verze vyvíjely už jenom společnosti, které zakoupily na tento engine licenci.

Engine podporuje celkem šest renderovacích technologií. Důvodem je doba, kdy byl vyvíjen, jelikož docházelo k masivnímu rozšíření užívání grafických akcelerátorů, jejichž ovladače nebyly mezi sebou kompatibilní. Stavěn byl původně pro technologii 3Dfx Glide, S3 Metal a PowerVR SGL. Časem ale začala růst obliba Direct 3D (verze 5-7), takže byl těsně před vydáním přidán k původním třem ještě renderer pracující na technologii DirectX, jenže tento renderer nebyl kvůli časové tísni dobře naprogramován (byl pomalejší než 3Dfx a obsahoval velké množství chyb) a musel být v záplatách enginu opravován. Brzy se objevila ještě jedna technologie, která podporuje OpenGL. Unreal Engine 1 OpenGL sice také podporuje, ale vzhledem k nedostatku ovladačů dostupných tehdejšímu hardwaru se od dalšího rozvoje na bázi OpenGL upustilo. Univerzálním rendererem byl starý software rendering, který byl schopný fungovat s jakýmkoliv hardwarem (to znamená i v případě, že počítač neměl nainstalovaný žádný grafický akcelerátor).

Engine podporuje barevné (až 32-bitová) dynamické osvětlení s možností překrývání barev a mícháním rozmazaných stínů a paprskové osvětlení. Dále podporuje paprskové, válcové, kuželové, světlometné, kolovité, ambientní (okolní prostředí) a další světelné efekty (celkem přes 20), efekty záře, mlhy a coronas (světelný zdroj je z dálky vidět, jakoby byl obklopený kulatou září). Engine též umožňuje i zrcadlový efekt (včetně několikanásobného odrazu zrcadel umístěných naproti sobě), částečnou odrazivost světla některých povrchů, portálové a „warpové“ efekty (umožňující vidět, co se za nimi nachází), zobrazení objektů zdánlivě se nacházejících v nekonečné vzdálenosti přes "okno na obloze" (např. při zobrazení měsíců, obou sluncí, hvězd) a zobrazení oblohy a pozadí map nezávisle na poloze a orientaci pozorovatele. Dále engine umožňoval zobrazit zakulacený tvar povrchu, aniž by bylo nutné využít velký počet mnohoúhelníků, a zobrazování textur v rozlišení 512 x 512 pixelů (s funkcemi imitujícími vypuklý tvar jinak rovného povrchu (Emboss bump mapping), multi-texturing, dynamiku nanesených detailních textur a procedurně animovaných textur).

Engine podporuje i negrafické součásti, jako je plně digitalizovaný zvukový systém s podporou formátů mp3, CD-audia, a hudby vytvořené pomocí trackera a dalších (software a hardware rendering). Zvukový systém využívá k dokreslení trojrozměrných zvukových efektů při software renderingu podporujícím nejvýše stereo fázový posun a Dopplerův jev. Implementace hudebního systému v Unreal enginu pomocí trackera umožňuje nejen plynulý přechod mezi hudebními stopami podle toho, co se ve hře zrovna děje, ale také výrazně zmenšuje velikost hudebních souborů.

Unreal engine 1 však obsahuje málo výkonný detektor kolizí, aby tehdejší procesory zvládly stíhat výpočty v přijatelné rychlosti a hra se kvůli tomu neškubala. Předností Unreal Enginu byla na tu dobu velmi vyspělá umělá inteligence nepřátel. Ti dokázali uhýbat vystřeleným projektilům nebo v Unrealu občas předstírat vlastní smrt a následně zaútočit na nic netušícího hráče zezadu.

Unreal Engine 1.5[editovat | editovat zdroj]

Základem pro tuto verzi Unreal enginu byla ta předcházející. S tímto enginem byla uvedena hra Unreal Tournament. Verzování začalo v roce 1999 na hodnotě 338 a skončilo oficiálně na build-verzi 436 v roce 2001. Pozdější verze byly opět vyvinuté jinými společnostmi se zakoupenou licencí na tento engine. Kód nástroje UnrealEd ale musel být pro tuto verzi enginu kompletně přepsán. Tato verze enginu podporovala již i první konzolové platformy Dreamcast a PlayStation 2 (build-verze 613). Obsahovala všechny prvky předchozí verze, opravila jejich případné chyby, vylepšila mnohé funkce a obsahovala i některé nové. Například podporu zobrazení obtisků, od buil-verze 400 i S3TC kompresi textur nebo zobrazení textur v rozlišení 1024 x 1024 pixelů nebo systém rozšíření drobných částeček. Vylepšení doznaly i zvukové efekty, zejména díky vylepšením podpory A3D, EAX, DS3D. Největších změn a vylepšení ale doznala umělá inteligence nepřátel (boti se dokázali více semknout během týmové hry) a podpora síťové hry.

Unreal Engine 2[editovat | editovat zdroj]

Hra Killing Floor pracuje na Unreal Enginu 2

Unreal Engine 2 byl poprvé představen ve hře America's Army. Kód enginu byl kompletně celý přepsán a upraven tak, aby byl použitelný nejen v žánru FPS. Verzování začalo v roce 2002 číslem 633 a skončilo na build-verzi 3186. Engine pracuje s DirectX 8, 9 a OpenGL. Rendering je koncipován pro vysokou výkonnost a využívá pěti základních renderovacích prvků (BSP geometry (na tvarování terénu), Static meshes (na tvarování a texturování objektů s velkým počtem polygonů), Animated skeletal meshes (tvarování a texturování herních postav a zbraní importováno většinou z externích aplikací jako např. 3D Studio Max), Vertex meshes (animování vrcholu; pouze když je potřeba), Height-Mapped Terrain (terén uložen jako pole s hodnotou výšky, aby bylo možné dobře s ním manipulovat v editoru)).

Engine podporuje zlepšené osvětlení všech geometrických tvarů, i stínování, hardwarovou podporu pixel shaderům a vertex shaderům, vylepšenou detekci kolizí a kompresi textur. Mezi zcela nové podporované prvky patří mapování okolí (environmental mapping), podpora velkého rozsahu terénu, podpora zobrazení textur v rozlišení 2048 x 2048 pixelů a později v rozlišení až 4096 x 4096 pixelů. Úplně nová je i část enginu starající se o on-line hraní, umělou inteligenci, editaci terénu a nahrávání a zobrazování videí. Další novinkou je i implementace Karma-physics SDK na propočítání fyziky hýbajících se objektů (postav, strojů) a přesnosti kolizí a odrazů drobných částeček.

Unreal Engine 2.5[editovat | editovat zdroj]

Verze 2.5 Unreal Enginu byla vydána v roce 2004. Je to v podstatě vylepšené a optimalizované vydání Unreal Enginu 2 s přidanými funkcemi.

Unreal Engine 2X[editovat | editovat zdroj]

Tato verze enginu je téměř totožná s Unreal Engine 2.5, ale je optimalizovaná speciálně pro hry vydané na Xboxu.

Unreal Engine 3[editovat | editovat zdroj]

Hra Unmechanical pracující na Unreal Enginu 3

Unreal Engine 3 byl představen v roce 2006 jako build-verze 3376. Je otevřen pro kompletní úpravy a stal se oblíbeným základem pro tvorbu her. Hojně využíván byl ještě i v roce 2012, byl využit například ve hře Medal of honor airborne nebo v Batman: Arkham Asylum a v Brothers in Arms - Hell's Highway. Třetí verzi Unreal Enginu používají i velké herní tituly vydané v roce 2013 - například BioShock Infinite Za zmínku také stojí, že byl použit v MMORPG TERA: The Exiled Realm of Arborea, takže je stále považován za populární i mezi vývojáři těchto her.

Byl navržen tak, aby pracoval na mnoha různých platformách na bázi DirectX verze 9 až 11 (Windows a Xbox 360) a na bázi OpenGL, s nímž pracují konzole PlayStation 3, OS X, IOS (Apple), Mac OS, Android, PlayStation Vita a Wii U.[1] V říjnu 2011 byla jedna z verzí tohoto enginu upravena pro běh v Adobe Flash Player 11. Tento engine byl kromě her využit i v jiných oblastech, ať už v umění nebo v simulátorech.

Unreal Development Kit (UDK)[editovat | editovat zdroj]

UDK je volně šiřitelné vývojové prostředí pro tvorbu map, módů a her v Unreal Enginu 3, které bylo pro veřejnost poprvé uvolněno v listopadu 2009 s každoměsíčními aktualizacemi, opravami a novými funkcemi. Pro nekomerční využití je zdarma, avšak dle licence se pro komerční využití musel zaplatit Epic Games prvotní poplatek 99 USD a pak následně 25 % z celkového zisku nad výdělek 50  000 USD.

Unreal Engine 4[editovat | editovat zdroj]

Nová verze, představená v roce 2012, jejíž vývoj započal už v roce 2003. Jednou z nejdůležitějších novinek je globální osvětlení v reálném čase za použití technologie Cone tracing bez nutnosti výpočtu osvětlení předem při načítání.[2] Další důležitou součástí je lepší podpora pro vývojáře, kteří mohou v tomto enginu implementovat kód C++ přímo, a dokonalejší debugger „Kismet“, jenž umožňuje vývojářům zároveň zobrazit animaci a zároveň kontrolovat při testování kód. Nyní je možné při testování rovnou skočit do editace zdrojového kódu a provést změny ve Visual Studiu.[3] V dřívějších verzích se musel kód zkompilovat (což může trvat několik minut), pak přímo ve hře nebo aplikaci bylo nutno dostat se na místo, kde mělo být testování provedeno, pak hru či aplikaci vypnout, provést změny a proces neustále opakovat. Nyní toto zdržení zcela odpadá.

Zdroje[editovat | editovat zdroj]

Související články[editovat | editovat zdroj]

Reference[editovat | editovat zdroj]

  1. www.unrealengine.com - seznam platforem, s nimiž je Unreal Engine 3 kompatibilní
  2. www.geforce.com - Andre Burnes, nVidia, 8. června 2012
  3. http://www.unrealengine.com/unreal_engine_4 - nové funkce

Externí odkazy[editovat | editovat zdroj]