reklama
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ě

Technologie: Unreal Engine 3

9.6.2005, Petr Štefek, článek
Technologie: Unreal Engine 3
V dnešním článku nahlédneme pod pokličku jednoho z nejočekávanějších hnacích motorů her příští generace, které se díky tomuto základu opět o notný kus přiblíží realitě. Kdo se alespoň trošku orientuje ve světě her, tak ví, že na programu je Unreal Engine 3.
Kapitoly článku:
Unreal Engine 3 - Soft-shadows, Self-shadowing a další technologie


Soft-shadows

Unreal Engine 3.0 bude novátorský v mnoha směrech, takže zde nebude chybět podpora Soft-shadow, kterou se odbourají tvrdé přechody mezi stínem a světlem, což bude mít za následek daleko větší realitu scén a tím i přiblížení reálným stínům. Teď trošku nakoukneme pod pokličku této technologie a na pár ilustračních obrázcích si ukážeme rozdíly mezi tzv. měkkými a tvrdými stíny. Celé kouzlo je založeno na použití vícero "shadow maps" na jeden objekt, což nám umožní vytvářet soft-shadows bez viditelných artefaktů i tehdy, je-li světelný zdroj velmi blízko objektu.



Vlevo: Válec s generovanými soft-shadows na základě multiple shadow maps
Vpravo: Princip použití několika (2) shadow maps na jeden objekt

Princip spočívá v aplikaci dvou a více "shadow maps" z různých pozic vůči zdroji světla, kde každá z nich pokrývá trošku odlišnou část scény. Obrázek ukazuje tři vybrané paprsky, které sledují stopu z bodu do světelného zdroje před válcem, kde se pak polohou paprsků vůči oběma stínovým mapám vypočítávají efekty měkkých přechodů mezi stíny. Tam, kde se obě mapy prolnou, je nejtmavší část stínu a tam, kde je pokrývá scénu jen jediná mapa, dochází k přechodu částečným zesvětlením stínu.


Vlevo: Paňáca Hugo s hard-shadows - ostré přechody
Vpravo: Paňáca Hugo s použitím soft-shadows - rozdíl dobře ilustruje kruh

Paňáca Hugo je pěkným příkladem použití Soft-shadows, kde na prvním obrázku je vidět naprosto nepřirozený stín, který nebere v úvahu umístění světelného zdroje na sytost stínu a přechody jsou u celé plochy naprosto tvrdé a nereálné. Druhý obrázek ukazuje Soft-shadows v plné kráse, což dokazuje i to, že si tak snadno představíme i polohu světelného zdroje, což bylo v prvním případě krajně obtížné.

Self-shadowing a jiné technologie

Jak už bylo řečeno na počátku, tak Unreal Engine 3 patří k nové generaci enginů, která využije beze zbytku funkce a výkon všech dostupných grafických karet. Self-shadowing není nic jiného než technika, která umožní promítaní stínů i na pohybující se modely, jako jsou postavy či různá technika, kde je navíc možné, aby postava určitou částí svého těla zastínila jinou část, což budeme moci vidět například při chůzi, kde postava částečně zastiňuje měněním polohy rukou a nohou vždy jinou část těla a ve spojení se Soft-shadows je to opět krůček k větší realističnosti. Samozřejmě i okolní objekty mohou promítat stín na modely, což ukazuje i dynamicky se měnící barevná projekce světla, která dopadá na postavu a okolí.


klikněte pro zvětšení

Vlevo: Soft-shadows a self-shadowing v akci na modelu při dynamicky měnícím se osvětlení.
Vpravo: Pohybující se světelný zdroj generující fuzzy shadows na celé scéně.



Fuzzy shadows - stín za objektem se plynule mění od úplně černé po úroveň osvětlení okolí.


Dále spatříme Fuzzy shadows (rozptýlené stíny), které najdou využití tam, kde by byly normální stíny příliš kontrastní a ohraničené vůči okolí a nekorespondovaly by s efektem, který má navodit třeba pohybující se lampa (viz. obrázek z UE3). Přímou spojitost se stupněm Fuzzy shadows má velikost světelného zdroje a jeho umístění. Představme si například kulový objekt, na který svítí zdroj světla a za ním se na projekční ploše tvoří stín, který není přesně ohraničen, ale tvoří ho různé stupně šedi.


klikněte pro zvětšení

Doom 3 - za použití speciálního modu můžeme i v této hře vychutnat self-shadowing.

Protože zatím neexistuje žádné volně šiřitelné demo založené na Unreal Engine 3, můžeme laborovat jen s tím co máme, což znamená Doom 3, kterému můžeme dopomoci k lepším grafickým hodům pomoci speciálních modů, které dokáží zapnout i self-shadowing a samozřejmě i jiné techniky jako výše zmiňovaný parallax mapping. Zde je link na Doom 3 Ultra Extreme Quality mod, který umožní zapnutí self-shadowing pro všechna monstra ve hře.


klikněte pro zvětšení

Vlevo: Simulace různých povrchů materiálů společně s per-pixel lighting a shadowing.
Vpravo: Objekty s použitím normal mappingu a ray-traced odrazů


klikněte pro zvětšení

Vlevo: Fuzzy shadows valící se přes kopce na obzoru a zároveň produkující stíny na povrch.
Vpravo: Postava se soft-shadows v pásu volumetrické mlhy.


klikněte pro zvětšení

Vlevo: Light blooms za použití 64 bitových High Dynamic Range barev.
Vpravo: Scéna ukazující několik technik zároveň - virtual displacement mapping, soft-shadows, fuzzy shadows a specular lighting.

Cesta k realistické grafice vede právě přes různé grafické techniky, které umožní vytvoření dokonalého světelného modelu, čehož dosáhneme právě použitím Soft-shadows, Self-shadowig či Fuzzy shadows. Když člověk postupně pročítá všechny možnosti tohoto enginu, tak ho napadne, jak moc bude náročný geometrický model tohoto skvostu. Podle Toma Sweeneyho bude náročnost geometrie podobná jako u enginu Dooma 3 či Half-Life 2, čemuž se ani nechce věřit. Rovněž uvedl, že velké opodstatnění zde naleznou technologie jako je Geometry Instancing či komprese normálových map (3Dc).

Dále je třeba dodat, že metody založené na AFR (Alternate Frame Rendering - nVidia SLI a ATi CrossFire) pravděpodobně nebude možné použít z důvodu přítomností mnoha post processing efektů (motion blur, light blooms atd.). Samozřejmě, že pro lepší představu je dobré vidět Unreal Engine 3 v akci, takže na závěr článku budou umístěny linky na předváděcí videa Epicu.

Pro začínající programátory a znalé uživatele tady nabízím odkaz, kde se mohou dočíst velmi podrobné vlastnosti a možnosti tohoto engine 3D Engines Database.
reklama