Osvětlení interiéru, je libo radiozita? Díl druhý - 3D grafika - 3Dscena.cz: 3D grafika jako na dlani

Odběr fotomagazínu

Fotografický magazín "iZIN IDIF" každý týden ve Vašem e-mailu.
Co nového ve světě fotografie!

 

Zadejte Vaši e-mailovou adresu:

Kamarád fotí rád?

Přihlas ho k odběru fotomagazínu!

 

Zadejte e-mailovou adresu kamaráda:



3D grafika

Osvětlení interiéru, je libo radiozita? Díl druhý

23. března 2006, 00.00 | V minulém díle našeho návodu osvětlení interiéru za využití radozity v CINEMĚ 4D R 9.5 jsme se rozloučili v okmažiku, kdy jsme měli vše připravené k tomu, abychom se vrhli na nastavení radiozity a samotný rendering. Dnešní téma je tedy dané, jak a co nastavit, čím si pomoci, globální iluminace v kostce.

Začneme s testy radiozity, nejdříve si ale, pokud nemáme, můžeme snížit jednotlivé parametry vzorků stínů světel a podobně, abychom se testy nezdržovali. A co jako první? No jako první si otevřeme nastavení renderingu.

Jelikož nám jde v prvé řadě o testy, tak si nejdříve „zdevastujeme“ nastavení tak, aby testy byly co nejrychlejší a toto „zdevastované“ nastavení si uložíme, abychom jej měli stále po ruce.

Na stránce Hlavní zadáme jméno nastavení renderingu na například Test GI, nastavíme vyhlazování na žádné a ostatní parametry prozatím necháme. Přejdeme ale na stránku Volby, kde upravíme množství raytracovaných paprsků, zejména odrazivosti, které poměrně zásadně prodlužují výpočet. V našem případě nám hlavně vadí množství odrazů, protože máme ve scéně poměrně dost odrazivých ploch. Můžeme tedy zadat nižší hodnotu, například jen 2, a nebo můžeme zvýšit hodnotu parametru Práh.

Jak parametr Práh pracuje?

Velmi jednoduše, řekněme, že máme plochy, které jsou odrazivé z 50%. Jestliže se tedy na ploše odráží okolí, pak jeho jas přičtený k ploše je 50%. Jestliže se tento odraz odráží na dalším objektu, pak je na tomto odrazu původní okolí v jasu 0.5x0.5 a to je 0.25, tedy 25%. A opět na dalším objektu je odraz (třetí) odrazu, pak je celkový jas původní scény 0.5x0.5x0.5, tedy 0.125, což je 12.5. Můžeme pokračovat na další objekt, ve kterém se odráží to, co se odrazilo na třetí objekt. V tom případě bude jas původního okolí na tomto objektu 0.5x0.5x0.5x0.5, což je 0.0625=6.25%. A pokud nastavíme parametr Práh řekněme 7%, pak se tento poslední odraz již nebude počítat. Tímto způsobem můžeme eliminovat „nedůležité“ raytracingové paprsky ze scény, paprsky, které extensivně zatěžují výpočet, které ale nemají na vzhled výsledku až takový vliv.

Jak jsme si řekli, snížíme například hodnotu odrazů a můžeme také snížit hodnotu hloubky paprsků (průhlednosti), která však nemám v této scéně až takový vliv.

Přejdeme do nastavení radiozity, neboli globální iluminace. V této chvíli jde o primární test efektu, o nastavení požadovaného jasu efektu, jak o výsledné množství vzorků a podobně, proto bude nastavení v této chvíli velmi jednoduché.

Nastavení jasu efektu můžeme ponechat například na 100%, protože my si toto nastavení upravíme až poté, co si vytvoříme první testovací render a to velmi rychle, díky dalším volbám, které si připravíme. Typ efektu ponecháme na volbě Standard, Přesnost zadáme na cca 50-55%, tedy poměrně malou a to proto, že Přesnost se sice podílí na kvalitě renderu nezanedbatelným způsobem, ale exponenciálně zvyšuje délku výpočtu, tedy není vhodné ji definovat na příliš vysoké hodnoty. Úroveň rozpuštění na povrchu zadáme na hodnotu 2 a to tedy znamená, že se nám paprsky odrazí dvakrát a při tom vždy ze sebe „vygenerují“ stejný počet dalších paprsků, které zadáme v parametru zadání Počtu stochastických vzorků. Zde zadáme hodnotu například 200. Hodnoty minimálních a maximálních paprsků zadáme na 10/100. Já se velmi rád držím následujícího pravidla, Počet stochastických vzorků/Max/Min paprsků je N, N/2 a N/2/10. Tedy pokud si zadáme do testu hodnotu stoch. vzorků 200, pak max a min hodnoty zadáme na 100 a 10.

