IT rekvalifikace s garancí práce. Seniorní programátoři vydělávají až 160 000 Kč/měsíc a rekvalifikace je prvním krokem. Zjisti, jak na to!
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

Ú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ň)
Stiahnutí modelu

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.

Otvorenie blend súboru v Blender - Blender

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.

Pohľady – RT - Blender

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:

Materiál medi na modeli webkamery v Blender - Blender

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. spájanie nodov - Blender

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 00.1. Postup je demonštrovaný na nasledujúce animáciu:

normály - Blender

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ť):

ColorRamp – medenky - Blender

Ď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:

Ffinální možnosť - Blender

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 podmienkami

Stiahnuté 673x (4.97 MB)

 

Predchádzajúci článok
Tvorba materiálov v Blenderu a praxi
Všetky články v sekcii
Blender
Článok pre vás napísal Kureii
Avatar
Užívateľské hodnotenie:
Ešte nikto nehodnotil, buď prvý!
Autor se ve velké míře věnuje Blenderu a jiným 3D softwarům. Okrajově se věnuje programování. Studuje uměleckou školu, snaží se tedy vše propojovat se získávaným citem pro estetiku.
Aktivity