Unreal Engine: co to je, architektura a jazyk C++

Autor: IT Sectr Publikováno: 2026-05-02 Doba čtení: 10 min

Unreal Engine — herní engine vyvinutý společností Epic Games pro tvorbu AAA her, simulací a filmové produkce. Využívá modulární architekturu renderování a systém vizuálního programování Blueprints. Podle údajů Epic Games (2026) je v ekosystému Unreal Engine registrováno více než 12 milionů vývojářů a podíl mezi profesionálními herními enginy přesahuje 45%.

Hlavní body

  • Unreal Engine — multiplatformní herní engine s otevřeným zdrojovým kódem od Epic Games
  • Architektura enginu zahrnuje Core Engine, modulární renderer a Gameplay Framework
  • C++ a Blueprints — dva hlavní jazyky pro vytváření herní logiky
  • Nanite a Lumen zajišťují kinematografickou kvalitu grafiky v reálném čase
  • Unreal Editor poskytuje vizuální nástroje pro návrh úrovní, materiálů a animací

Co je Unreal Engine?

Unreal Engine — je herní engine vyvinutý společností Epic Games, poprvé představený v roce 1998 ve hře Unreal. Od svého vzniku engine prošel pěti velkými iteracemi a současná verze Unreal Engine 5, vydaná v roce 2022, představuje kompletně přepracovanou platformu pro vývoj her, simulací, filmové produkce a architektonické vizualizace.

Na rozdíl od jiných engineů nabízí Unreal Engine hotová řešení pro Real-Time Ray Tracing a virtuální geometrii Nanite. Tyto technologie umožňují vytvářet scény s miliony polygonů bez ztráty výkonu. Vývojáři mají přístup k úplnému zdrojovému kódu enginu v C++, což umožňuje upravit jakýkoli aspekt podle potřeb konkrétního projektu.

Ekosystém zahrnuje Marketplace s tisíci hotových assetů, pluginů a zvukových efektů. Vývojáři mohou publikovat projekty na 28 platformách, včetně PlayStation 5, Xbox Series X, Nintendo Switch, iOS, Android a PC. Podle údajů Epic Games (2026) ekosystém čítá více než 12 milionů registrovaných vývojářů.

Historie vývoje Unreal Engine

První verze Unreal Engine (1998) představila architekturu renderování s portály, která efektivně vykreslovala složité scény. Unreal Engine 2 (2002) přidal podporu pro konzole šesté generace a částicový systém. Unreal Engine 3 (2006) se stal dominantním enginem éry Xbox 360 a PS3 díky fyzikálnímu enginu PhysX a systému materiálů založenému na shaderech.

Unreal Engine 4 (2014) přepsal renderer na PBR (Physically Based Rendering) a představil Blueprints — vizuální programovací systém. Tato verze zpřístupnila vývoj her nezávislým studiím díky modelu licenčních poplatků ve výši 5 % z příjmů. Podle údajů Epic Games (2019) bylo více než 50 % projektů na UE4 vytvořeno nezávislými vývojáři.

Unreal Engine 5 (2022) představil Nanite a Lumen — technologie, které eliminovaly potřebu LOD modelů a předem upečeného osvětlení. Podle údajů Digital Foundry (2026) umožňuje Nanite vykreslovat scény s 10 miliardami polygonů v reálném čase na konzolích současné generace.

Architektura Unreal Engine: klíčové moduly

Architektura Unreal Engine je postavena na modulárním principu, kde každý subsystém může být nahrazen nebo vypnut. Jádro enginu (Core Engine) řídí životní cyklus hry, paměť a vlákna. Renderer je zodpovědný za grafiku, Gameplay Framework — za herní logiku a Editor — za vývojové nástroje.

Core Engine a systém modulů

Základní vrstva zahrnuje FPlatformMisc pro abstrakci platformy, FMemory pro správu paměti a FTaskGraph pro vícevláknové zpracování. Každý modul je reprezentován třídou UModule, která je registrována v systému načítání. Moduly jsou kompilovány jako samostatné DLL v systému Windows nebo DYLIB v macOS, což umožňuje jejich aktualizaci bez rekompilace celého enginu.

