Unreal Engine a postupný vývoj
12.11.2015, Jan Pánek, článek
V tomto článku se podíváme na všechny generace Unreal Enginu a popíšeme si, jak byl postupně vylepšován hlavně o renderovací efekty, dále umělou inteligenci nebo o fyziku. Nakonec se podíváme, co nás čeká s přicházejícím Unreal Enginem 4.
Kapitoly článku:
- Co jsou to herní enginy?
- Unreal Engine 1
- Unreal Engine 2
- Unreal Engine 3
- Unreal Engine 4
Unreal Engine 2 je v podstatě přímým nástupcem Unreal Enginu 1. Mohli bychom dokonce říct, že jde jen o změnu názvu, jež je důsledkem sestavení, které přineslo více změn než sestavení jiná. Když se podíváme na build, kterým končí UE1, 613, zjistíme, že k UE 2, který začíná buildem 633, nevede moc dlouhá cesta.
Vývoj Unreal Enginu 2 je mnohem komplikovanější než v případě 1. generace, proto ho hodně zjednoduším. Probíhal od ledna roku 2001 do prosince roku 2005.
Buildy si v tomto případě můžeme rozdělit hned do 4 období, první z nich, Unreal Warfare Build, navazuje přímo na Unreal Engine 1, i když přináší mnohá vylepšení, jak si ukážeme dále. Vývoj těchto sestavení se datuje od ledna 2001 do dubna 2002. V tomto období se objevovala sestavení pro Windows, Xbox či PS2, avšak jedno sestavení bylo často jen pro jednu platformu, někdy byl build určen pro Windows i Xbox, ale to jen v několika málo případech.
V dubnu 2002 přišla změna podnázvu na Unreal Tournament 2003, tato etapa trvala až do dubna roku 2003. Objevila se zde sestavení jak pro Windows, tak pro Xbox, Mac OS či Linux, i když většina byla určena majitelům počítače s operačním systémem od Microsoftu.
Pure Unreal Engine 2 je velmi specifická etapa, kdy se vzaly prvky z Unreal Warfare Build i Unreal Tournament 2003 a vytvořil se engine pro Windows a Xbox, vývoj tohoto systému trval od října 2002 do března 2004. Žádná sestavení se neobjevují v Unreal Tournament 2003, i když se prolínají čísla sestavení.
Poměrně zásadní změna přišla s Unreal Engine 2.5, který přinesl větší množství vylepšení, proto jej Epic Games označuje jako půlgenerační skok. Vývoj trval od února 2004 do prosince 2005.
Engine původně podporoval DirectX 8, ale se sestavením 3236 a výše přišel s podporou DirectX 9. Od verze 3236 a výše byl také podporován OpenGL 2. Dále se dostalo na hardwarovou podporu pro vertex a pixel shadery.
Zásadně se zlepšilo osvětlení, kde se objevila radiozita v reálném čase. Jde o metodu globálního osvětlení scény, avšak jen ve scénách, kde nejsou průhledné objekty. Tato metoda pracuje se zachováním energie.
Dalším zásadním vylepšením bylo i použití NURBS, (Non-uniform rational basis spline), což je matematický model reprezentující křivky a plochy. Jde tedy o metodu modelování různých objektů, které jsou pak dobře manipulovatelné a model je velmi přesný a flexibilní (v rovině programování).
Od sestavení 739 se objevuje tzv. cube mapping. Je to způsob zobrazování okolí, které se promítá na vnitřní stěny krychle, kde se promění na 2D obraz. Scéna je tedy vyrenderovaná v každý moment 6×, přičemž každý pohled je otočen o 90°. Více na obrázku.
Stejně jako v případě 1. generace se dočkáme i podpory animace obličeje, a to od sestavení 829. Součástí tohoto vylepšení jsou skriptované pohyby rtů a synchronizace rtů a mluvy v reálném čase.
Zásadní změny se odehrály i u textur. Kromě lepší komprese zde máme i podporu textur v rozlišení 2048×2048 (build 633+) a později i 4096×4096 (build 2500+). Dále zde máme i změny, které se netýkají renderování obrazu. Např. zlepšení systému pro komunikaci přes síť, na tu jsou zaměřeny i další změny jako optimalizace rychlých vozidel či fyziky kvůli síťové komunikaci.
Jsou zde i technologie jako voice-over IP či text-to-speech – převod textu na řeč. Zlepšil se i systém umělé inteligence od sestavení 633, dále botové či spolupráce s AI, a to od buildu 3186. Vylepšen byl i zvuk, optimalizace fyziky pro vozidla, GUI editor, zlepšení doznal i systém nahrávání demonstračních videí.
Vývoj Unreal Enginu 2 je mnohem komplikovanější než v případě 1. generace, proto ho hodně zjednoduším. Probíhal od ledna roku 2001 do prosince roku 2005.
- Unreal Warfare Build: 633-927
- Unreal Tournament 2003 Build: 927-2225
- Pure Unreal Engine 2 Build: 2110-2227
- Unreal Engine 2.5 Build: 3120-3369
Buildy si v tomto případě můžeme rozdělit hned do 4 období, první z nich, Unreal Warfare Build, navazuje přímo na Unreal Engine 1, i když přináší mnohá vylepšení, jak si ukážeme dále. Vývoj těchto sestavení se datuje od ledna 2001 do dubna 2002. V tomto období se objevovala sestavení pro Windows, Xbox či PS2, avšak jedno sestavení bylo často jen pro jednu platformu, někdy byl build určen pro Windows i Xbox, ale to jen v několika málo případech.
V dubnu 2002 přišla změna podnázvu na Unreal Tournament 2003, tato etapa trvala až do dubna roku 2003. Objevila se zde sestavení jak pro Windows, tak pro Xbox, Mac OS či Linux, i když většina byla určena majitelům počítače s operačním systémem od Microsoftu.
Pure Unreal Engine 2 je velmi specifická etapa, kdy se vzaly prvky z Unreal Warfare Build i Unreal Tournament 2003 a vytvořil se engine pro Windows a Xbox, vývoj tohoto systému trval od října 2002 do března 2004. Žádná sestavení se neobjevují v Unreal Tournament 2003, i když se prolínají čísla sestavení.
Poměrně zásadní změna přišla s Unreal Engine 2.5, který přinesl větší množství vylepšení, proto jej Epic Games označuje jako půlgenerační skok. Vývoj trval od února 2004 do prosince 2005.
Technická část
Engine původně podporoval DirectX 8, ale se sestavením 3236 a výše přišel s podporou DirectX 9. Od verze 3236 a výše byl také podporován OpenGL 2. Dále se dostalo na hardwarovou podporu pro vertex a pixel shadery.
Zásadně se zlepšilo osvětlení, kde se objevila radiozita v reálném čase. Jde o metodu globálního osvětlení scény, avšak jen ve scénách, kde nejsou průhledné objekty. Tato metoda pracuje se zachováním energie.
Dalším zásadním vylepšením bylo i použití NURBS, (Non-uniform rational basis spline), což je matematický model reprezentující křivky a plochy. Jde tedy o metodu modelování různých objektů, které jsou pak dobře manipulovatelné a model je velmi přesný a flexibilní (v rovině programování).
Od sestavení 739 se objevuje tzv. cube mapping. Je to způsob zobrazování okolí, které se promítá na vnitřní stěny krychle, kde se promění na 2D obraz. Scéna je tedy vyrenderovaná v každý moment 6×, přičemž každý pohled je otočen o 90°. Více na obrázku.
Stejně jako v případě 1. generace se dočkáme i podpory animace obličeje, a to od sestavení 829. Součástí tohoto vylepšení jsou skriptované pohyby rtů a synchronizace rtů a mluvy v reálném čase.
Zásadní změny se odehrály i u textur. Kromě lepší komprese zde máme i podporu textur v rozlišení 2048×2048 (build 633+) a později i 4096×4096 (build 2500+). Dále zde máme i změny, které se netýkají renderování obrazu. Např. zlepšení systému pro komunikaci přes síť, na tu jsou zaměřeny i další změny jako optimalizace rychlých vozidel či fyziky kvůli síťové komunikaci.
Jsou zde i technologie jako voice-over IP či text-to-speech – převod textu na řeč. Zlepšil se i systém umělé inteligence od sestavení 633, dále botové či spolupráce s AI, a to od buildu 3186. Vylepšen byl i zvuk, optimalizace fyziky pro vozidla, GUI editor, zlepšení doznal i systém nahrávání demonstračních videí.
Jaké hry stojí na tomto enginu? Např. BioShock, BioShock 2, America’s Army, Tom Clancy's Splinter Cell 3D, SWAT či Deus Ex: Invisible War.