Úvod do procedurálnych textúr v Blender
Pomocou Blenderu môžeme vytvoriť prakticky akýkoľvek objekt, aký si len zmyslí. Ale mať samotný model nám nestačí na to, aby objekt vyzeral podľa našich predstáv. Ako ste z nadpisu iste spoznali, dnes sa budeme baviť o textúrovanie.
Textúra
Textúra je obrázok, ktorý sa nanáša na objekt (mesh). Textúra samotná nemá žiadne fyzikálne vlastnosti, jedná sa iba o digitálnej obrázok. Aby textúra vyzerala realisticky, alebo akokoľvek budeme chcieť, musíme na objekt aplikovať materiál, ktorý nasledovne zafarbíme textúrou. Ak je reč o textúrovanie, sú tu dva možné prístupy:
- Vložiť do programu obrázok (alebo ho namaľovať)
- Definovať svoju textúru pomocou matematických vzorčekov
Porovnanie oboch prístupov textúrovanie
Vložený obrázok (image) | procedurálne textúra |
---|---|
repetitívne | náhodne generovaná |
Načítavanie zo súborov (rýchlejší výpočet) | Počíta sa podľa vzorca (pomalší výpočet) |
Vždy je nutné u meshe vykonať UV mapping | UV mapping je voliteľný |
Dlhý proces pre úpravy | Úpravy sú rýchle |
Vhodnejšie na zložité tvary (napr. List stromu) | Vhodnejšie na opakujúce sa štruktúru (napr. Kameň) |
O teórii by sme sa mohli baviť dlho, ale myslím že užitočnejšie je
učiť sa praxou. Stiahnite si archív nižšie pod článkom
(scena_pro_texturovani.zip
). Archív obsahuje model webkamery, na
ktorom si textúrovanie dnes budeme skúšať. Rozbaľte ho, otvorte si Blender
a v ňom súbor scena_pro_texturovani.blend
.
Okno v ľavom dolnom rohu slúži k renderovanému náhľadu. V okne s 3D pohľadom je vždy hore štvorica tlačidiel zobrazujúci typ náhľadu. Real-time (RT) render je posledný symbol, naň kliknite.
Na dolnej polovici obrazovky vidíte v okne dva rámčeky s názvami Principled BSDF a Material Output. Týmto rámečkům.Do sa hovorí nódy (slovensky uzly). Tieto nódy sa vám vytvorí vždy, keď vytvoríte nový materiál.
- Node Material Output tú reprezentuje všetky objekty, ktoré na sebe majú rovnaký materiál.
- Principled BSDF je nastavenie fyzikálnych vlastností, ktoré bude materiál mať. Označujeme ho ako Shader, na ktorý sa aplikuje textúra.
Je dobré najprv vedieť vyrobiť reálne vyzerajúce materiál, než sa pustíme do vytvárania materiálov štylizovaných.
Táto scéna má už všetko pripravené, takže budete len upravovať nódy v dolnom okne.
Meď
Zo začiatku si skúsime vytvoriť lesklý kov, napríklad meď. Vysvetlíme si čo jednotlivé vlastnosti materiálu znamenajú a ako ich zadáme.
Base Color
Base Color určuje farbu. Pomocou žlté
bodky sa dá napojiť farba na textúru. Pre jednoliaty kov je však textúra
zbytočná. Kliknutím na farbu sa nám ukáže farebná paletka, klikneme v nej
do záložky hex a zadáme farbu #95542D
.
Metallic
Posuvník Metallic určuje, či je materiál
kov alebo nie. Hodnota 0
znamená, že nie je
kovový a 1
znamená, že kovový je.
Spectacular
Ďalšia hodnota, ktorá nás zaujíma, je Spectacular, teda odrazivosť svetla.
Odrazivosť IOR (Index of refraction)
Tento krok je trochu zložitejšie, musíme najskôr zistiť, aký má
materiál (meď) index odrazivosti. Túto hodnotu nájdete, keď do
vyhľadávača zadáte IOR list. Meď má IOR od
1.1
až po 2.43
. Hodnota IOR však nie je
rovno Blender hodnota Spectacular. IOR musíme prepočítať pomocou
vzorca:
specular=((ior−1) / (ior+1))² / 0.08*
Pre dnešný účely si zvolíme IOR 2.2
, v prepočte na
Spectacular hodnota vyjde zhruba 1.757
. Klikneme do riadku
Spectacular a nastavíme na tento údaj.
Roughness
Toto nastavenie určuje ako veľmi je povrch "hrubý". Jednoducho povedané, čím je hodnota vyššia, tým menej je odrazený obraz zreteľný. Tzn. ak by bol údaj na nule, výsledná textúra by bola veľmi podobná zrkadlu.
Pre dnes nechajme meď trochu zašlú a zvoľme hodnotu 0.3
.
Hore v okne s nódy máme uprostred názov textúry. Ak sa chceme vo svojej
práci vyznať, odporúčam si zmysluplne materiály pomenovávať. Dielo si
uložte.
Určite by ste radi videli nielen náhľad alebo zrnitý render. Stlačením F12 sa nám vyrenderuje obrázok v novom okne. Ešte raz pripomínam, je dobrý zvyk si prácu vždy pred Render uložiť. V prípade, že by vám program náhodou spadol, neprídete o žiadny postup, ako by sa mohlo stať pri obnove z autosave.
Výsledok by mal byť takýto:
Dobrá práca, zvládli ste prvý úroveň!
Textúrovanie
So samotným shader toho viac nezvládneme, tu prichádza na rad textúrovanie. Textúrou môžeme ovplyvniť akúkoľvek hodnotu shader. Vložíme teda node noise texture pomocou:
Shift + A -> Texture -> Noise Texture
Noise texture považujem za tú najdôležitejšie, ide s ňou urobiť veľa vecí. Tento node totiž generuje šum a to ako farebný (Color) tak čiernobiely (Fac). Výstup Noise Texture pripojte k shader namiesto Base color.
Pre textúru je potrebné pridať vektor a možnosť jednoduchej a rýchlej úpravy:
Shift + A -> Vector -> Mapping
Shift + A -> Input -> Texture Coordinate
Generated v Texture Coordinate prepojíme s vstupným vektorom mapping. Výstupné vektor mapping potom prepojíme s vektorom Noise texture.
Normal je veľmi podstatná časť textúrovanie. Určuje, ako sa bude svetlo od objektu odrážať, pomocou nej môžeme vytvoriť ilúziu priestoru na ploche. Medzi Base color a Noise texture vložíme node Bump:
Shift + A -> Vector -> Bump
Vložením priamo na linku spájaných sa nám medzi ne pripne. Z
Noise texture vedie momentálne linka do sekcie
normal, tú presunieme na sekciu Height. Teraz
vidíme bump mapu, ktorú použijeme ako normálovú. Výstup z
bump prepojíme sa shaderov.
Strength v bump nastavíme na hodnotu medzi
0
až 0.1
. Postup je demonštrovaný na nasledujúce
animáciu:
Medenky
Materiál medi máme, ďalej si skúsite nekovový materiál. Áno, medenky, aj napriek tomu, že sa tvorí oxidáciou medi, bude braná ako nekovový materiál. Je to z dôvodu vysokej matnosti a nízke odrazivosti materiálu.
Klikneme do node Principled BSDF. Stlačením Shift + D vytvoríme kópiu. Tú presunieme nad pôvodnú shader. Shader prepojím miesto predchádzajúceho, nech vidíme čo upravujeme.
- Metallic kópie nastavíme na
0
, - Spectacular s najnižším IOR medi
vychádza zhruba na
0.28
, - Roughness je podstatne vyššia, ja zvolil hodnotu
0.8
.
Přidejíme node Musgrave Texture. Pomocou klávesy Shift a držaním pravého tlačidla myši vytvoríme bod na spojnici medzi mapping a noise texture (pozn. Bolo by možné to napojiť priamo, ale toto je dobrý nástroj pre prehľadnosť). Vytvoreným bodom možno po označení pohybovať iba po stlačení klávesy B. Novovytvorený bod prepojíme vektorom Musgrave texture. Túto textúru prepojíme sa Shader pre medenku s Base color. Musgrave texture nastavíme tieto hodnoty: Scale: 50; Detail: 16; Dimension: 0; Lacunarity: 1,4; Offset: 0,8; Grain 1,7. Medzi spojenie textúry a shader vložíme ColorRamp pomocou:
Shift + A -> Convert -> ColorRamp
Medenky je zeleno-modrá, čiernu zmeníme na nejakú takú farbu. Bielu zmeníme na tmavšiu farbu, než je pôvodný meď. Medzi tento prechod vložíme viac variantov použité zelenomodrej farby (menšie / väčšie saturácie a svetlosť):
Ďalší krok by bežne bola samozrejme ďalšie normála, tentoraz akurát výraznejšie a drobnejšie textúry, tak ako úprava farieb samotné medi. Vtedy by ste pomocou textúry a jemného prechodu urobili kov reálnejšie. Rovnaký systém by išiel aplikovať na hodnotu Roughness. Ale popisovať tu úplne každý krok by bolo repetitívne a zbytočné, ostatne to si môžete dokončiť s vedomosťami, čo získate v tomto článku. A zároveň dokončiť si úlohu samostatne odporúčam, tak ako si rôzne pohrať s hodnotami, tým sa človek naučí najviac. Ďalšie a zároveň posledný krok tohto návodu bude zodpovedajúce spojenie vytvorených shaderov.
Spojenie medenky s meďou
Vložíme si Noise Textúru s parametrami Scale: 13,8; Detail: 16; Distortion: 0. Tú prepojíme s už vytvoreným mapping. Ďalej vložíme Musgrave Texture s parametrami Scale: 15,5; Detail: 13,8; Dimension: 0; Lacunarity: 0,5; Offset 7,4; Gain: 31,8. Taktiež prepojíme s mapping. Vložíme node MixRGB:
Shift + A -> Color -> MixRGB
Spojíme s ním textúry, Fac z noise texture prekryjeme do color1 a Fac z Musgrave Texture prekryjeme cez Color2. Klikneme na rozkladacie lištičky a zvolíme Lighten. Vložíme ColorRamp. Biely posuvník posunieme zhruba do stredu. Možnosť Linear zmeníme na Constant. Medzi shader a Material Output vložíme Mix Shader.:
Shift + A -> shader -> Mix Shader
Na Fac tohto Shader pripojíme práve vytvorenú textúru. Medenky musí viesť do horného shader v Mix shaderov a samotná meď v tom dolnom druhom, výstup pripneme do Material Output na Surface.
Ak si s tým pohráte, môžete dosiahnuť takéhoto (alebo podobného) výsledku:
Záver
Cvik robí majstra, preto skúšajte a skúšajte, čo vám čas a predstavivosť dovolí. Teším sa u ďalšieho dielu, kde sa pozrieme na nekovovou textúru dopodrobna. Možno vyjde priestor aj na textúry látok.
Stiahnuť
Stiahnutím nasledujúceho súboru súhlasíš s licenčnými podmienkamiStiahnuté 742x (4.97 MB)