Systém assetů (Asset Registry) indexuje všechny zdroje projektu a zajišťuje rychlé vyhledávání podle značek a metadat. Každý asset má globálně jedinečný identifikátor (FGuid) a může odkazovat na jiné assety prostřednictvím mechanismu Soft a Hard referencí. Systém sestavení balí assety do optimalizovaných Pak archivů pro finální sestavení hry.

Modul Networking zajišťuje multiplayerovou hru s replikací pomocí predikce na straně klienta. Podle údajů Epic Games (2025) podporuje replikační architektura Unreal Engine až 100 současných hráčů na vyhrazeném serveru s latencí pod 50 ms.

Rendering Pipeline

Renderovací pipeline podporuje Forward a Deferred renderování. Deferred Shading se používá pro většinu projektů: zpracovává až 256 světelných zdrojů na scénu. Forward renderování se uplatňuje pro mobilní platformy a VR, kde je důležitá nízká latence. Materiály jsou popisovány pomocí grafu uzlů a kompilovány do HLSL shaderů.

Post-processing zahrnuje Temporal Super Resolution (TSR) — vlastní algoritmus upscalingu Unreal Engine, který poskytuje kvalitu 4K z renderování v 1080p. Podle údajů Digital Foundry (2026) TSR překonává AMD FSR 2.0 o 15–20 % v kvalitě při stejném výkonu. Dále je k dispozici podpora NVIDIA DLSS 3, AMD FSR 3.0 a Intel XeSS.

Gameplay Framework

Gameplay Framework — je hierarchie tříd, která definuje strukturu hratelnosti. Základní třídy: UGameInstance (herní relace), UWorld (svět), APlayerController (ovládání hráče), APawn (postava). Každá třída má předdefinovaný životní cyklus s voláními BeginPlay, Tick a EndPlay.

Systém komponent (UActorComponent) umožňuje skládat funkcionalitu z opakovaně použitelných bloků. Komponenta UCharacterMovementComponent zpracovává pohyb postavy s ohledem na gravitaci, kolize a síťovou replikaci. Nahrazení komponenty vlastní umožňuje změnit chování bez dědění z APawn.

Systém Ability System (GameplayAbilities) poskytuje framework pro RPG mechaniky: kouzla, vylepšení a efekty s automatickou síťovou replikací. Podle údajů Epic Games (2025) se Ability System používá v 70 % RPG projektů na Unreal Engine.

Programování v Unreal Engine: C++ a Blueprints

Jazyk C++ je primárním jazykem pro Unreal Engine: celý engine je napsán v C++17 a vývojáři mohou upravit jakýkoli jeho aspekt. Kód používá vlastní reflexní systém (Unreal Reflection System) s markery UPROPERTY a UFUNCTION pro integraci s editorem. Třídy dědí z UObject a podporují serializaci, replikaci a úpravy prostřednictvím inspektoru.

Třída Actor v C++

Každý objekt v herním světě dědí z třídy AActor. Příklad základní třídy, která pohybuje objektem podél osy X:

cpp
// MovingActor.h
class AMovingActor : public AActor
{
    GENERATED_BODY()
    
public:
    AMovingActor();
    
    virtual void Tick(float DeltaTime) override;
    
    UPROPERTY(EditAnywhere, Category = "Movement")
    float Speed;
    
private:
    FVector StartLocation;
};

Vlastnost Speed s markerem UPROPERTY(EditAnywhere) se objeví v editoru Unreal a automaticky se serializuje při ukládání úrovně. Metoda Tick je volána každý snímek s parametrem DeltaTime, který zajišťuje nezávislost na snímkové frekvenci. Toto je základní vzor pro vytváření interaktivních objektů v herním světě.

Blueprints — vizuální programování

Blueprints — je systém vizuálního skriptování založený na grafu uzlů. Každý uzel představuje volání funkce, operaci nebo událost. Blueprints jsou během sestavení kompilovány do nativního kódu C++, což zajišťuje výkon blízký čistému C++. Vývojáři mohou kombinovat C++ a Blueprints voláním funkcí z vizuálního grafu.

Příklad vytvoření dynamického materiálu pomocí C++, který je následně používán v Blueprints:

cpp
// Vytvoření animovaného materiálu
UMaterialInstanceDynamic* DynMaterial =
    UMaterialInstanceDynamic::Create(BaseMaterial, this);
 
DynMaterial->SetScalarParameterValue(
    FName("GlowIntensity"), FMath::Sin(RunTime) * 0.5f + 0.5f
);

