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
Světlo a stín v Blenderu II
stiny
26. září 2002, 00.00 | Minule jsme se bavili o základním světelném setupu, tzv. Tree point lighting. Dnes si povíme něco o SpotLight a o stínech v Blenderu.
Blender používá k výpočtu stínů tzv. Shadow maping, což je jeden z nejstarších, ale dodnes často používaný renderovací algoritmus pro výpočet stínů u většiny dnešních 3D programů. Samozřejmě jej většina z nich má implementován ještě s dalšími, zejména pak raytracingem, popřípadě jeho modernějšími formami.
Mezi mapovanými a raytraceovanými stíny je několik poměrně zásadních rozdílů a oba přístupy mají své klady i zápory. Stíny vytvořené raytracingem jsou obecně přesnější, protože napodobují chování skutečného světla (i když naopak - v reále se odráží světelné částice od objektů do našeho oka, zatímco při raytracingu se vysílají paprsky z pomyslného oka pozorovatele k objektům). Díky tomu dokáže program s raytracingem vypočítat stíny i přes objekty s průhledností (sklo, textura 2d postavy s alfa kanálem namapovaná na plán apod.), dopočítat barevnost stínů i volumetrického světla podle toho, zda např. prochází přes barevné sklo apod. Nevýhodou raytracingu jsou pak příliš ostré stíny, které zas tak realitě neodpovídají (správným nastavením se to ale dá obejít) a pak samozřejmě nesrovnatelně delší čas potřebný k výpočtu (to se již ovšem obchází daleko hůř).
Mapované stíny pracují tak, že program vytvoří bitmapu se stínem a tu pak namapuje se správnými koordináty na objekty ve scéně. Jak uvidíme dále, je tak možné se stínem do jisté míry pracovat jako s klasickou bitmapovou texturou. Obrovská výhoda této metody spočívá především v rychlosti a takto generované stíny mají hladší okraje, což více odpovídá realitě. Nevýhodou je pak samozřejmě konstantní barevnost (stíny a volumetrické světlo nepřebírají barevnost povrchu, jímž prochází) a s průhledností obecně se nepočítá.
Blender bohužel nepodporuje nic jiného, než právě mapované stíny Nicméně dovoluje s nimi pracovat s takovým komfortem, že lze většinu omezení elegantně obejít a absenci ratracingu si pak v praktickém životě většinou ani nepřipustíte. Pro ty nejnáročnější disponuje Blender ještě i radiositou, jejíž použitelnost je pro praktickou práci v této konkrétní aplikaci ovšem diskutabilní. O radiositě v Blenderu se však budeme bavit později.
Jak již víte, je SpotLight jediným světlem v Blenderu, které může vrhat stíny. Pojďme tedy jedno v Blenderu vložit a trochu se zamyslet nad jeho funkcemi.
Proberme si všechny funkce vztahující se ke stínům. V LampButtons (F4) je předně třeba zvolit typ Spot a zapnout volbu Shadows.
Hned pod volbami světelných typů je první v řadě nastavení ovlivňujících kvalitu stínů a to SpotSize. Parametr udává velikost kužele a tedy velikost "zabíraného území" tímto jedním světlem. Když stiskneme Render, stane se mimo jiné to, že Spot světlo vypočítá bitmapu se stínem a to ve výřezu určeném právě velikostí kužele.
Zkusili jste někdy ve Photoshopu nebo obdobném programu zvětšit nějaký obrázek? Jistě si vzpomente, že se tím výrazně zhorší kvalita a na okrajích je možné pozorovat efekt "pixelizace". Přesně to se stane, když v Blenderu nějak zásadněji zvětšíme kužel aniž bychom zároveň rezervovali pro stín bitmapu ve vyšším rozlišení.
Blender nabízí pod tlačítky BufSize 5 různých rozlišení pro bitmapu:512K, 768K, 1024K, 1536K a 2560K. Čím vyšší rozlišení zvolíme, tím bude stín po zvětšení světelného kužele ostřejší okraje. Zvýší se tím ovšem nároky na paměť a u některých složitějších scén a desítkami Spot světel by to na některých slabších počítačích mohlo způsobit problém. Takové scény však nejsou zas až tak obvyklé a pokud máte alespoň trochu slušný počítač, doporučuji preventivně vždy volit vyšší rozlišení shadow mapy.
Další důležitá tlačítka nalezneme hned vedle velikostí shadow mapy. Jsou to ClipSta a ClipEnd a jedná se o nastavení tzv. Falloff. Nejlépe si tuto funkci vysvětlíme na srovnání dvou obrázků.
U levého obrázku je vidět přechod z tmavšího stínu do průhlednějšího a tedy světlejšího. Abychom se tohoto, většinou nežádoucího, efektu zbavili nastavíme rozmezí ClipStart a ClipEnd tak, aby v něm byly zahrnuty všechny objekty (postava i podlaha) a přitom toto rozmezí bylo co nejmenší.
Co to ovšem ten ClipStart a ClipEnd je? Opět si představme světlo jako kameru. Pokud jste četli jeden z dílů tohoto seriálu o mlze v Blenderu, pak rozmezí ClipSta a ClipEnd je možné považovat za podobný princip. Vše, co je k lampě blíž než ClipSta je považováno za oblast absolutního světla, vše co je dál než ClipEnd je považováno za oblast absolutní tmy. V oblasti mezi tím se počítá distribuce světla a stínu.
Poslední důležitá funkce související se stíny je vyhlazení okrajů, pomocí nejž se dělají hladké stíny. Jsou to nastavení Samples a Soft a vzájemně se ovlivňují.
Samples udává počet průchodů na čteverečné ploše; jednoduše řečeno počet přechodů od úplně tmavého stínu do nejsvětlejší, resp. nejprůhlednější. Momentálně Blender umožňuje až 16 samplů pro jednu shadow mapu. Pracuje to tak, že když je Samples např. 4, spočítají se 4 shadow mapy, které se s určitým posunem dají na sebe. Se samples souvisí nastavení Soft, které určuje velikost čtvercové oblasti a tedy umožňuje jednotlivým samplům větší rozptyl. Čím vyšší hodnota Soft, tím širší budou okraje stínu.
Většina autorů tutoriálů na toto téma i mnozí další uživatelé doporučují obecně dvojnásobnou hodnotu Soft než je počet samplů. Ze zkušeností se k nim připojuji a dodávám, že až na některé specielní případy si vystačíte nejvýše s 10 samply. Vyšší hodnoty Samples již poskytují jen o něco hladší stín za cenu o dost delší výpočetní doby.
Za poměrně důležitou věc v Blendru v souvislosti se světly považuji i možnost přidat světlu až 8 kanálů s texturou, ale o tom si povíme víc až se budeme zabývat kompozicí scény z hlediska světel a stínů.
Obsah seriálu (více o seriálu):
- Blender pro úplné začátečníky
- Blender pro úplné začátečníky, díl 2.
- Modelování v Blenderu metodou extrude
- Animace v Blenderu
- Blender: Budiž světlo, část první
- Blender: Budiž světlo, část druhá
- Materiály v Blenderu- první část
- Materiály v Blenderu- druhá část
- Modelování v Blenderu pomocí křivek
- Světelný meč rytířů řádu Jedi v Blenderu
- Co jste chtěli vědět o Blenderu...
- Váza v Blenderu
- Hořící svíčka v Blenderu
- Vkládání 2D obrázků do 3D scény
- Ter2Blend - propojení Blenderu a Terragenu
- Zrcadlové odrazy v Blenderu
- Planární zrcadlení v Blenderu
- Ter2Blend krok za krokem
- Různé techniky vytváření laserových paprsků v Blenderu
- Lidská hlava v Blenderu snadno a rychle
- Materiálové možnosti Blenderu
- Materiálové možnosti Blenderu II.
- Texturové plug-iny do Blenderu
- Meč v Blenderu - 1. část
- Meč v Blenderu 2. část
- Meč v Blenderu 3. část
- Vodní hladina v Blenderu
- Booleans v Blenderu
- Novinky ze světa Blenderu
- Úvod do částicového systému Blenderu
- Oheň v Blenderu - první část
- Oheň v Blenderu - dokončení
- Fontána v Blenderu 1.část
- Fontána v Blenderu2 - wave efekt
- Déšť v Blenderu
- Volumetrické světlo v Blenderu
- Sníh v Blenderu
- Máte problémy s Python skripty pro Blender?
- 3D text v Blenderu 1. část
- 3D text v Blenderu 2. část
- Mlha v Blenderu
- Importování knihoven do Blenderu
- Člun v Blenderu
- Pár tipů pro Blender
- Tipy pro Blender - renderování
- Skákající koule v Blenderu 1.část
- Skákající koule v Blenderu 2.část
- Nástroje pro Character animation v Blenderu
- Relative vertex keys v Blenderu
- Relative Vertex Keys v Blenderu 2- animování mimiky
- Tipy pro modelování v Blenderu 1
- Tipy pro modelování v Blenderu 2
- Tipy pro modelování v Blenderu 3
- Generátor trávy a vlasů pro Blender
- Skript MakeHead pro Blender
- Sklo v Blenderu
- Kovové materiály v Blenderu 1: Zlato
- Kovové materiály v Blenderu 2: Rezavé železo
- Výroba textur pro Blender a jiné 3D aplikace
- Světlo a stín v Blenderu I
- Světlo a stín v Blenderu II
- Generátor vlasů, chlupů, trávy a větru pro Blender
- Tutoriál k plug-inu Fiber Generator
- Blender vstupuje do nové éry jako OpenSource
- Blender 2.25 Publisher
- Světlo a stín v Blenderu III:Působení světla na scénu
- Pravidla kompozice (nejen) pro 3D grafiku
- Jaké jsou možnosti exportu z Blenderu?
- První film vytvořený v Blenderu a další zajímavosti
- FunBlender - uvolnění kódu Blenderu přináší své první plody
- MakeHuman pro Blender a další zajímavosti
- Blender 2.26
- Modelujeme v Blenderu: Řemdih
- Dvě nové verze Blenderu ke stažení
- Knihy o Blenderu: Oficiální příručka
- Další krátké filmy v Blenderu ke stažení
- Blender 2.28 - konečně oficiální release
- Blender: Fiber Generator 2.0
- Blender: sequencer II.
- Blender 2.30 - revoluční verze Blenderu ke stažení
- Blender raytracing tutorial I - Světla
- Tvorba backgroundu pro adventuru v Blenderu- 1. část
- Tvorba backgroundu pro adventuru v Blenderu- 2. část
- Tvorba backgroundu pro adventuru v Blenderu- 3. část
- Otexturování hlavy v Blenderu pomocí UV mapování
- Nová verze Blenderu: 2.35(a)
Tématické zařazení:
-
23. dubna 2014
Konica Minolta přenesla výhody velkých zařízení do kompaktních modelů
-
11. května 2014
-
23. května 2014
Epson na konferenci Droidcon Berlin ukázal nové možnosti čekající na vývojáře OS Android
-
24. listopadu 2014
-
13. května 2014
Samsung NX3000: retro styl, špičkový výkon a snadná konektivita v jednom přístroji
-
30. listopadu 2014
Nový fotoaparát α7 II: první plnoformát s pětiosou optickou stabilizací obrazu na světě
-
15. prosince 2014
Konica Minolta pomůže živnostenským úřadům s digitalizací dokumentů
-
11. května 2014
-
26. listopadu 2014
Canon Junior Awards již posedmé ocení mladé fotografy v rámci Czech Press Photo
-
21. srpna 2014