Abychom se při další práci a úpravě parametrů nezdržovali, měli bychom si aktivovat volbu Přepočítat na Vždy a aktivujeme položku Uložit nastavení. Tím zajistíme, že se nám po prvním renderu výpočet radiozity uloží a to se nám hodí, protože díky tomu nebudeme muset přepočítávat tento efekt při dalších úpravách parametrů jiných, jak vzorků efektu radiozity, ty bychom samozřejmě museli přepočítat při změně znova. Ale pro mnoho úprav nám to ušetří množství drahocenného času.

Abychom měli výpočet poměrně rychlý, přejdeme také do stránky Výstup, kde nastavíme velikost výstupu na 480 x 360, chceme přeci jen primárně odladit osvětlení scény a podobně, tedy nepotřebujeme zas tak velký výpočet a také je výhodné si pro tyto testy nastavit poměrně malý výstup a poté použít render do prohlížeče než do editoru.

Abychom si nastavení renderingu uložili, zvolíme v tomto nastavení Soubor > Uložit nastavení renderingu do přednastavených a tím budeme mít právě vytvořené „zdevastované“ nastavení výpočtu uložené a vždy po ruce. Můžeme si spustit výpočet.

Výsledek je poměrně, dost, upřímně řečeno, děsný. V prvé řadě je velmi přeexponovaný, intenzita světel je příliš velká a také je velká intenzita radiozity. Než ale snížíme jas radiozity, tak zkusíme změnit exponenciálně přechody mezi jasem a barvami na objektech. A jak to uděláme? Pomocí jednoho na první pohled prostého efektu. Přejdeme do záložky Efekty, kde si aktivujeme Post efekty > Mapování barvou. Exponenciální řízení přechodu jasu definujeme volbou Exponenciální, to samé v HSV modelu volbou HSV model, jak jinak (té teorie už bylo v tomto článku dost, ale věřím tomu, že se k tomu ještě jednou vrátíme podrobněji). Pokud tedy chceme, aby náš render měl „měkčí“ přechody výše uvedených složek, pak aktivujeme obě uvedené volby. Volbu Ovlivnit pozadí necháme vypnutou, stejně tak ponecháme vypnuté násobitele světlých a tmavých bodů, protože využijeme ve výsledku možnosti renderu do 32bitového formátu a tam jsou možnosti podstatně flexibilnější.

Přejdeme tedy do Uložit, kde si aktivujeme formát, který je pro 32bitové obrázky vhodný, nejlepší asi bude OpenEXR, který podporuje i PhotoShop CS2.

Vrátíme se do nastavení radiozity, kde volbu Přepočítat přepneme na Nikdy a já (z bezpečnostních důvodů dvojitého „jištění“) vypínám i položku Uložit nastavení. Opět spustíme render. Díky tomu, že mám uložené parametry výpočtu, tak bude poměrně rychlý. Můžeme snížit nastavení Jasu efektu řekněme na 75%.

V tomto případě je již render o mnoho lepší, není tak přeexponovaný, možná že naopak, je jakoby mdlý. Ale to nám zas tolik nevadí, protože již během renderu si můžeme zkusit, jak by vypadala úprava expozice například na 0.33. Toto nastavení expozice a gammutu renderu se nachází v Prohlížeči obrázků > Náhled > 32bitové volby náhledu. Pokud trochu zvýšíme, opravdu jen mírně expozici a zároveň velmi mírně, snížíme gammut, dostaneme již poměrně dobře vyvážený a efektní render. Výhody 32 bitového rozsahu, dynamického rozsahu, jsou při renderu obrovské.

Jsme fakticky ve finále. Otevřeme si nastavení renderingu a upravíme jeho definování. Samozřejmě si opět po nastavení můžeme všechny hodnoty uložit jako v případě jednoduchého nastavení. Vyhlazování zadáme na nejlepší, na stránce Vyhlazování se ujistíme, že jsou hodnoty min/max na 1/1 a 4/4, opět zvýšíme (i když nemusíme na původní hodnotu, nebo můžeme využít Práh) nastavení Odrazů a hloubky paprsků na stránce Volby, velikost Výstupu zadáme na 640 x 480 (například), na stránce GI – radiozity zvýšíme počet stochastických vzorků na 600, max na 300 a min na 30. Opět si necháme vše uložit, to kdybychom chtěli třeba ještě zcela v závěru trochu upravit světla a podobně. Necháme si vše počítat do OpenEXR, což je jasné.

Další věcí, na kterou bychom neměli zapomenout, je zvýšení vzorků stínu a interních vzorků plošného světla. Tedy zvýšíme hodnotu parametru Detaily > Vzorky na 80 a na stránce Stín zadáme Přesnost 80, Min 15 a Max 150.


Render 640x480, délka 01:17:10 na P4 3 GHz HT 1 GB Ram