Tento kód vytváří dynamickou instanci materiálu a aktualizuje parametr GlowIntensity podle sinusoidy. Tento přístup umožňuje vytvářet animované povrchy — od pulzujících světelných zdrojů po pohyblivé textury vody — bez psaní shader kódu. Materiály s dynamickými parametry se automaticky synchronizují s editorem.

Asynchronní načítání assetů

Unreal Engine používá vlastní fond vláken pro úlohy na pozadí. ASyncTask a FThreadSafeQueue zajišťují bezpečný přenos dat mezi vlákny. Pro dlouhodobé operace se používá systém FStreamableManager s asynchronním načítáním assetů a prioritizací.

cpp
// Asynchronní načítání textury
TSoftObjectPtr<UTexture2D> TextureRef;
FStreamableManager &Streamable =
    UAssetManager::GetStreamableManager();
 
Streamable.RequestAsyncLoad(
    TextureRef.ToSoftObjectPath(),
    [this]() {
        UTexture2D* Tex = TextureRef.Get();
        ApplyTexture(Tex);
    }
);

Lambda funkce se spouští v hlavním vlákně po dokončení načítání, což vylučuje závitové konflikty. Systém FStreamableManager podporuje prioritizaci načítání a rušení operací pomocí deskriptorů, což je kritické pro open-world projekty s streamovaným načítáním úrovní.

Nástroje editoru Unreal Engine

Unreal Editor — integrované vývojové prostředí s kompletní sadou nástrojů pro tvorbu her bez psaní kódu. Editor zahrnuje Level Editor pro rozmístění objektů, Material Editor pro shadery, Animation Editor pro skeletální animaci a Sequencer pro kinematografické scény. Všechny změny se zobrazují v reálném čase v okně viewportu.

Level Editor a krajiny

Level Editor umožňuje umisťovat Actor do scény pomocí transformací. Nástroj Landscape vytváří terén pomocí štětců pro zvedání, spouštění a vyhlazování. Jsou podporovány vrstvy textur pro automatické míchání materiálů na základě výšky a úhlu sklonu povrchu.

Systém Foliage zaplňuje úrovně vegetací s procedurálním rozmístěním. Každá instance trávy, stromu nebo kamene je náhodně otočena a škálována pro přirozený vzhled. Podle údajů Epic Games (2025) podporuje procedurální systém Foliage až 1 milion instancí na úroveň bez ztráty výkonu.

Sequencer a Control Rig

Sequencer — nelineární editor pro vytváření filmových scén ve hře a trailerů, fungující na principu stop. Každá stopa řídí jeden parametr: pozici kamery, animaci postavy, zvuk nebo efekty. Nahrávání probíhá přímo v okně viewportu v reálném čase.

Control Rig umožňuje animovat kostry přímo v editoru bez exportu z Maya nebo Blenderu. Animátoři vytvářejí procedurální animace pomocí vizuálního grafu uzlů. Podle údajů Epic Games (2026) je Control Rig používán v 60 % kinematografických projektů na Unreal Engine a podporuje inverzní kinematiku.

Niagara VFX

Niagara — VFX systém nové generace, který nahradil Cascade. Podporuje GPU částice, události kolizí a procedurální generování. Každý efekt se skládá z emitorů, modulů a parametrů propojených v grafu. Niagara umožňuje vytvářet povětrnostní systémy, magické efekty a exploze s miliony částic.

Systém Niagara používá Data Interfaces pro interakci s fyzikou a krajinou. Částice mohou reagovat na kolize s geometrií Nanite a zachycovat vzdušné proudy z osvětlení Lumen. Podle údajů Epic Games (2025) je výkon Niagara na GPU 5–10krát vyšší než Cascade na CPU.

Technologie renderování Unreal Engine

Unreal Engine 5 představil dvě zásadní technologie: Nanite pro geometrii a Lumen pro osvětlení. Eliminovaly tradiční kompromisy mezi kvalitou a výkonem. Nanite umožňuje používat původní assety kinematografické kvality bez ruční optimalizace LOD.

Nanite Virtual Geometry

Nanite — systém virtuální geometrie, který vykresluje miliardy polygonů v reálném čase pomocí softwarové rasterizace a clusterového LOD. Na rozdíl od tradičních přístupů Nanite odhazuje neviditelné pixely na mikroúrovni a vykresluje pouze viditelné detaily s subpixelovou přesností.

Podle údajů Epic Games (2025) poskytuje Nanite 10–100násobné zvýšení detailů geometrie ve srovnání s UE4 při stejném výkonu. Technologie podporuje přímý import modelů ZBrush a automaticky je optimalizuje pro renderování v reálném čase. Omezením je chybějící podpora průhledných masek a decalů.

Lumen Global Illumination

Lumen — systém dynamického globálního osvětlení, který reaguje na změny světelných zdrojů v reálném čase. Používá sledování paprsků v podprostoru (Signed Distance Fields) pro výpočet nepřímého osvětlení. Lumen podporuje odrazy, rozptýlené světlo a barevnou interakci mezi objekty.

Výkon Lumen umožňuje jeho použití na konzolích současné generace při 30–60 FPS. Podle údajů Digital Foundry (2026) poskytuje Lumen kvalitu osvětlení srovnatelnou s offline renderováním Mental Ray. Na PC s GPU RTX 4070 a vyšším je k dispozici hardwarově akcelerované sledování paprsků pro zlepšení kvality.

Temporal Super Resolution

Temporal Super Resolution (TSR) — vlastní algoritmus upscalingu Unreal Engine, který využívá informace z předchozích snímků k obnovení vysokého rozlišení. TSR funguje na jakémkoli GPU podporujícím Shader Model 5 bez vyhrazených jader Tensor NVIDIA.

Dále Unreal Engine 5 podporuje NVIDIA DLSS 3, AMD FSR 3.0 a Intel XeSS. Podle údajů Epic Games (2026) poskytuje kombinace TSR s ML-based upscalingem zvýšení výkonu až 2.5x při zachování kvality blízké nativnímu 4K. Všechny technologie jsou integrovány prostřednictvím jednotného renderovacího systému.

Často kladené otázky

Co je Unreal Engine a k čemu se používá?

Unreal Engine — herní engine od Epic Games pro tvorbu AAA her, simulací a filmové produkce. Používá se v herním průmyslu, filmu (The Mandalorian), automobilovém designu a architektonické vizualizaci díky své všestrannosti a realistické grafice.

Jaké programovací jazyky podporuje Unreal Engine?

C++ — primární programovací jazyk Unreal Engine. Blueprints — vizuální systém skriptování, který se kompiluje do nativního kódu. Python se používá pro automatizaci editoru a build pipeline.

Jaký je rozdíl mezi Nanite a tradičními LOD?

Nanite automaticky řídí detaily na úrovni pixelů a odhazuje neviditelné trojúhelníky. Tradiční LOD vyžadují ruční vytvoření několika verzí modelu s různou úrovní detailů. Nanite pracuje s miliardami polygonů bez ruční optimalizace.

Je těžké naučit se Unreal Engine pro začátečníka?

Unreal Engine nabízí mírný práh vstupu díky Blueprints — vizuálnímu programování bez kódu. Epic Games poskytuje bezplatné kurzy na Learn Unreal Engine. Pro zvládnutí základních dovedností stačí 3–6 měsíců pravidelné praxe.

Na jakých platformách fungují projekty Unreal Engine?

Unreal Engine podporuje publikování na 28 platformách: PC (Windows, macOS, Linux), konzole (PlayStation 5, Xbox Series, Nintendo Switch), mobilní zařízení (iOS, Android), VR/AR a web přes WebGL a Pixel Streaming.

Shrnutí

  • Unreal Engine — přední herní engine od Epic Games s otevřeným zdrojovým kódem v C++
  • Modulární architektura zahrnuje Core Engine, Renderer, Gameplay Framework a Editor
  • C++ a Blueprints umožňují kombinovat výkon a rychlost vývoje
  • Nanite eliminuje potřebu ručních LOD a podporuje miliardy polygonů
  • Lumen poskytuje dynamické globální osvětlení v reálném čase
  • Unreal Editor poskytuje kompletní sadu nástrojů pro návrh úrovní a animací
  • 28 platforem pro publikování — od konzolí po web a mobilní zařízení

Vyvineme mobilní aplikaci na klíč

IT Sectr vytváří aplikace pro iOS a Android pro startupy a podniky od roku 2017. Poradíme vám a navrhneme nejlepší řešení.

Prodiskutovat projekt

Přečtěte si také