Aktuality  |  Články  |  Recenze
Doporučení  |  Diskuze
Grafické karty a hry  |  Procesory
Storage a RAM
Monitory  |  Ostatní
Akumulátory, EV
Robotika, AI
Průzkum vesmíru
Digimanie  |  TV Freak  |  Svět mobilně

Crysis: grafické pojetí série

10.6.2013, Pavel Kovač, recenze
Crysis: grafické pojetí série
Vzpomínáte na grafické orgie s příchodem hry Crysis? Poslední již třetí díl přinesl opět výraznou změnu. Jak se však liší od šest let staré jedničky? Je zde výrazný posun, nebo se jen grafika maskuje za umělecké ztvárnění?

Displace/Tessellation


Metoda vylepšení objektů pomocí tessellation a potažmo displace mappingu je často chápána jako vylepšení co není nutné, ale je příjemné. Displace jako takový je samozřejmě hodně mocný... ale! Ano vše má svá ale. Hlavní nevýhodou je fakt, že kvůli displace se musí nutně tvořit další textura (ta sice často vzniká přímo z high-poly objektu), která zabírá další místo v paměti. Navíc výsledek je nejistý. Uvidí hráč vůbec rozdíl? Pokud je aplikován dobře, tak samozřejmě ano. Nesmí se ovšem efekt přehnat jako tomu bylo u Crysis 2. Zde na zemi vznikají až nepříjemně srandovní scény. Auto sice vyjelo koleje, ale proč vlastně udělalo stopu vypouklou a ne vydutou? Možná mělo auto nějakou speciální pneumatiku, jinak si to nedovedu představit. Nejspíš tento efekt vznikl jen pro pocit větší plastičnosti celé brázdy. Pokud by totiž byla brázda celá vydutá, tak by nepůsobila tak efektně.




Vyjeté koleje - ale tvar není moc reálný


Na jejím okraji si navíc můžete všimnout dalšího nepříjemného efektu displace. Tím je natažení textury a ve výsledku snížením detailů ve scéně. A proč vlastně? Displace vzniká tak, že se nejprve vezme daný objekt s daným mapováním a určitou texturou. Teprve poté se provede tessellace (zahuštění polygonální sítě) a pomocí displace textury se provedou úpravy jednotlivých vrcholů tesselovaného objektu (vytažení/zatažení po normále). Pokud je toto vytažení příliš strmé k původnímu objektu, tak se může stát, že se na velkou plochu namapuje klidně jen několik pixelů z dané textury. Ty se samozřejmě filtrují, ale na detailu jim to nepřidá. Ve výsledku máme krásně detailní geometrii, ale na obraze jsme potrestáni nízkým rozlišením textur. To ve spojení s Crysis 2 dává doslova smrtelnou kombinaci.




Natažení textur při displace - snížení rozlišení


Přesto dokáže displace někdy hodně pomoci. Například na staré kamenné zdi pomůže. Tam totiž není vysoká přesnost potřeba a stačí "alespoň nějaké zvrásnění". To, jestli je pro danou zeď adekvátní nebo ne, už tolik nevadí. Přesto si můžete všimnou natahování textury, ta zkrátka ve spárách ztrácí detail. Jedno je tedy jisté. Displace může správně fungovat jedině společně s opravdu vysokým rozlišením textur. Současně je třeba dbát na to, aby nedocházelo ke strmému posunutí vertexů, což tak trošku degraduje celý displace. Je to ovšem problém displace jako takového, ne CryEnginu.




Displace aplikovaný na kamenou zeď - zde to funguje jedna báseň


Ambient Occlusion - AO


Ambient Occlusion je u CryEngine 2 potažmo Crysis 1 až 3 v podstatě na stejné úrovni. Je zde použita SSAO, ovšem v různém stupni vývoje. U Prvního Crysis nebyl AO, resp. SSAO, tak výrazný a do hry nepřinášel tolik plastičnosti. Naopak u nového CryEngine 3 se SSAO hodně zvýraznilo a ve všech scénách je daleko více viditelné. Občas si říkám, že je to až přehnané. Na venkovní lokace se to sice hodí, ale v interiérech je AO přehnaný. Vše vypadá tak trochu špinavě. Vzhledem k tomu, že se celý dej odehrává v rozbořeném městě či exteriérech, tak je tento přehnaný AO dobrý. Pokud by se však děj odehrával v nablýskaném interiéru, tak by bylo dobré AO trošku potlačit.




Komplexní scéna s AO a bez textur v CryEngine 3


Na předchozím obrázku je vidět jak silný dokáže být SSAO Všimněte si, že všechny objekty ve scéně se vzájemně ovlivňují a vlastně ztmavují.

Také se můžeme podívat na to, jak se AO mění s nastavením hry. Můžete si všimnout hlavně velké změny při nastavení Very High, kde je AO daleko preciznější, resp. realističtější. Ovšem vzhledem k tomu, aby byla stále hra plynulá, tak je AO takové hodně roztřesené a na hladkých plochách působí až rušivě. Dokonce se může zdát, že AO obraz rozostří a špatně se orientujete v prostoru. Ovšem pokud jsou aplikovány textury a shadery materiálů, tak tento jev téměř zmizí, resp. není vidět. Je to další jasný důkaz výrazné optimalizace AO, která je u her. Klasický render by si to nemohl dovolit, ovšem herní engine může dělat spoustu ústupků a jde mu jen o celkový pocit ze hry.




Porovnání kvality AO u CryEngine 3


Všimněte si, že na otexturované a shaderované scéně je již Very High nastavení zobrazeno dobře. Ony nepřesnosti se totiž ztratí v texturách. A na to vývojáři samozřejmě spoléhají.




Kvalita AO není ve výsledné scéně až tak znatelná


Takto vypadá Ambient Occlusion u CryEngine 3 tedy u Crysis 2 a 3. U Crysis 1 byl však lehce méně viditelný. Například si můžete všimnout drobného stínu u kol auta. Ovšem jsou situace, kdy je AO téměř neviditelný. Například pod autem je opravdu hodně světla, což působí trošku nerealisticky.



U Crysis 1 je AO na podstatně nižší úrovni než u 2 a 3


Také jsou situace, kdy je Ambient Occlusion téměř neviditelný i tam, kde by vlastně měl být. Například tento kámen působí ve scéně trošku nalepeně. Je to dáno tím, že písek u něj není ztmaven a samotný kámen je při styku s pískem stejný jasný/světlý.





To jsou ovšem asi všechny rozdíly v AO. Nic technologicky podstatného se neudálo.