Blender raytracing tutorial I - Světla - 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

Blender raytracing tutorial I - Světla

9. února 2004, 00.00 | S verzí Blenderu 2.32 se objevila řada novinek a jednou z nich je i raytracing. Toto je první z několika tutoriálů, postupně se zabývajících různými oblastmi využití raytracingu tak, jak je implementován v Blenderu.

Co raytracing v Blenderu nabízí?

Než se pustíme do popisu nových funkcí, rád bych tu shrnul, co vlastně znovuimplementace raytracingu do Blenderu pro nás, běžné uživatele, znamená. Ačkoli zdaleka nedosahuje kvalit výstupu jiných programů, kde má raytracing delší tradici (nebo přesněji nepřetrženou), při správné kombinaci se scanline tracerem a hlavně s umírněným použitím jen tam, kde to má efekt, může kvalitu vašich prací zvýšit poměrně markantně.

Použití raytracingu v Blenderu je možné rodělit do 3 oblastí:

1.Světla- všechna světla díky raytracingu mohou vrhat stín a přibyl nový typ Area light.

2. Raytracované odrazy - pomalejší než environment mapy, ale nabízí více možností realisticky simulovat zrcadlové povrchy a materiály jako jsou kovy apod.

3.Průhlednost (transparency) a průsvitnost (transcluency)-ideální pro takové materiály jako je sklo, voda, ale obrovské možnosti využití leží i v oblasti jednoduchých objektů s texturami, které nyní mohou vrhat daleko složitější stíny (příklad- textura stromu namapovaná na plane objekt v pozadí oživí scénu a strom může díky raytracingu vrhat i správně tvarovaný stín)

Hlavní část dnešního tutoriálu bude o světle a ostatní oblasti si detailněji popíšeme až v příštích tutoriálech.

Základní nastavení-render buttons

Blender ve verzi 2.32 doznal v nastaveních render několika změn reflektujících značně rozšířené možnosti výstupu. Aby byl výpočet stále co nejrychlejší, je rendering hybridní - raytracing se použije jen na některé části scény, zatímco zbývající elementy se počítají nadále rychlým scanline renderem.

O tom, která součást scény bude zahrnuta do výpočtu raytracingu , rozhoduje uživatel v Shading buttons (F5) a to jednak nastavením materiálu a také jednotlivých světel v Lamp buttons. Zároveň však musí být raytracing zapnut v Scene buttons (F10) v paletce Rendering. Pojďme si takovou rychlou raytracingovou scénu vytvořit.

Krok1. Přepněte se do Scene buttons klávesou F10. Zeleně vyznačená tlačítka na obrázku představují obvyklé nastavení , když se chystáme renderovat s raytracingem.

Shadow- zapne se výpočet stínů (platí i pro scanline rendering)

Ray- zapíná/vypíná aplikaci raytracingu

Blender internal- v této záložce je možné přepínat mezi interním rendererem Blenderu a externím Yafrayem

Osa- zapíná/vypíná antialiasing (platí i pro scanline rendering)

Krok2.Vložte do scény nějaké objekty a světlo typu Lamp. Toto světlo až do nejnovější verze nemohlo vrhat stíny, s raytracingem však již toto možné je a proto se přepněte do Shader buttons. Pokud máte světlo vyselektované, automaticky se zobrazí Lamp buttons, kde zaktivujte tlačítko Ray Shadow:

Nyní již jen stačí vyrenderovat klávesou F12.

Světla v podmínkách raytracingu

S aplikací raytracovaných stínů přibyla další oblast znalostí o světelných typech v Blenderu, protože každé světlo nejen jinak působí na objekt, ale také vrhá jiný typ stínu.

Obecné nastavení světel

Do paletky Lamps jste minimálně již v průběhu tohoto tutoriálu zabrousili a protože některé věci od posledního popisu světel v tomto seriálu přibyly, nebude na škodu říci si pár slov, co které tlačítko a parametr dělá.

