Battlefield 4: nová generace grafiky?
Jakmile vyjde nová AAA hra, všichni očekávají i novou grafiku. Nyní vychází Battlefield 4, který se nejspíše stane synonymem pro realistickou hru. Co se skrývá pod kapotou samotného enginu Frostbite 3?
Kapitoly článku:
- Krátká historie grafiky ve hrách
- Battlefield 4 první krůčky
- Silná stránka: exteriéry
- Frostbite 3: velká neznámá
Exteriéry vše spasí
Vzpomínáte na počátek 3D her? Většina se odehrávala v interiérech (Doom), maximálně jste se mohli podívat ven na pár chvil. Exteriéry vypadaly často doslova tragicky. Terén byl hrubý, popřípadně zcela rovný a na něm se tyčilo pár osamocených stromů. Poté však přišla skutečná revoluce v podání prvního FarCry, který ukázal, že i exteriéry mohou být pěkné a na tehdejších počítačích zvládnutelné.
Postupem času si všichni vývojáři uvědomili, že v exteriérech je budoucnost a většina dnešních her se tam také odehrává. Spousta stromů, spousta trávy a dnes přibývá také spousta harampádí a létajících trosek.
A právě ony létající trosky, kamínky a prach, co se různě válejí na palubě lodi v Battlefieldu 4, dělají scénu pěkně dynamickou. Jinak je relativně jednoduchá. Rovná paluba (pokud je tedy loď v jednom kuse) a na ní v podstatě instance několika trosek letadel. Právě masivní instancování objektů v enginu Frostbite 3, a vlastně i Frostbite 2, dělá ze hry Battlefield 4 tak atraktivní záležitost.
Na předchozím obrázku je vidět právě několik trosek, co na palubě pěkně poletuje. Zkusme si tyto drobné objekty ve Photoshopu vymazat. Určitě jsem je nepodchytil všechny, ale dojem to jistě navodí správný. Všimněte si, jak je najednou scéna klidná a ony hrůzostrašné mraky najednou vypadají jako nevinné obláčky. Celkově scéna ztratila dynamiku a vy si začínáte všímat např. toho, že na palubě leží hned dvakrát vedle sebe ten stejný objekt. Také textura paluby se ihned jeví jako malá, co se rychle opakuje. Trosky zkrátka hodně pomáhají.
Pro ty, co si nevšimli, jaké trosky ze scény zmizely, jsem připravil názorný obrázek.
Je vidět, že jich opravdu není zrovna málo a to jsem zajisté na několik zapomněl (třeba ty napravo od zbraně).
Obdobně na tom jsou prakticky všechny exteriéry. Na střeše hotelu se nachází vzduchotechnika, která je rozsetá pěkně po téměř celé ploše. V běžném případe by to vypadalo divně, protože jde o jeden a tentýž objekt. Vzhledem k tomu, že se kolem opět válí drobné papírky, do toho prší a déšť vytváří na vzduchotechnice pokaždé trochu jiné odlesky, jinak z něj stéká voda apod., si toho opakování vlastně ani nevšimnete.
Novinkou je ve hře Battlefield 4 realistiské ztvárnění mořské resp. oceánské hladiny. Ta se mění dle počasí, vlny jsou při bouřce větší a... vlastně to je všechno. Na tom by nebylo nic zvláštního, renderování vody je dnes docela běžné (skládá se z cca 5-8 shaderových vrstev). V enginu Frostbite 3 však udělali jednu velkou změnu. Celá vodní hladina je synchronizovaná napříč celým multiplayerem. Všichni tak vidí stejnou vodní hladinu se stejnými vlnami. Ony vlny jsou samozřejmě otázkou několika parametrů, které jsou sdíleny přes server. Do něj vstupují i parametry větru a ostatního počasí. Jak to přesně funguje se bohužel asi jen tak nedozvíme, protože to je tak trochu tajemství a know-how enginu Frostbite 3. Celkově to však vypadá velmi přesvědčivě, a to je opravdu důležité. Trochu méně přesvědčivě vypadají ony proklamované destrukce prostředí. Při prvním hraní či hraní v singleplayeru to vypadá famózně. Časem však zjistíte, že jde o předskriptované jevy. Není to jeden velký skript, ale spíše desítky, stovky menších.
Nyní si dovolím malou odbočku a zaměříme se na konkrétní efekt. Je jím rozmazání pohybu, motion blur. Ten je ve hře implementován velmi dobře a to hlavně díky tomu, že je zjednodušený. Vytvořit tento efekt je docela náročné na výpočet, a tak je potřeba jej lehce zjednodušovat. Toto zjednodušení je však opět potřeba zpětně trochu skrýt. Battlefield 4 to skrývá do šumu v obraze. Ten je pro filmový průmysl docela běžný, a tak ve výsledku motion blur vypadá dobře. Posuďte sami.
A takto vypadá zcela čistý motion blur.
Rozhodně vypadá přirozeněji první případ a přitom je jednodušší na výpočet.