Tutorial
V-Ray - Photony

Zdravím všechny příznivce tohoto skvělého renderu. Protože si myslím, že tutoriálů na VRay česky moc není a na photony už vůbec ne, rozhodl jsem se Vám tuto skvělou metodu osvětlení interiérů přiblížit. Klasickým nasvícením pomocí Irradiance mapy lze dosáhnout skvělých výsledků, ovšem, pokud se kvalita Irr mapy zkombinuje s možnostmi a rychlostí photonové mapy, stává se Vray skutečně mocným renderovacím nástrojem. Na začátek bych rád uvedl, že photony se používají výhradně pro osvětlení interiérů, kde klasické GI trochu nestačí. Protože se jejich mapa počítá pro celou scénu, jsou hojně využívány také pro animace, protože se značně zkracuje čas pro vypočítávání jednotlivých snímků.
Předpokládám také, že již určité zkušenosti s VRay máte. Všechny časy uvedené u obrázků jsou orientační, tak jak si s nimi poradil můj Duron 1,3GHz s 512MB SDRAM.

 

Co jsou to fotony a jak vlastně fungují...

 

Představme si fotony, jako světelné paprsky. Ty se s určitou energií vyšlou od zdroje světla. Jakmile dopadnou na plochu tělesa, tak se podle typu jeho materiálu vyhodnotí ztráta energie každého fotonu a výsledek se zapíše jako energetická textura na povrchu tělesa. Potom se po směru odrazu původního paprsku, vyšle nový fotonový paprsek, s již menší energií (o kolik menší závisí na povrchu tělesa). Všechny cesty fotonů se ukládají do prostorové struktury, kde je zaznamenán směr a energie paprsků. Primární paprsky fotonů jsou po dopadu na těleso ukládány do světelné mapy, přičemž všechny body kam fotony dopadnou jsou uvažovány jako zdroje světla a objekt se potáhne jakousi světelnou texturou. Z místa dopadu primárních paprsků se vysílají rekurentně sekundární paprsky. Směr odražených paprsků je určován energetickou mapou a jejich příspěvek do osvětlení se provádí stejně jako u primárních.

 

Začneme s vysvětlením a přiblížením základních funkcí... 

 

Max density - Definuje rozlišení (prostorovou detailnost) photonové mapy. Informace o osvětlení je uložena v množství bodů na plochách objektů ve scéně. Tento parametr definuje vzdálenost (v jednotkách) mezi těmito body. Nižší hodnoty znamenají, že k sobě budou jednotlivé body blíž a bude jich více. Vyšší hodnoty způsobí, že světelné samply od sebe budou dál a bude jich méně. Samozřejmě, že tento parametr závisí na měřítku scény a jeho změna vyžaduje přepočítání photonové mapy, protože je použit pro její výpočet. Search dist - Definuje jak bude světlo zrekonstruováno pomocí bodů na plochách ve scéně, vysvětlených výše. Můžeme si to představit jako rozmazání photonů ve scéně. Search dist by měl být větší než max density, ale jeho přesná hodnota závisí na tom, jak moc chcete aby byla photonová mapa rozmazána. Obvykle se volí 2x až 5x větší než Max density. Změna tohoto parametru nevyžaduje přepočítání photonové mapy, protože je použit až při renderování.

Bounces - Toto kontroluje počet světelných odrazů. Můžete jich zvolit kolik budete chtít, Ale větší počet odrazů znamená pomalejší výpočet. My necháme tuto hodnotu na 10, ale pokud chcete, můžete si ji zvýšit.

Multiplier - multiplikátor photonové mapy. Necháme ho na 1, ale pokud bude potřeba, můžete jeho hodnotu zvýšit.

Max photons - toto číslo určuje kolik se z každého photonu dál vyšle photonů, něco jako interpolace v irradiance mapě.

Retrace treshold - toto číslo definuje rozdělení scény,které bude počítáno pomocí Direct computation v Secondary bounces. Důvodem je, že s photonovou mapou je těžké dosáhnout dobrých detailů v rozích a na hranách.

Retrace bounces - definuje číslo vypočítávaných odrazů (bounces), při použití funkce Retrace treshold. Volí se zpravidla stejné jako hodnota Photon map bounces.

 

A nyní už k vlastnímu tutoriálu...

 

Nejprve si stáhněte jednoduchou zazipovanou scénu, kterou najdete zde. Zip archiv obsahuje dva max soubory: phot.max a phot_end.max. Phot_end.max je již nastavený a slouží spíše pro porovnání. Vy otevřete soubor phot.max a začneme s nastavováním. 

 

Nejdříve zapněte u světla Direct light SUN stíny a zaškrtněte Use Global Settings. Tím by automaticky měly naskočit Vray stíny. Pokud se tak nestalo, vyberte je z roletky manuálně. Můžete klidně použít i Shadow map, nebo Area shadows, ale protentokrát použijeme VRayShadow. Toto světlo je ve scéně jenom kvůli stínům. Dále u světel VRayLight01 i VRayLight02 zaškrtněte Skylight Portal čímž docílíme toho, že nám budou do interiéru směrovat skylight. To je užitečná funkce, která nám umožní ovládat více světel pomocí jednoho parametru (hodnoty skylight multiplier). V render menu rozbalte záložku Environment, zaškrtněte Skylight, nastavte jeho barvu na téměř bílou a multiplier na 5. V roletce Global Switches vypněte Reflection/refraction, to při počítání photon mapy potřebovat nebudeme. Zapněte GI a jak pro first diffuse bounce tak i secondary bounces zvolte Global photon map. Nakonec v G-buffer/color mapping vypněte Affect background (pozadí nebude ovlivòováno osvětlením), a místo linear multiply nastavte HSV exponential, což nám zajistí rovnoměrnější rozptyl světla po místnosti. 

 
 

 

Nejdříve musíme nastavit hustotu photonů, čili max density. To závisí na použitých jednotkách ve scéně a na požadované detailnosti photonové mapy. 

Zkuste zadat max density 2 a search dist na dvojnásobek, tedy 4. Měli byste dostat podobný výsledek.

Jak je vidět, některé photony jsou příliš rozmazané. Po menším zkoušení zůstaneme na hodnotách max density 1 a search dist 2 .

 

 

 

 

Tohle je již mnohem lepší výsledek a detailnost (velikost) photonů je už vcelku uspokojivá. Ovšem jsou příliš patrné rozdíly mezi světlými body a tmavými místy, protože nám světla vysílají nedostatečný počet photonů. Ten zvýšíte tak, že v Systémovém nastavení VRay kliknete na Light Settings... a potom každému světlu zvýšíte diffuse subdivs na 500. Každé světlo nám teï bude vysílat 500x500=250.000 photonů, to má za následek mnohem lepší fotonovou mapu, ale i delší čas potřebný na její spočítání, jak je zřejmé z následujícího obrázku. 

 
 

 

Pořád ale potřebujeme více photonů, protože photonová mapa je stále málo detailní. Proto zvýšíme Diffuse subdivids u VRay světel na 1000 a u Direct light SUN na 1500. Tím nám světla budou vysílat dohromady (2x1000x1000)+(1500x1500) = 4.250.000 photonů. Obecně platí, že čím více je photonů ve scéně, tím kvalitnější je photonová mapa. Bohužel se ale HODNÌ prodlouží i čas potřebný ke kalkulaci, nehledě na to, že jsme omezeni také výkonem počítače, takže musíme volit kompromis. Vyrenderujte scénu. 

 

 

Je vidět, že už máme dostatečný počet photonů, rovnoměrně pokrývajících celou scénu. Budeme ale chtít do místnosti dostat více světla, proto v roletce Environment zvýšíme Skylight multiplier z 5 na 9. Také zvýšíme v GI nastavení Secondary bounces multiplier na 0,75. Navíc nastavíme, v Environment možnostech 3ds max, barvu pozadí na bílou (to nemá žádný vliv na osvětlení, jen to líp vypadá :-)

Místnost je již dostatečně prosvětlena, ale přímé světlo od slunce přicházející okny je příliš bledé, což se dá jednoduše vyřešit zvýšením multiplieru u Direct light SUN na 2,5.

 
 

 

Nyní photonovou mapu uložíme. V Global Photon Map klikněte na Save to file a uložte ji pod jakýmkoliv názvem. Poté přepněte na From file a načtěte soubor který jste před okamžikem uložili. Teï budeme měnit nastavení hodnoty Search dist, abychom dostali rozmazanější výsledek. Můžeme použít uloženou photonovou mapu, protože tento parametr nemá vliv na její výpočet, ale projeví se až při renderu. Nastavte tedy Search dist na 5 a vyrenderujte. 

 

 

Renderování trvalo pouze 19 vteřin, protože se Photonová mapa nemusela znovu počítat. Také jsme dosáhli určitého zlepšení v kvalitě. Na obrázku jsou ale zřejmé tmavé hrany. To je tím, že jsme použili photonovou mapu samostatně a čím větší je Search dist, tím jsou tyto hrany patrnější. Použitím photonů pouze pro Secondary bounces, se tohoto problému zbavíme. Navíc nám Irradiation mapa vyhladí šum od photonů. V nastavení GI tedy jako primary bounce zvolte Irradiation map a v Irradiation map presets vyberte předvolbu Medium . Tyto předvolby u Irraddiation mapy jsou doporučená nastavení pro rozlišení 640x480 a lze je bez problémů použít třeba i na 800x600. Zaškrtněte také Show calc. Phase, abyste viděli průběh renderu. Teï už jen zbývá aktivovat Adaptive antialiasing a Reflections/refractions a stisknout render. 

 

 

Na závěr ještě několik tipů... 

 

  • Pokud máte ve scéně nějaké malé objekty, je dobré je při výpočtu a nastavování photon mapy skrýt.
  • Pokud máte ve scéně více světel, není od věci nastavovat hodnoty subdivisions pro každé světlo zvlášť, to znamená, že světla která momentálně nenastavujete, si prostě vypnete. Potom je ale nezapomeòte zase zapnout :)
  • Někdy se může stát, že Vám některý z objektů obarví celou scénu do určitého barevného odstínu, což může být nežádoucí. Je to dáno tím, že photony odrážející se od každého objektu, částečně absorbují jeho barvu, obzvlášť je li tento objekt osvětlen přímým světlem. To se dá jednoduše obejít. Při kalkulaci photonové mapy, dáte tomuto objektu místo textury světle šedý materiál. Tím se neovlivní barva photonů, odrážejících se od tohoto objektu do místnosti, ale objekt tam fyzicky pořád bude. Po vypočtení mapy, na něj opět aplikujte původní texturu. Nemusíte se bát, že takto "ošizený" objekt nebude vysílat žádné světlo do scény, protože jsou photony použity jen na Secondary bounces. First diffuse bounce je řešen pomocí Irradiance mapy a ta většinou dostatečný odraz barvy zajistí, ovšem neobarví se Vám celá scéna.

Komentáře uživatelů

1707x
0
Sdílet odkaz na článek:
reklama
Tagy:
v-rayphotons
Další podobné články:
Obrazek clanku
08.07.2015
Mousek
Obrazek clanku
09.04.2014
ReWegar
Obrazek clanku
27.10.2015
ReWegar
Obrazek clanku
06.05.2014
Mousek
ISSN 1801-0539