První novoroční výprodej První novoroční výprodej

Lekce 7 - Úvod k materiálům v Blenderu

Unicorn College Tento obsah je dostupný zdarma v rámci projektu IT lidem.
Vydávání, hosting a aktualizace umožňují jeho sponzoři.

V minulé lekci, Projekt Oblast 51 - Chladící věž v Blenderu, jsme si vymodelovali jednu chladící věž mimozemské základny a dnes se podíváme na materiály a na to, jak vytvořit alespoň v základu nějaký realisticky vypadající povrch modelu.

Render engine

Ačkoliv můžete vymyslet sebedokonalejší texturu, je celá snaha marná, pokud nemáte dobré nástroje, jak ji vykreslit. Blender má v dnešní době dva základní vestavěné renderovací stroje:

  • Cycles: pomalejší a vyžaduje velké množství výpočetních zdrojů. Přes to všechno má však překvapivě výborné výsledky
  • Eevee: poměrně rychlé a nenáročné, ale výsledek tomu odpovídá.

V předchozích lekcích bylo řečeno, že Eevee je trochu nepřesné. Na obrázku dole jsou dva totožné objekty s naprosto stejnými materiály (zlato, rubín). Zde si těch nepřesností již můžete všimnout.

Porovnání render enginů

Co z toho plyne? Pokud budeme chtít nějaký náhled animace, která má mnoho snímků a zajímá nás, zda v ní nejsou animační chyby a nedostatky nebo zda je dobrá kamera - použijeme Eevee. Když chceme náhled jednoho snímku a ověřit si, jestli máme dobrý materiál nebo osvětlení - rozhodně sáhneme pro Cycles.

Produkční render? No to snad ani nemusím dál říkat.

Ještě bych se zmínil, že k Blenderu lze připojit několik vykreslovacích nástrojů třetích stran, jako je třeba POVRay nebo YaFaRay..., ten druhý stojí za vyzkoušení, třeba pro architekturu je více než dobrý. Ovšem každý z těchto enginů má i jiné postupy tvorby materiálů. My se budeme věnovat výhradně těm vestavěným.

Skupiny shaderů

Cycles používá tzv. Shadery, což jsou objekty nebo funkce, jež modifikují materiál. Ty pak můžeme slučovat do skupin a používat je jako nový objekt - shader. Jinak se nástroje na tvorbu textur nazývají Nodes - uzly. Protože budeme používat materiály dosti realistické a vytvořit je není pro začátek zrovna snadné, tak jsem si pro vás připravil několik černých skříněk. Vlastně nových "uzlů" do Blenderu. V pozdějších lekcích se do nich podíváme a nebo to možná bude na celý samostatný kurz. Nyní to prostě budeme brát tak, že existují a můžeme je používat.

Okno shader editoru

Abych vás vyděsil hned v úvodu, tak se podívejme na okno "Shader Editoru" a to, jak vypadá jeho UI. Obrázek si kliknutím můžete zobrazit v plné velikosti.

Shader editor

Začneme shora a od levé strany.

  • Úplně nahoře je volba z nabídky, jak se k tomuto oknu dostat.
  • Panel souborů vám umožní dostat se k obrázkovým texturám. Ty zatím moc používat nebudeme.
  • Hned pod ním je panel pohledů nebo kreslení UV textur atd.
  • Uprostřed nahoře najdete 3D pohled, který již po spuštění Blenderu dobře znáte.
  • Pod ním je panel uzlů a v něm již dva uzly (ty jsou tam automaticky pro jakýkoliv nový materiál). Ten nás bude zajímat nejvíce.
  • O něco více vlevo jsou dvě volby:
    • Horní tvoří materiál pro celý "svět", tedy pozadí výsledného renderu.
    • Spodní volba obsahuje materiál pro modely.
  • Nahoře vpravo je seznam objektů. Tam je můžeme i vybírat a upravovat jejich textury.
  • Dole najdeme roletkový panel materiálu, kde můžeme mimo jiné modifikovat parametry (ale přímo v uzlech je to pohodlnější). Též tam můžeme materiál vytvářet. Zajímavé je, že tam najdeme i uzly, které bychom marně hledali pomocí zkratky Shift + a v panelu uzlů. To mne dosti překvapilo, když jsem pro vás předvytvářel nové "nody".

Základní shadery

Nyní si představíme protivníky s nimiž budeme zápasit a pevně věřím, že nejen, že budou poraženi, ale že vám ve finále budou i zcela k smíchu a nebo ještě lépe, že se stanou vašimi nejlepšími přáteli.

Základní uzly jsou vlastně Bidirectional Scattering Distribution Function, zkráceně BSDF. Jestli vám to přijde jako hrůzný název, tak vězte, že v překladu je to Funkce Obousměrného Rozptylu, prostě to berte jako "fór" :-D

Diffuse BSDF

Naši partneři možná hledají právě tebe!

Tohle je nejpoužívanější "shader", který určuje barvu povrchu. Jak by řekl fyzik: pravděpodobnost, že se světlo odráží nebo přenáší pro každou vlnovou délku.

Má několik parametrů:

  • Barvu samotnou
  • Drsnost povrchu - Roughness
  • Normálu - což by mohlo představovat povrchové stíny.

Normála

Dovolím si malou fyzikální odbočku a trochu naznačím, co to ta normála je. Definice hovoří, že je to jednotkový vektor jdoucí kolmo od povrchu. Což u drsného povrchu může být trochu problém určit, ale matematika na to má vhodné nástroje, jako je třeba diferenciální počet a různé parciální derivace.

Naštěstí tohle bude Blender dělat za nás. To se mi ulevilo :-).

Glass BSDF

Tento shader umožňuje vytvářet průhledné materiály o různých vlastnostech. Zde je opět barva, drsnost a něco lze namapovat do normál. Navíc zde přibyl lom světla (IOR = index lomu světla). To je důležitá vlastnost pro vytváření třeba vody, drahých kamenů, sklenic apod.

Pro zajímavost a i pozdější užití je zde malá tabulka indexu lomu některých materiálů:

Materiál IOR
vakuum 1
vzduch (normální tlak) 1,00026
led 1,31
voda 1,33
etanol 1,36
glycerol 1,473
sklo 1,5 -- 1,9
sůl 1,52
safír a tedy i onen rubín 1,77
diamant 2,42

Glossy BSDF

Tato funkce určuje odrazivost povrchu. Výborně se hodí pro zrcadla, kovové materiály, lakované povrchy a tak vůbec pro vše lesklé.

Základní parametry jsou totožné jako výše uvedené. Ovšem má několik dalších vlastností, jakými může odraz světla probíhat. Avšak o tom až v reálné praxi.

Refraction BSDF

Tohle by se dalo zařadit k předchozímu shaderu, ale na rozdíl od něj je určen nikoliv pro materiály, které jsou zcela neprůhledné, ale spíše pro takové, co mají částečnou průhlednost. Třeba již výše jmenovaný lakovaný povrch, nebo dřevěný stůl se skleněnou deskou a jiné podobné objekty mající ostré rozhraní.

Fyzikálně je to vlastně lom vlny. Když máte dvě prostředí s různou hustotou, tak vlna na jejich rozhraní mění směr. No nedivte se, vlastně pracujete s optikou a tam se znalost fyziky dost hodí aspoň pro pochopení principů, proč se mi to děje právě takto a ne jinak. Opět je za tím šílená matika, ale diferenciálům se vyhneme, jen goniometrie.

Pokud budeme chtít dosáhnout opravdu dokonalých výsledků, s radostí po této funkci sáhněme.

Specular

Zde bude popis trochu složitější, ale zkusím to. Je to jistá míra zrcadlového odrazu, která je závislá na indexu lomu světla. Určuje čelní (podél normál) odrazivost v nejběžnějším rozmezí 0 - 8 %.

Je na to i Freshnelova rovnice, která říká přesnou závislost na lomu ((lom-1)/(lom+))^2 / 0.08), z čehož plyne, že třeba diamant s lomem 2.4 má tuto odrazivost asi 2.15 (jsou to bezrozměrné veličiny).

Anisotropic BSDF

Velmi zajímavá funkce, která přidává odrazivost přímo do drsnosti materiálu a která je založena na UV mapování (zase sprosté slovo). Prostě vytváří zajímavé odlesky, třeba jako na nahraném CD, i když tam jde spíše o refrakci a dá se použít jako spektroskop domácí výroby.

Obrázek snad napoví více.

Navíc mi něco říká, že tuhle funkci v nejbližší době použijeme - a tak si ji tam následně rozebereme více do detailů.

Emission

Tenhle shader zajišťuje, že objekt svítí sám o sobě. Budeme jej využívat na různé světelné zdroje - blesky, písmena a na monitory obrazovky. Prostě na vše, co svítí a není to hlavní zdroj světla jako je reflektor, lampa, slunce atd.

Subsurface Scattering

Výborná věc, která se nazývá podpovrchový rozptyl. Co to znamená? Vzali jste si někdy silnější zdroj světla a prosvítili si jím ruku?

Zjistili jste, že po okrajích kůže se světlo zajímavě rozptyluje a vytváří až magické efekty. Právě k tomu je tento shader určený.

To by mohlo k těm základům zatím stačit, ale musíme si také říct, že existuji procedurální textury. Ty jsou parametrizované a jsou namapovány do základních shaderů - a to jak do jejich barev, tak i normál, čímž mohou deformovat povrch.

Dále existují různé filtry a vektorové šílenosti, gradientní mapy a spousta další zajímavých věciček, které, když se naučíte používat, budete nadšeni z výsledků, k nimž se dostanete. Většinu z těchto vymožeností si představíme za pochodu, ale šetřete síly, protože je to pochod přes Saharu - hodně dlouhá trať - do cíle se však dostaneme a věřím, že beze ztrát.

Použité: většina použitých obrázků pochází z referenční dokumentace blenderu.

Příště, Tvorba materiálů v Blenderu a praxi, se vrhneme do skutečné materiálové praxe.


 

 

Článek pro vás napsal Virlupus
Avatar
Jak se ti líbí článek?
Ještě nikdo nehodnotil, buď první!
Autor se věnuje webovým aplikacím a skladově-účetnímu softwaru. Snaží se uvést zpět PC-Fand v Javě i Pythonu. Lexiální analýze a parserování. Studuje fyziku na MFF UK. Učil IT na střední škole.
Předchozí článek
Projekt Oblast 51 - Chladící věž v Blenderu
Všechny články v sekci
Blender
Miniatura
Následující článek
Tvorba materiálů v Blenderu a praxi
Aktivity (6)

 

 

Komentáře

Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zatím nikdo nevložil komentář - buď první!