Lamp buttons jsou rozděleny na 5 palet, které můžete libovolně slučovat a rozdělovat, ale o tom někdy jindy. Nyní se zaměříme na, pro účely tohoto článku, nejdůležitější paletku Lamp.

Prvním podstatným parametrem společným všem typům je slider Dist. Zde nastavíte úroveň dosvitu, konkrétně vzdálenost, kde intenzita světla postupně klesne na polovinu. Tento paramtr má účinek u světel typu Lamp, Spot a Area, u zbývajících sice lze nastavit, ale nemá na světlo ani stín vliv.U Lamp parametr Dist ovlivňuje světlo, ale nemá vliv na stín.

R:G:B: - nastavení barvy světla. Autor jedné z nejlepších knih o 3D technikách nasvícení scény "Digital lighting and rendering"(česká recenze zde: /bazar/bazar---prodavam/fotoaparaty-klasicke-a-prislusenstvi/stredni-format/digital-lighting-rendering-recense-knihy-131643cz Jeremy Birn zveřejnil na svých stránkách www.3drender.com tabulku barev světla podle teploty jeho zdroje v Kelvinech. Při nastavování barvy světla je to velmi dobrá pomůcka, která se sice nedá brát doslova, ale pomůže alespoň v začátcích zvolit ten správný barevný tón, když se např. snažíme osvětlit scénu plamenem svíčky nebo naopak slunečním svitem procházejícím okny. Pro někoho bude minimálně překvapivým faktem, že čím teplejší světelný zdroj, tím modřejší a tedy chladnější je barva jeho světla.Barevnou tabulku světla najdete zde: http://www.3drender.com/glossary/colortemp_F.htm

Tabulka je rozdělena na Indoor a Outdoor sloupce. Indoor je barva světla v interiéru, outdoor pak v exteriéru-v každém prostředí je barva lidským okem vnímána jinak. Stačí si obrázek tabulky otevřít ve Photoshopu nebo Gimpu, nástrojem Kapátko přečíst barevnou hodnotu a nastavit ji v příslušném barevném kanálu v Blenderu. Protože Blender nepoužívá standardní vyjádření barev s limitem #FF (255) pro kanál, je třeba RGB přepočítat pomocí jednoduchého vzorce hodnota v Blenderu=255/hodnota v tabulce.

Layer-tato volba také není žádná novinka a jejím zapnutím bude světlo působit jen na objekty ve stejné vrstvě, kde je i ono samo.

Negative-světlo nebude osvětlovat, ale ztmavovat objekty, na které dopadá

No Diffuse-světlo s tímto parametrem nebude působit na barevný kanál textur. Dá se tak selektivně vyrenderovat obrázek jen se specularity kanálem, což se např. používá když chcete jednotlivé složky obrázku složit až ve vašem oblíbeném bitmapovém editoru.Nebo když jednoduše chcete přisvítit nejsvětlejší místa, aniž byste zesvětlili ty ostatní (i když to se dá udělat již nastavením přímo na materiálu).

No Specular- totéž co No Diffuse, jen se pro změnu týká specularitního kanálu.

Ray Shadow- popsáno již výše, zapíná raytracované stíny

Only Shadow- světlo pouze vrhá stíny, ale scénu neosvětluje

Typy světel

Než budete pokračovat ve čtení, doporučuji pro lepší pochopení nejdříve si přečíst jeden z mých starších článků o působení světla na scénu, pokud jej tedy již neznáte. Článek: https://www.3dscena.cz/art/3dscena/bl_svetlo_III.html

Lamp

Lamp je ekvivalentem Omni nebo Omnidirectional světla v jiných aplikacích. Světlo vychází z jediného nekonečně malého bodu a používá se především jako zdroj umělého osvětlení typu žárovka, svíčka apod. Se zapnutým raytracingem vrhá stín všemi směry a jeho tvar tedy logicky závisí na umístění zdroje světla. Velikost světla ani jeho orientace nemá vliv žádný.

Spot

Jediné světlo, které v Blenderu vrhá světlo i bez raytracingu. Jedná se o podobný světelný zdroj jako je Lamp, světlo vychází z jediného bodu, ale jeho šíření je limitováno nastavitelným kuželem. Používá se k simulaci světelných zdrojů jako jsou reflektory, baterky apod., jeho využití je však daleko všestrannější, ostatně dokud blender neměl raytracing, muselo nám Spot světlo vystačit prakticky vždy, kdy jsme potřebovali vržený stín. Ani s raytracingem jeho význam příliš neklesá, protože jeho shadowbuferovaný stín je daleko rychlejší na výpočet a může vrhat i velmi jemné stíny, narozdíl od ostrých raytracovaných.

Mezi raytracovaný stínem ze spot světla a shadowbuferovaným se přepíná tlačítky Ray shadow a Buf.shadow v paletce Shadow and Spot.

Na tvar raytracovaného stínu má vliv pozice i směr světla, jeho velikost vliv nemá.

Sun

Sun nebo také direct či infinite light, jak je nazýván v některých z ostatních aplikací, se po všech stránkách chová věrně svému jménu, jeho dosvit je nekonečný a vrhá ortografické, rovnoběžné stíny. Umístění zdroje světla nemá na nic vliv, orientace však ano. Používá se k simulaci přirozeného osvětlení např. sluncem nebo měsícem.

Hemi light

Toto světlo se z hlediska raytracovaných stínů nijak neliší od Sun, rozdíl je jen v tom, jak scénu osvětluje. K čemu jej použít a jaké má vlastnosti najdete ve starších článcích o Blenderu, v tomto s ohledem na téma nemá význam.

Area light

Area light je zcela novým typem světla v Blenderu a práce s ním je v mnoha ohledech od těch ostatních dosti odlišná. Zatímco Lamp, Sun nebo Spot generují světlo z jednoho nekonečně malého bodu, odkud je v závislosti na typu směřováno jedním nebo mnoha směry , arealight simuluje světelný zdroj tak, že paprsky vychází z větší plochy, rozprostírají se v prostoru a mohou vytvářet velmi jemné stíny.V současné chvíli Blender umí jen čtvercové a obdélníkové area light, ale některé z ostatních aplikací znají i kulovité a linkové typy.

Area light je velmi citlivé na vzdálenost od objektu a jako jediné světlo má tím větší intenzitu, čím větší je jeho plocha. Jeho nastavení se tak stává poněkud komplikovanější. Oficiální zdroje uvádějí, že pro první pokusy s Area light je dobré neměnit jeho velikost, nastavit Dist parametr na 10 a takto upravené světlo by mělo rozumnou měrou osvětlovat objekt ze vzdálenosti 10 Blender jednotek (10 čtverců na síti v pozadí)

Stejně jako ostatní světelné typy, také area light má vlastní sadu unikátních nastavení. V první řadě je to slider Gamma v paletce Lamp úplně dole, kterým, jak již název napovídá, můžete ovlivnit gama korekci. Má tedy vliv jen na osvícení tímto světlem, na stín vliv nemá.

Nastavení jemného (soft) stínu najdete v paletce Shadow and spot.

Samples-počet samplů, čím více, tím jemnější stín bude, ale doba výpočtu se značně prodlouží. Maximum samplů je v současné chvíli 16. Doporučuji při experimentování používat 2-3 samply a jejich počet zvýšit až pro konečný výpočet.

Další 4 parametry působí na interakci samplů:
Umbra-oblasti v plném stínu se ještě znásobí
Clip circle- použití kruhových samplů, výsledný stín je rozmazanější
Dither-použití dither filtru na samply
Jitter- na samply je použit pseudonáhodný offset

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

Tématické zařazení:

 » 3D grafika  

Diskuse k článku

 

Vložit nový příspěvek   Sbalit příspěvky

 

Zatím nebyl uložen žádný příspěvek, buďte první.

 

 

Vložit nový příspěvek

Jméno:

Pohlaví:

,

E-mail:

Předmět:

Příspěvek:

 

Kontrola:

Do spodního pole opište z obrázku 5 znaků:

Kód pro ověření

 

 

 

 

 

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

Uživatelské jméno:

Heslo: