Radiosita v programu Cinema 4D R7 až 8.5 - 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

Radiosita v programu Cinema 4D R7 až 8.5

6. února 2004, 00.00 | Již několikráte jsme se věnovali různým aspektům vzhledu scény a jejímu nastavení. Počínaje materiály, světly, různými aspekty kompozice a nastavením renderingu. Nikdy jsme ale nezabrousili do vod nastavení globální iluminace. Nyní to napravíme.

Dnešní článek tedy nebudeme věnovat nějaké konkrétní scéně, naopak. Budeme se zaobírat obecným nastavením radiosity v programu CINEMA 4D a všemi aspekty, které tento skvělý efekt ovlivňují. Výsledkem nebude nic menšího, než zevrubný popis efektu globální iluminace. A komu by to případně nestačilo, tak nechť za několik dní navštíví stránky zdejšího distributora programu CINEMA 4D společnost Digital Media s. r. o. (http://www.cinema4d.cz), kde nalezne oficiální referenční manuál tohoto efektu v českém jazyce.

Tento článek bude také sloužit k něčemu jinému. A to k objasnění, či spíše upřesnění některých termínů, které běžně potkáváme, o kterých víme co dělají, ale ku příkladu nemusíme tak úplně přesně vědět, co přesně vyjadřují.

Začneme u toho nejdůležitějšího. Termínu Globální iluminace, či fakticky synonyma tohoto sousloví, radiosita. Tyto termíny se používají pro označení simulace přirozeného osvětlování objektů, jak probíhá ve skutečném světě. Ve skutečném světě se světlo dopadající na povrch objektů od těchto povrchů odráží všemi směry, přičemž se podle jistých pravidel zabarví, tedy ztratí část svého spektra, které je povrchem pohlceno. Zabarvení světla je zodpovědné za to, že jsou objekty barevné. Bílé světlo dopadne na povrch objektu a odrazí se ve světle červeném a to je tou příčinou, která má na svědomí naše vnímaní červené barvy objektu. Při přirozeném osvětlení se odražené, nepřímé světlo od objektů šíří všemi směry, přičemž poté co proud odraženého světla zasáhne další povrch, tak se od toho povrchu opět odrazí (a změní své spektrum, čímž "obarví" vzhled povrchu). Těchto odrazů je fakticky nekonečně mnoho a díky nim je osvětlen tunel kanálu i tehdy, kdy jediným místem, kde proniká světlo je poklop 20 metrů daleko.



Simulovat takový efekt je v počítačové grafice poměrně obtížné. A to z toho důvodu, že je nutné vytvářet velké množství pomocných světlených vzorků, jejichž počet se kvadrátem zvyšuje. Vysvětlím. Kamerou se nahlíží na scénu, ve scéně jsou nějaké světelné zdroje, které produkují přímé osvětlení. Z kamery, která nazírá na scénu, je vyslán jistý počet pomocných paprsků, které napomáhají při tvorbě globálního osvětlení. Tento jistý počet paprsků dopadne na povrch, přičemž se každý jeden paprsek odrazí do stejného množství dalších paprsků. Je li na počátku vysíláno 300 paprsků z kamery, tak se na povrchu každý z těchto 300 paprsků odrazí na dalších 300. Dohromady tedy 3002. Jak jsem psal, tak odrazů je fakticky nekonečně mnoho. Díky tomu je celkový počet paprsků 300x. Kdy "x" je právě takřka nekonečno. Na konci se z každého místa dopadu pomocného paprsku vygeneruje jakési pomocné světlo s odpovídající intenzitou a barvou (to je závislé na površích, od kterých se paprsek odráží). Jenže pokud bychom se drželi reality, tak by počáteční počet paprsků byl téměř nekonečně velký a počet odrazů taktéž takřka nekonečně velký, což je dohromady "číslo tak velké", že by po dokončení jeho výpočtu byl každý z počítačů prozatím starší, než egyptské pyramidy. A to je asi k výhledům lidské civilizace dost imaginární představa.





Pokud to tedy uzavřeme, tak nastavíme jak počet vysílaných paprsků, tak množství odrazů které se na povrchu udějí. Díky tomu se sníží výpočet do dimenzí lidského života, ale i tak jde o poměrně komplikované a zdlouhavé řešení.

Na tomhle místě bychom mohli obecný úvod k pojmu radiosita ukončit. Je zde ale ještě jeden termín, který je poměrně hojně používán. Tímto termínem HDRI. Tato zkratka zkracuje sousloví High Dynamic Range Images. Jde tedy o obrázky s vysokým dynamickým rozsahem. Tedy s rozsahem jasu, který je dokonce vyšší než bílá v RGB režimu. Že to nedává smysl? Ale dává, slunce je jasné, tak jasné, že do něj nelze pohlédnout. Žárovka je také jasná, ale už to lze vydržet a světlo svíčky je také jasné, ale koukat do něj lze celé hodiny. Intenzita takového světla je různá, a při tom každé z popisovaných světel se svou barvou může blížit bílé (vím že je světlo svíčky spíše žluté, ale neberte mne tak úplně za slovo). Díky tomu, že mají HDRI obrázky takový rozsah jasu, jsou schopné, jsou li vhodně použité, nasvítit scénu za využití radiosity bez jediného přímého světelného zdroje. Mimo to jsou povětšinou panoramatické a tak se s úspěchem využívají pro generování odrazů na lesklých površích. Pro osvětlení scény se ale dá využít jakýkoliv obrázek. K tomu se ještě ale dostaneme.

Tak konec teorie, podíváme se, jak se v CINEMĚ 4D radiosita definuje a nastavuje. Při tom budeme používat náhledy českého prostředí, ale uvádět budeme i anglické ekvivalenty a tak by se ztratit neměl nikdo. A mimo to se budeme zaobírat pouze zásadními parametry v nastavení renderingu, protože jinak by to bylo na několik článků a ne na jeden.

V prvé řadě se definuje typ radiosity. Základní typy jsou dva. V nastavení zjednodušený stochastický režim a režim normální, standardní, který využívá definovatelné optimalizace výpočtu. My si popíšeme v nastavení rozšířený standardní režim a z něj režim stochastický již automaticky vyplyne.

Prvním parametrem je Intenzita (Strenght) nepřímého osvětlení, tedy radiosity. Touto hodnotou se definuje, jak jasný bude výsledný efekt. Nutno totiž podotknout, že nepřímé světlo generované radiositou se sčítá se světlem přímým, které generují světlené zdroje a tak je výsledný jas obrázku vždy vyšší, než kdyby radiosita použita nebyla. Celkové snížení intenzita umožňuje tento parametr. Tento parametr fakticky nemá vliv na délku výpočtu.

Dalším parametrem je Přesnost (Accuracy) výsledného efektu. Slovo přesnost snad nemusím objasňovat, jedná se v tomto smyslu o přesnost celého efektu. Průběh ovlivnění tohoto parametru na délku výpočtu je exponenciální a tak hodnoty zvýšené jen o jeden procentický bod v oblasti okolo 95% přesnosti poměrně zásadně prodlužují délku výpočtu. Běžně jsou hodnoty okolo 80 - 85%.

Parametr který následuje, definuje velikost předběžného výpočtu rozmístění pomocných vzorků. Jmenuje se Předběžná velikost (Prepass Size). Tato velikost může být nastavena na menší než 1. Tento parametr má vliv na přesnost distribuce těchto vzorků a tak se používá zejména pro testování scény. Nižší poměr zrychluje výpočet efektu, ale ne tak dramaticky jak by se mohlo zdát.

Následující parametr je velmi důležitý, jde fakticky o jeden ze dvou nejdůležitějších parametrů nastavení renderingu. Jde o Úroveň rozpuštění na povrchu, neboli Diffuse Depth. Číslo které tento parametr vyjadřuje je mocnitel, kterým se umocňuje počáteční počet vzorků a tedy definuje počet odrazů na površích objektů. Je li počátečních vzorků (jmenují se Stochastické vzorky, viz další odstavec) 300 a hodnota úrovně rozpuštění na povrchu je 3, tak výsledných pomocných bodů ve scéně bude 300*300*300 v případě, že žádný z paprsků nebude moci ze scény uniknout (což je samozřejmě jen teoretická myšlenka, protože jistě uniknou). Je tedy jasné, že zvýšení této hodnoty vede k dramatickému prodlužování výpočtového času, ale také k vyšší kvalitě výsledné scény a také vyšší pravděpodobnosti, že se zdaří, aby odražené paprsky dopadly třeba až za dva tmavé rohy.

Parametr Úroveň rozpuštění na povrchu jde ruku v ruce s parametrem Počet stochastických vzorků (Stochastic Sampless), který definuje počáteční množství pomocných paprsků, které jsou vysílány z místa kamery, aby vytvořili pomocné "osvětlovací" body. To je tedy ona několikráte zmíněná hodnota 300. Je opět jasné, že čím vyšší hodnota, tím věrohodnější efekt bude, ale za cenu dramatického vzrůstu času. Můžeme si udělat malý příklad vycházející z výše uvedeného předpokladu, že se žádný paprsek neodrazí mimo scénu. Úroveň rozpuštění na povrchu nastavíme na 3 a počet Stochastických vzorků nastavíme na 250 a 500. Výsledný počet pomocných paprsků (a tím pádem i bodů) bude 250*250*250 a 500*500*500. Jak to dopadne je zřejmé. 15 625 000 ku 125 000 000. Nastavíme li tedy hodnotu 500, tak výsledný počet paprsků bude 8 krát větší než při hodnotě 250.

Na mnoha místech scény však často není potřeba vysoká koncentrace vzorků (rozuměj pomocných paprsků a výsledných bodů). To zejména na velkých spojitých plochách, na kterých nic není, kde se neobjevují stíny a také které neinteraktují s jinými objekty. Naopak v místech kde se objekty střetávají, na ostrých záhybech, kapsách a rýhách je velké množství vzorků potřeba. Pro definování hustoty vzorků na volných "nezáživných" plochách je zde parametr Min. Rozlišení (Min. Resolution). V tomto parametru se definuje optimalizace množství stochastických vzorků v těchto nudných oblastech. Opakem k tomu je Max. Rozlišení (Min. Resolution). Minimální rozlišení se nastaví podle vzorce Velikost scény/největší mezera mezi pomocnými body (zadá uživatel). Maximální rozlišení se vypočítá podle vzorce Velikost scény/nejmenší mezera mezi pomocnými body (opět zadá uživatel).



Volby které následují nemají přímo na výpočtu radiosity vliv, ale jistým způsobem scénu přece jen ovlivňují. Proto jen krátce. Parametr Přepočítat (Recompute) říká, zda se vypočítá radiosita při každém renderu, či jen při prvním (třeba i náhledovém), či nikdy.

Volba Uložit nastavení definuje, zda se vypočítaný efekt radiosity uloží a volba Identického šumu definuje, zda je v každém snímku animace šum, vznikl nízkým nastavením radiosity podobný předchozímu snímku.

Efekt radiosity se mimo nastavení renderingu definuje také u každého materiálu, kde se zadává na stránce Iluminace míra generování a přijímání efektu. To je však poměrně nativní záležitost a tak věřím, že to každý zvládne sám. Šlo nám zejména o globální nastavení scény.

Opomněli jsme však radiositu za využití HDRI mapy a běžného obrázku. HDRI mapa (přímá podpora od verze 8.1) se povětšinou používá v materiálu, ve kterém se nahraje do kanálu Svítivost a vypnou se všechny ostatní kanály materiálu. Celý materiál se pak většinou aplikuje na objekt Obloha. V nastavení renderingu se vypne volba Automatické světlo (na stránce Volby) a nastaví se radiosita. V případě, že použijeme za tímto účelem HDRI mapu na objektu Obloha, můžeme tuto mapu nahrát do kanálu Svítivost, ale i Barva, je to jedno. V případě že bychom místo objektu Obloha použili nějaký obecný objekt, třeba kouli, pak je pro efekt využití kanálu Svítivost nezbytné!

Pro nepřímé osvětlení není nutné používat jen HDRI mapy, ale i jakékoliv obrázky, shadery i barvy, které se načtou do kanálu svítivost nějakého materiálu. Díky tomu může animovaná obrazovka televizoru (tedy filmový klip použitý v materiálu) skutečně osvětlovat scénu.



Doufám, že Vám náš dnešní výlet do globální iluminace, nepřímého osvětlení, či chcete li radiosity, pomohl v jejím studiu a že Vám k ní případně otevřel vrátka. A komu to bylo málo, tak upozorňuji na to, co jsem zmínil v úvodu. Kompletní referenční manuál k radiositě bude během několika dní na stránkách našeho zdejšího distributora programu CINEMA 4D, společnosti Digital Media s. r. o.

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: