Ve filmech jsou renderovací algoritmy
natolik pokročilé, že všechno může vypadat téměř reálně.
Pokročilé stínovače (shaders), high-poly modely a přesné
osvětlovací scénáře vypadají perfektně. V herních enginech
však
chybí všechny tří atributy. Stínovače jsou čím dál tím
lepší, počet polygonů se zvyšuje a osvětlení je
realističtější. Ale stále jsou daleko od svých
předrenderovaných protějšků. Tento dokument se bude
zabývat teorií obsaženou v technice kreslení barevné
mapy (color mapy) na real-time model. Budu hovořit o enginech, které
nemají žádné osvětlení, o enginech založených na
vrcholech (vertex based) a
funkcionalitě per pixel shading.

Barevná mapa pro filmovou postavu Dr. Sida z Final
Fantasy:The Spirits Within.
Všimněte si, že jde pouze o barvu, která je veskrze
všude stejná a obrázek vypadá jako zploštělý obličej.

Barevná mapa pro videohru. Světelné informace jsou
zakreslené do obrázku, čímž se zajistí dojem objemu.
Jaký je smysl barevných map (color
maps)? Ve filmu zajišťují pouze barvu objektu.
Všechny světelné informace jsou vypočteny během procesu
renderování s využitím dalších map, které ovlivňují
osvětlení, a pokročilého osvětlovacího algoritmu. Ve
videohře používáme barevné mapy pro charakteristiku
povrchu modelu. Některé enginy maji normálové mapy (normal maps),
spekulární mapy (specular
maps) a bump mapy, které ovlivňují osvětlení barevné
mapy, avšak ty fungují správně pouze pokud jsou kamera
a světlo umístěné v různých úhlech. V počítačových hrách budeme ještě
mnohokrát nahlížet ve 100%
jasu. Bez správně namalované barevné (color) mapy by
model vypadal plochý a nevýrazný. Takže zatímco
spekulární a normal mapy mohou být využity pro vylepšení
color mapy, nemělo by se na ně plně spoléhat. Do té
doby, než budou mít herní enginy přesnou radiozitu,
okluzi (occlusion) a sub-surface scattering
na úrovni pixelů, budeme stále potřebovat dobře
namalované color mapy.

Případ vlevo uvidíte ve hrách pouze tehdy, pokud se tam
vyskytuje jedno světlo bez ambientní složky. To ale nikdy
nenastane.
Případ uprostřed naznačuje, jak bude váš model vypadat 40-70%
času. Případ vpravo ukazuje, jak bude váš model vypadat
10-30% času. Tento obrázek také ukazuje plochý vzhled
bez viditelné světelné informace. Model dokonce nevypadá
jako koule, ale jako kruh!
Kvůli tomuto
faktu, nehledě na schopnosti enginu, budou chvíle, kdy
bude model nasvícen při téměř 100% jasu. Je obvyklým a dobrým
postupem nechat při malování model nasvícený ze 70-100%.
Nikdy jsem neviděl model, který by vypadal skvěle v
plném jasu (100% osvětlený) a pak vypadal špatně v
real-time enginu - bez ohledu na jakýkoli přidaný
průchod (spekulární, normálový, bump, environment mapa,
atd). Nicméně viděl jsem modely, které vypadaly docela
dobře při osvětlení jedním světlem v enginu s více
průchody, ale v lépe osvětlené místnosti vypadaly dost
slepě, ploše (jako
velbloudí zadek :-)). Kvůli tomu mnoho per pixel her používá
pouze jedno nebo dvě světla v místnosti, avšak s
postupem času budou prostředí osvětlená více reálně (a
vy většinu času uvidíte pouze color mapy). Takže hlavní
ideou by mělo mít dobře nakreslené color mapy. Tím si
zaručíte dobře vypadající model ve většině situacích.

Pokud by tento model byl nabarven výplňovou barvou,
ukázalo by se, jak málo má polygonů. 1500 trojúhelníků.
To by nebyl moc zajímavý herní model na podívání. Avšak
model vpravo ukazuje texturu se zapečenou informací o
světle. Vypadá mnohem detailněji, než je tomu ve
skutečnosti.
Teď je počet
polygonů pořád relativně nízký. I v případě počtu
polygonů ve Final Fantasy: The spirits within by se
současnými modely osvětlení (osvětlovacími modely,
scénáři) nevypadaly tak skvěle. Tudíž musíme “fingovat
(napodobit)” osvětlení,
i když polygony samotné jsou zde také z důvodu správného
osvětlení.
Ve většině případů nebudeme mít ale dostatek polygonů
pro každý definovaný kousek modelu. Cílem je zde mít
dobrou zaoblenou siluetu, která se dobře deformuje a tím
je většína modelu definována. Nicméně mnoho detailních
kousků musí být stále nějak napodobeno. Co tím myslím
"napodobeno"? Proč modely o vysokém počtu polygonů
vypadají v předrenderovaných filmových situacích tak
reálně? Je to právě kvůli osvětlení. Světlo nám odhaluje
povrchy a změny objektu. Takže když musíme napodobit
něco, co tam ve skutečnosti není, provádíme to
napodobením světelného zdroje, který odkrývá jinak
neexistující geometrii. Nestačí pouze nabarvit geometrii,
pokud to není zrovna hra v mobilním telefonu. Musíme
vzhled modelu přizpůsobit tak, aby to vypadalo jako
souhra světla mezi různými objekty navzájem. Tím zmanipulujete
diváka, aby uvěřil, že vše je opravdu komplexnější a
detailnější, než je tomu ve skutečnosti.

Globální osvětlení (Global Illumination),
nazývané také Occlusion, je fenomén světla
charakteristický svým úbytkem, jak se postupně odráží od
různých objektů. Čím blíže se světelné paprsky dostanou
k rohům a protínají se, tím více slábnou. Kuželovitá
světla Spotlight se chovají standardně, jak byste
očekávali.


Final Fantasy používá globální osvětlení (viz
vlevo). BloodRayne2 využívá světla spotlight.
Aby toho bylo
dosaženo, musí umělec divákovi vylíčit imaginární
algoritmus osvětlení. Zobrazit vymyšlené detaily, vybrat
osvětlovací model a pak kreslit po povrchu jako kdyby
byl osvětlen imginárním osvětlovacím modelem. Pro
kreslení color map existují dva hlavní osvětlovací
modely. Prvním z nich je GI (global
illumination) model, který se také nazývá occlusion lighting.
Napodobuje světlo přicházející ze všech směrů a stíny
povrchů vidíme pouze tehdy, pokud se objekt dostane blízko k
dalšímu objektu. Dobrým příkladem her využívajících GI
osvětlovací model je řada Final fantasy.
Další osvětlovací
model používá specifické světelné zdroje, jednobodové,
dvoubodové nebo vícebodové. Umělec zde kreslí jasněji
plochy na vymyšlené geometrii, které čelí těmto
imaginárním světelným zdrojům, a hrany geometrie
vzdálenější od světelného zdroje kreslí tmavěji. S
využitím barevných imaginárních světel můžete dále
napomoci této iluzi, jelikož plochy čelící prvnímu
imaginárnímu světlu jsou bílé a jiné, čelící druhému
světlu mohou být červené. Hry využívající tento model
jsou Blood Rayne 2
a Dark Age of Camelot. Většina her spadá někam
mezi tyto dva modely. Pokud toto napodobení světla
vytvoříte důsledně, divák bude věřit, že tyto prvky
skutečně existují. Nevýhodou tohoto přístupu je, že tyto
světelné informace se nebudou měnit v reálném čase jako
je tomu u skutečně modelované geometrie.
Nicméně jde o
určitou výměnou "něco za něco", protože nemáme k
dispozici dostatečný počet polygonů pro modelování úplně všeho (a i
kdybychom je měli a to třeba v podobě Normálových map,
které by sobě detailní polygonovou strukturu zahrnovaly),
osvětlovací enginy za určitých okolností selžou (tyto
okolnosti nastanou kvůli libovolnému dobře nasvícenemu
místu). Takže zatímco toto osvětlení se nebude měnit při
pohybu světla a modelu, je lepší mít zahrnuté detaily,
nežli mít přesně nasvícený, avšak holý model. Častou
chybou je kreslit color mapy jako by to byly elevation mapy
(mapy zobrazující vyvýšeniny).
Libovolná
geometrie je jasnější, jakmile se dostane dále od
povrchu skutečného modelu. To by bylo jak byste kreslili bump mapu
nebo elevation/topology
mapu.
Jediné, v co to vyústí je model, který vypadá “obroušeně
či opotřebovaně”
stejně jako něco vyčnívajícího by mělo svou barvu na
povrchu odřenou.
Důvodem je, že toto nepředstavuje způsob, jak skutečný objekt
reaguje na světlo.
Přijímají světlo na základě procenta, jak čelí
světelnému zdroji. Když je plocha kolmá ke světelnému
zdroji, bude nejjasnější a jak se otáčí pryč, tmavne. V
GI modelu platí, že čím je povrch plošší, tím jasněji je
osvětlen, a čím blíže leží ploška povrchu k další plošce
jiného povrchu, tím více tmavne.
Čím důslednější
je osvětlovací model, tím více mu divák uvěří.
Definitivní způsob, jak to provést, by bylo vymodelovat
veškerou geometrii, vytvořit všechny pokročilé shadery,
aby každý objekt vypadal přesně jako materiál, z něhož
je model vytvořen a pak nastavit buď sérii spotlight
světel nebo GI osvětlení a vyrenderovat high poly model
do color mapy low poly modelu.
Tímto způsobem se vytváří běžné mapování, nicméně
takto se renderují pouze rozdílné informace povrchové
vzdálenosti. Kaldera a 3ds Max mají
vestavěné možnosti pro renderování do color kanálu.
Tento samý proces je to, co se my, umělci, pokoušíme
dělat ve svých myšlenkách. Kvůli velikosti mapy je
mnohokrát efektivnější (a užitečnější) provádět toto vše
v hlavě, než všechno modelovat a zjišťovat způsob psaní
pokročilých shaderů, pak renderovat mapu pro použití na low poly modelu.
Kromě vyobrazení
jak by dopadalo samotné světlo, musíme si pamatovat, jak
různé povrchy reagují, pokud na ně dopadají světelné
paprsky. Kov se chová úplně jinak než kůže, i přestože
jsou osvětlené v úplně stejném prostředí. Využití
fotografií nebo pozorování reálných struktur a materiálů
je nejlepší způsob jak zjistit chování těchto materiálů.
Kolik světla odrážejí a jak silné jsou světelné odlesky?
Jak rychle tyto odlesky ustupují a slábnou? Odrážejí se
objekty v sobě navzájem? Mění barvu světla? Svítí objekt
různě v závislosti na množství světla, které přijímá? (Příkladem
může být kůže kvůli její průsvitnosti (translucency);
má jinou barvu ve stínu, než když je úplně osvětlená).
Pokud budete na
všechny povrchy aplikovat světlo stejným způsobem, budou
vaše modely vypadat jako kdyby byly vytvořené ze
stejného materiálu (makety) a pak byly nabarveny
akrylovými barvami pro vzájemné odlišení materiálů.
Nicméně to nebude vypadat tak přesvědčivě, jako kdybyste
měnili chování světla v závislosti na druhu materiálu.
Dobrý proces, který mně pomáhá je, že kdykoli kreslím
nějaký materiál, snažím se najít tolik dobrých obrázků
toho materiálu, kolik je jen možné a pak také aktuální texturu
kvalitně nakreslenou nějakým umělcem. Podívám se na
fotografie, abych se naučil "pravidla" materiálů a pak
se podívám na texturu umělce a zjišťuji, jak si rozložil
práci ve světě pixelů. Někdy následuji jejich vzor,
jindy jej dále prpracuji nebo se vydám úplně jiným
směrem.
Všechny tyto
teorie mají pevný základ v tradičním umění. Knihy o
kreslení, kurzy a techniky vám velmi pomohou.
Znalost anatomie, produktový design a kompozice vstupují
také do hry. Musíte nejprve znát, jak tato imaginární geometrie
pracuje a až potom si představovat, jak by byl osvětlený.
Pokud neznáte strukturu lidského obličeje,
nebudete schopni si ji představit v hlavě. A poslední
kousek teorie texturování, kterou je třeba sdělit.
Vždycky pamatujte na cílovou platformu. Bude se model
prohlížet na monitoru nebo v televizi? Jakou velikost
bude zabírat na obrazovce?
Jak jej hráč uvidí? Když kreslíte,
neustále se oddalujte a prohlédněte si model z typické
"prohlížecí" vzdálenosti a podívejte se, jak vypadá na
této úrovni. Postavička může vypadat skvěle zblízka v
celoobrazovkovém režimu a na některých místech, ale když
se na ni podíváte ze vzdálenosti 50 stop, může vypadat
jako rozmazaný flek. To vám pomůže stále pamatovat na
všechny tři úrovně detailu - velké, střední
a malé. Vynikající herní model bude mít všechny tři
úrovně a bude vypadat báječně v libovolné vzálenosti od
diváka.