ITnetwork Flashka zdarma C# týden
Akce! Pouze tento týden sleva až 80 % na kurzy C# .NET. Lze kombinovat s akcí 50 % bodů navíc na prémiový obsah!
Brno? Vypsali jsme pro vás nové termíny školení Základů programování a OOP v Brně!

Úvod do procedurálních textur v Blender

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

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 nastavte na renderování scény. Postup otevření souboru demonstruje animace níže:

Otevření blend souboru v Blender

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).

  • 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.

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.

Spectacular

Další hodnota, která nás zajímá, je Spectacular, tedy odrazivost světla.

Odrazivost IOR

Tento krok je trochu složitější, musíme nejdříve zjistit, jaký má materiál (měď) index odrazivosti. Tuto hodnotu najdeme pod zkratkou IOR pomocí vyhledávače. Měď má IOR od 1.1 až po 2.43. Hodnota IOR ovšem není rovnou Blender hodnota Spectacular. 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 Spectacular hodnota vyjde zhruba 1.757. Klikneme do řádku Spectacular 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:

Materiál mědi na modelu webkamery v Blender

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í, uvidíte sami. 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 00.1. Postup je demonstrován na následující animaci:

Normály

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,
  • Spectacular 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 oka 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). 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; Grain 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):

Vytvoření textury měděnky

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, Fac z noise texture navedeme do Color1 a Fac 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 Fac 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.

Spojení textur mědi a měděnky

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ženo 8x (4.97 MB)

 

 

Článek pro vás napsal Kureii
Avatar
Jak se ti líbí článek?
2 hlasů
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.
Předchozí článek
Jak ovládat Blender aneb Před použitím promíchat
Všechny články v sekci
Blender
Aktivity (2)

 

 

Komentáře

Avatar
hanpari
Redaktor
Avatar
hanpari:6. června 17:08

Pěkná práce

 
Odpovědět 6. června 17:08
Avatar
Kureii
Redaktor
Avatar
Odpovídá na hanpari
Kureii:6. června 17:32

Díky

 
Odpovědět 6. června 17:32
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.

Zobrazeno 2 zpráv z 2.