Pokud bychom například zvýšili velikost výstupu, tak vždy musíme uvažovat nad tím, že kvalita vzorků je vždy závislá na velikosti renderu, tedy mohlo by pak být zapotřebí zvýšit i množství vzorků ve výpočtu. Já jsem na dalším příkladu renderoval do velikosti 960 x 720, počet vzorků byl stanoven na 800 a tím pádem zbylé hodnoty Min/Max byly stanovené na 40/400. Rendering trval 2 hodiny a 19 minut na stroji popsaném u obrázku. Výsledek je opět poměrně kvalitní, jen jsme se nezbavili dvou „světelných stop“, které se objevují na okně (viz obrázek). O co jde? Jedná se o to, že plošná světla jsou vzorkovaná (u výsledného výpočtu jsem u okna použil množství vzorků 80), ale i přes poměrně vysoké zadání vzorků se stalo, že v okně jsou ve dvou místech oblasti, kde je plocha ostění a rámu okna velmi přeexponovaná.

Vzorkovaná světla

Vzorkované efekty jsou obecně efekty, které se interně skládají z nějakých dílčích jednotek. V případě plošných světel se de facto jedná o interně definovanou hodnotu množství světel, které jsou rozmístěné po definovaném povrchu, v tomto případě obdélníku. To vysvětluje dvě skutečnosti. Jednak to, že render plošných světel, a to zejména světel „objemových“ trvá tak dlouho, protože je zřejmé, že interpretace takového světla je poměrně složitá, a také to, že v jistých případech mohou být odlesky takových světel na povrchu objektů velmi nekorektní. Jedná se o to, že jak jsou interní světla rozmístěná po povrchu plošného světla, tak se mohou projevit v odlescích jako skupina jednotlivých odlesků a ne jako jeden odlesk velký.
Velmi podobný efekt, tedy nepravidelnost v osvětlení, se může projevit i v přeexponovaných místech u inverzně kvadratického úbytku. A to je také příčina oněch dvou přeexponovaných plošek v naší scéně. Řešení jsou v zásadě dvě, přičemž nejlepší se mi jeví průnik obou. První možností je zvýšení množství vzorků, tím vznikne homogennější světelný zdroj, který se ale déle počítá a jehož kvalita přesto nemusí být taková, aby se efekt eliminoval. Druhou možností je zapnutí volby Detaily > Přidat zrno (pomalejší), kdy se vzorek světel „rozmělní“ druhotným šumem, který sice přidá šum do renderu, ale opticky vyrovná efekty vzorků ve světle. Kombinací obou, tedy zvýšením vzorků (v našem případě 80) a aktivací této volby se docílí efektu, který je víceméně korektní a bezproblémový. Nutno poznamenat, že šum ve světle sice délku výpočtu prodlužuje, ale nikoliv významně.

Aby bylo to, co jsme napsali zřejmé, připravil jsem render s aktivní volbou Přidat šum. Je pravdou, že redukci oněch dvou míst jsme mohli provést jen ve PhotoShopu (ve kterém jsme stejně museli převést 32bitový render do 8bitového obrázku a také jsme mohli decentně upravit například sytost), ale není jistě od věci vědět, jak tyto artefakty odstranit přímo v CINEMĚ 4D.


kliknutím se obrázek maximalizuje do původního rozlišení 960x720

Jsme tedy v závěru. Uvedený systém osvětlení místnosti, tedy hlavní světlo, světlo v okně, pomocné světlo o malé intenzitě, poměrně nízké nastavení intenzity radiozity (75%) a rendering do 32bitového formátu se mi jeví jako optimální a hlavně univerzální systém osvětlení interiéru, který má několik výhod.

Pokud je někdo líný a nechce se mu to všechno procházet, tak zde je soubor se světly a nastavením renderingu ke stažení.

Scéna ke stažení

Za prvé, vytvoření základního osvětlení je velmi jednoduché, ono rozmístit tři čtyři světla není nic složitého. Za druhé, nastavení radiozity je pak poměrně snadné, pokud se budeme držet uvedeného systému vzorků, který jsme si popsali, pak je výsledek vždy poměrně dobrý. Hlavní ale je, že nemusíme mít vysokou hodnotu Úrovně rozpuštění na povrchu, která samozřejmě zvyšuje množství vzorků ve scéně a tím také prodlužuje výpočet. Další výhodou je využití mapování barvou, což je technologie, která nám pomůže s vyvážením barevných hodnot a hodnot jasu v obrázku tak, že jej poměrně přirozeně změkčí a to i tehdy, pokud použijeme inverzně kvadratický úbytek.

Mnoho zdaru!

Obsah seriálu (více o seriálu):

Tématické zařazení:

 » 3D grafika  

 

 

 

 

Přihlášení k mému účtu

Uživatelské jméno:

Heslo: