Úvod do procedurálních textur v Blenderu
V předchozím kvízu, Kvíz - Základy Blenderu, jsme si ověřili nabyté zkušenosti z kurzu.
Pomocí Blenderu můžeme vytvořit prakticky jakýkoliv objekt, jaký si jen zamaneme. Ale mít samotný model nám nestačí k tomu, aby objekt vypadal podle našich představ. Jak jste z nadpisu jistě poznali, dnes se budeme bavit o texturování.
Textura
Textura je obrázek, který se nanáší na objekt (mesh). Textura samotná nemá žádné fyzikální vlastnosti, jedná se pouze o digitální obrázek. Aby textura vypadala realisticky, nebo jakkoli budeme chtít, musíme na objekt aplikovat materiál, který následovně obarvíme texturou. Pokud je řeč o texturování, jsou tu dva možné přístupy:
- Vložit do programu obrázek (nebo jej namalovat)
- Definovat svou texturu pomocí matematických vzorečků
Srovnání obou přístupů texturování
Vložený obrázek (image) | Procedurální textura |
---|---|
Repetitivní | Náhodně generovaná |
Načítá se ze souborů (rychlejší výpočet) | Počítá se podle vzorce (pomalejší výpočet) |
Vždy je nutné u meshe provést UV mapping | UV mapping je volitelný |
Dlouhý proces pro úpravy | Úpravy jsou rychlé |
Vhodnější na složité tvary (např. list stromu) | Vhodnější na opakující se strukturu (např. kámen) |
Stažení modelu
O teorii bychom se mohli bavit dlouho, ale myslím že užitečnější je
učit se praxí. Stáhněte si archiv níže pod článkem
(scena_pro_texturovani.zip
). Archiv obsahuje model webkamery, na
kterém si texturování dnes budeme zkoušet. Rozbalte jej, otevřete si
Blender a v něm soubor scena_pro_texturovani.blend
.
Okno v levém dolním rohu slouží k renderovanému náhledu. V okně s 3D pohledem je vždy nahoře čtveřice tlačítek zobrazující typ náhledu. Real-time (RT) render je poslední symbol, na něj klikněte.
Na dolní polovině obrazovky vidíte v okně dva rámečky s názvy Principled BSDF a Material Output. Těmto rámečkům se říká nody (česky uzly). Tyto nody se vám vytvoří vždy, když vytvoříte nový materiál.
- Node Material Output tu reprezentuje všechny objekty, které na sobě mají stejný materiál.
- Principled BSDF je nastavení fyzikálních vlastností, které bude materiál mít. Označujeme jej jako Shader, na který se aplikuje textura.
Je dobré nejdříve umět vyrobit reálně vypadající materiál, než se pustíme do vytváření materiálů stylizovaných.
Tato scéna má již vše připravené, takže budete pouze upravovat nody v dolním okně.
Měď
Ze začátku si zkusíme vytvořit lesklý kov, například měď. Vysvětlíme si co jednotlivé vlastnosti materiálu znamenají a jak je zadáme.
Base Color
Base Color určuje barvu. Pomocí žluté
tečky se dá napojit barva na texturu. Pro jednolitý kov je však textura
zbytečná. Kliknutím na barvu se nám ukáže barevná paletka, klikneme v ní
do záložky hex a zadáme barvu #95542D
.
Metallic
Posuvník Metallic určuje, jestli je materiál
kov nebo ne. Hodnota 0
znamená, že není kovový
a 1
znamená, že kovový je.
Specular
Další hodnota, která nás zajímá, je Specular, tedy odrazivost světla.
Odrazivost IOR (Index of Refraction)
Tento krok je trochu složitější, musíme nejdříve zjistit, jaký má
materiál (měď) index odrazivosti. Tuto hodnotu najdete, když do
vyhledávače zadáte IOR list. Měď má IOR od
1.1
až po 2.43
. Hodnota IOR ovšem není
rovnou Blender hodnota Specular. IOR musíme přepočítat pomocí
vzorce:
specular=((ior−1) / (ior+1))² / 0.08*
Pro dnešní účely si zvolíme IOR 2.2
, v přepočtu na
Specular hodnota vyjde zhruba 1.757
. Klikneme do řádku
Specular a nastavíme na tento údaj.
Roughness
Toto nastavení určuje jak moc je povrch "hrubý". Jednoduše řečeno, čím je hodnota vyšší, tím méně je odražený obraz zřetelný. Tzn. pokud by byl údaj na nule, výsledná textura by byla velmi podobná zrcadlu.
Pro dnes nechme měď trochu zašlou a zvolme hodnotu 0.3
.
Nahoře v okně s nody máme uprostřed název textury. Jestli se chceme ve své
práci vyznat, doporučuji si smysluplně materiály pojmenovávat. Dílo si
uložte.
Určitě byste rádi viděli nejen náhled nebo zrnitý render. Stisknutím F12 se nám vyrenderuje obrázek v novém okně. Ještě jednou připomínám, je dobrý zvyk si práci vždy před renderem uložit. V případě, že by vám program náhodou spadl, nepřijdete o žádný postup, jako by se mohlo stát při obnově z autosave.
Výsledek by měl být takovýto:
Dobrá práce, zvládli jste první úroveň!
Texturování
Se samotným shaderem toho více nezvládneme, zde přichází na řadu texturování. Texturou můžeme ovlivnit jakoukoliv hodnotu shaderu. Vložíme tedy node noise texture pomocí:
Shift + A -> Texture -> Noise Texture
Noise texture považuji za tu nejdůležitější, jde s ní udělat spousta věcí. Tento node totiž generuje šum a to jak barevný (Color) tak černobílý (Height). Výstup Noise Texture připojte k shaderu namísto Base color.
Pro texturu je třeba přidat vektor a možnost snadné a rychlé úpravy:
Shift + A -> Vector -> Mapping
Shift + A -> Input -> Texture Coordinate
Generated v Texture Coordinate propojíme s vstupním vektorem Mappingu. Výstupní vektor Mappingu pak propojíme s vektorem Noise texture.
Normála je velmi podstatná část texturování. Určuje, jak se bude světlo od objektu odrážet, pomocí ní můžeme vytvořit iluzi prostoru na ploše. Mezi Base color a Noise texture vložíme node Bump:
Shift + A -> Vector -> Bump
Vložením přímo na linku spojovaných se nám mezi ně připne. Z
Noise texture vede momentálně linka do sekce
normal, tu přesuneme na sekci Height. Nyní
vidíme bump mapu, kterou použijeme jako normálovou. Výstup
z bump propojíme se shaderem.
Strength v bump nastavíme na hodnotu mezi
0
až 0.1
. Postup je demonstrován na následující
animaci:
Měděnka
Materiál mědi máme, dále si zkusíte nekovový materiál. Ano, měděnka, i napříč tomu, že se tvoří oxidací mědi, bude braná jako nekovový materiál. Je to z důvodu vysoké matnosti a nízké odrazivosti materiálu.
Klikneme do nodu Principled BSDF. Stisknutím Shift + D vytvoříme kopii. Tu přesuneme nad původní shader. Shader přepojíme místo předchozího, ať vidíme co upravujeme.
- Metallic kopie nastavíme na
0
, - Specular s nejnižším IOR mědi
vychází zhruba na
0.28
, - Roughness je podstatně vyšší, já zvolil hodnotu
0.8
.
Přidejíme node Musgrave Texture. Pomocí klávesy Shift a držením pravého tlačítka myši vytvoříme bod na spojnici mezi mappingem a noise texture (pozn. bylo by možné to napojit přímo, ale toto je dobrý nástroj pro přehlednost). Vytvořeným bodem lze po označení pohybovat pouze po stisknutí klávesy G. Nově vytvořený bod propojíme vektorem Musgrave texture. Tuto texturu propojíme se shaderem pro měděnku s Base color. Musgrave texture nastavíme tyto hodnoty: Scale: 50; Detail: 16; Dimension: 0; Lacunarity: 1,4; Offset: 0,8; Gain 1,7. Mezi spojení textury a shaderu vložíme ColorRamp pomocí:
Shift + A -> Convert -> ColorRamp
Měděnka je zeleno-modrá, černou změníme na nějakou takovou barvu. Bílou změníme na tmavší barvu, než je původní měď. Mezi tento přechod vložíme více variant použité zelenomodré barvy (menší/větší saturace a světlost):
Další krok by běžně byla samozřejmě další normála, tentokrát akorát výraznější a drobnější textury, tak jako úprava barev samotné mědi. Tehdy byste pomocí textury a jemného přechodu udělali kov reálnější. Stejný systém by šel aplikovat na hodnotu roughness. Ale popisovat zde úplně každý krok by bylo repetitivní a zbytečné, ostatně to si můžete dokončit s vědomostmi, co získáte v tomto článku. A zároveň dokončit si úlohu samostatně doporučuji, tak jako si různě pohrát s hodnotami, tím se člověk naučí nejvíce. Další a zároveň poslední krok tohoto návodu bude odpovídající spojení vytvořených shaderů.
Spojení měděnky s mědí
Vložíme si Noise Texturu s parametry Scale: 13,8; Detail: 16; Distortion: 0. Tu propojíme s již vytvořeným Mappingem. Dále vložíme Musgrave Texture s parametry Scale: 15,5; Detail: 13,8; Dimension: 0; Lacunarity: 0,5; Offset 7,4; Gain: 31,8. Taktéž propojíme s Mappingem. Vložíme node MixRGB:
Shift + A -> Color -> MixRGB
Spojíme s ním textury, Height z noise texture navedeme do Color1 a Height z Musgrave Texture navedeme na Color2. Klikneme na rozkládací lištičku a zvolíme Lighten. Vložíme ColorRamp. Bílý posuvník posuneme zhruba do středu. Možnost Linear změníme na Constant. Mezi shader a Material Output vložíme Mix Shader.:
Shift + A -> shader -> Mix Shader
Na Height tohoto Shaderu připojíme právě vytvořenou texturu. Měděnka musí vést do horního shaderu v Mix Shaderu a samotná měď v tom dolním druhém, výstup připneme do Material Output na Surface.
Pokud si s tím pohrajete, můžete dosáhnout takovéhoto (nebo podobného) výsledku:
Závěr
Cvik dělá mistra, proto zkoušejte a zkoušejte, co vám čas a představivost dovolí. Těším se u dalšího dílu, kde se podíváme na nekovovou texturu dopodrobna. Možná vyjde prostor i na textury látek.
Stáhnout
Stažením následujícího souboru souhlasíš s licenčními podmínkamiStaženo 730x (4.97 MB)