Difuzní - Bump - Normálová - Spekulární - Alpha - Ambientní okluze - Emisivní - Srst
V předchozím tutoriálu jsme se zaměřili pouze na základní složky materiálu, které mají stejnou hodnotu pro celý povrch tělesa. Daleko lepších vizuálních výsledků ovšem dosáhneme, když pro jednotlivé složky materiálů použijeme textury, které si představíme nyní. S pomocí textur je možné vytvořit jemné detaily, které udělají modely mnohem přesvědčivější.

Při nastavení základních složek materiálu (ambientní, difuzní, spekulární, emisivní,...) a současném použití textur se jejich účinek kombinuje. Přesněji řečeno hodnoty textur jsou modulovány základními složkami. Tedy pokud například nastavíme materiálu difuzní texturu a zároveň nastavíme základní difuzní složku na červenou barvu, bude celá textura tónavaná do červena. Chceme-li v materiálu zachovat pouze hodnoty z textur, musí jejich nadřazené základní složky být nastaveny na základní hodnoty (tzn. barva: bílá, opacita: 100% atd.).
V programu je možné textury do materiálu přidat buď jednoduše načtením z obrázku na disku nebo texturu vygenerovat. Generování urychlí a usnadní tvorbu textur, ale chcete-li vystihnout některé důležité detaily, může být nutné je dále upravit v některém z editorů pro práci s 2D grafikou.
Všechny typy textur mají ve svém dialogovém okně několik tlačítek se stejným významem. Jsou to: Odpojit - pro odpojení načtené textury od daného materiálu; Otevřít... - pro načtení textury z disku; Generuj - pro vygenerování textury podle zadaných parametrů (pouze do paměti) a Uložit... - pro uložení vygenerované textury z paměti do souboru na disk. Textury se také generují do náhledu ihned po změně kteréhokoli parametru. Pro použití v materiálu je nutné je po generování vždy uložit na disk.
V následujícím popisu se budeme zabývat především automatickým generováním textur.
Tip: Textury různých efektů přiřazené jednomu materiálu mají stejné UV mapování. To znamená, že motivy jednotlivých textur musí mít stejné proporce a stejné rozmístění.
Nejzákladnější a nejviditelnější ze všech je Difuzní textura. Tato textura obsahuje barevný motiv, který se má nanést na povrch tělesa. Její dialogové okno se otevře v okně materiálů stiskem tlačítka Difuzní.
Toto okno obsahuje zároveň nejvíce parametrů pro generování zejména šumových textur. Parametry Šířka a Výška samozřejmě udávají rozměry výsledné textury. Frekv. (frekvence) udává, jak jemný šum se v textuře použije - vyšší frekvence znamená jemnější šum. Offset posouvá vygenerovaný šum v textuře podél jejích os X a Y. Nakonec podle hodnot Bezešvý okraj se odebere kopie pásu odpovídající šířky z okraje textury, který se použije na vytvoření bezešvé textury, tedy takové, která při svém opakovaném zobrazení vedle sebe nemá jasně viditelné okraje.
Následující sekce Šum se stará o vyplnění textury pseudonáhodným obsahem od 0.0 do 1.0 pro každý pixel. Nejdříve je nutno zvolit jeden z typů šumu: Perlinův - spojitý, jemný; Interpolovaný - spojitý, méně jemný; Interpolovaný absolutní - interpolovaný s ostrými přechody v nízkých hodnotách; Interpolovaný absolutní inverzní - interpolovaný s ostrými přechody ve vysokých hodnotách. Offset Z udává umělé zvýšení/snížení generovaných hodnot podobně jako jas obrazu, Amplituda udává měřítko generovaných hodnot podobně jako kontrast obrazu. Parametry Perzistence a Iterace se starají o jemnost detailů v textuře a nakonec pomocí Výchozí a Konečné barvy získá škála generovaných hodnot barevný tón. Od nejnižších hodnot (Výchozí barva) po nejvyšší hodnoty (Konečná barva).
Kdybychom měli texturu vyplněnou pouze šumem, byly by naše možnosti značně ochuzené. Pro další úpravu slouží následující sekce Prahy. Ta, jak název napovídá, umožňuje obraz textury deformovat prahováním barev s několika možnostmi nastavení. Předně je nutno zvolit typ prahů, ke kterým se následně váží další parametry. Žádné - prahování se nepoužije; Rovnoměrné - barevná škála textury se rozdělí do stejných intervalů, ve kterých se barvy sjednotí na jeden odstín; Geometricky nahoru - hustota prahů roste směrem ke světlejším barvám, první práh je v hodnotě Začátek; Geometricky dolů - hustota prahů roste směrem k tmavším barvám, první práh je v hodnotě Začátek; Jeden - barvy obrazu se rozdělí podle jediného prahu, jeho výška je dána parametrem Začátek.
Po volbě typu prahů jsou zde ještě doplňující parametry. Počet - udává počet prahů. Začátek šumem - při zapnutí způsobí, že šumové hodnoty nižší (prahy Geom. nahoru) nebo vyšší (prahy Geom. dolů) než hodnota Začátek zůstanou plně barevné bez prahování. Zapnout obrysy - vykreslí obrysy prahů, které je možné dále ovládat parametrem Šířka a obarvovat je v intervalu od Výchozí barva obrysů do Konečná barva obrysů.
S výše popsanými nástroji lze vhodným kombinováním generovat různé šumové textury jako například vojenská kamufláž, dřevo, mramor, apod.




Bump textura, někdy označovaná jako displacement textura, je základní mapa, která obsahuje informaci o výškových/hloubkových rozdílech na povrchu tělesa. Její účel závisí na dalších okolnostech. Buď se použije pro virtuální nebo skutečný displacement mapping - tj. efekty měnící výšku povrchu tělesa v každém bodě (např. Parallax mapping) a nebo se tato textura použije pro generování Normálové textury (viz níže).

Dialogové okno Bump textury otevřeme tlačítkem Bump. Tato textura se generuje z Difuzní textury, a proto musí být difuzní nastavena nejdříve. V případě, že je zaškrtnuto políčko Rozlišení difuzní textury, bude mít vygenerovaná Bump textura stejné rozměry jako její difuzní předloha. V opačném případě se aktivují parametry Šířka a Výška, které bude možné přenastavit. Parametry Jas a Kontrast se starají o stejnojmenné vlastnosti obrazu textury. V principu generování Bump textury se úprava jasu a kontrastu několikrát opakuje, aby se zvýraznily nerovnosti mapovaného povrchu. Proto je zde třetí parametr Iterace, kterým lze počet opakování ovládat a nakonec bude-li to třeba je možné posledním parametrem - zaškrtávacím políčkem Inverze výslednou texturu převést na negativ.
Tip 1: Bump textura je výchozí pro generování některých dalších textur a s Difuzní texturou nemusí vždy obsahovat tytéž detaily. To se liší případ od případu, takže pro lepší výsledky při pozdější práci je vhodnější Bump texturu připravit nebo po generování doladit ručně. Například kdybychom modelovali nějaký jednobarevný předmět s drobnými povrchovými nerovnostmi, jeho Bump textura by mohla obsahovat tyto nerovnosti zatímco Difuzní textura by zůstávala nedotčena.
Tip 2: Výše zmíněný efekt Parallax mapping je efekt zdánlivě měnící výšku povrchu tělesa podle obsahu Bump textury. V programu CaZaBa se tento efekt nastavuje v sekci Parallax mapping v okně Nastavení renderu
F10. Parametr Měřítko je poměrná hodnota, jak výrazně se má změna výšky povrchu projevit. Parametry Počet vzorků min. a Počet vzorků max. určují interval počtu testování každého pixelu uvnitř algoritmu. Pozor: Jakmile je do materiálu přiřazena Bump textura, tak program CaZaBa renderuje efekt Parallax mapping automaticky. Pokud se Bump textura odpojí, Parallax mapping se pro daný materiál neprovede.

Normálová textura se používá během výpočtu přímého osvětlení pro mapování drobných nerovností povrchu o velikosti řádově v milimetrech. Místo údajů o rozdílné výšce obsahuje v každém pixelu normálový vektor pro každý bod mapovaného povrchu. Algoritmus generování tuto informaci vypočítá z hodnot Bump textury, která tedy musí být do materiálu nastavena dříve. Okno pro Normálovou texturu otevřeme stiskem tlačítka Normal. Generování Normálové textury je velmi snadné, pouze se zvolí hodnota parametru Váha. Implicitně je nastavena na 1.000, ale v praxi se dá použít hodnota okolo 0.100, záleží na celkovém měřítku scény a požadované zřetelnosti detailů. Ještě jsou zde k dispozici dva parametry - zaškrtávací políčka Invertovat osu X(Y), která podle potřeby převrací znaménka vypočtených normálových vektorů. Normálová textura totiž někdy může být mylně automaticky vygenerována tak, že při následném renderu se výstupky jeví jako prohlubně a naopak. Záleží na obsahu Bump textury. S parametry pro změnu znaménka je však možné tuto chybu kompenzovat.
Normálová textura pouze moduluje jakým způsobem se bude odrážet světlo od povrchu. Naopak Bump textura mapuje výškové rozdíly na povrchu. To znamená, že pokud chceme na tělesech zobrazovat pouze velmi malé detaily, postačí, když materiál bude obsahovat Normálovou texturu. Kdybychom chtěli zároveň zobrazovat i skutečně zřetelné hrboly a prohlubně, musí materiál mít přiřazenu i Bump texturu, která se o ně postará. Pro správnou funkci tedy není nutné mít nastaveny oba typy textur (Bump i Normálovou), záleží pouze na záměru uživatele.
Spekulární textura, tedy textura odlesků. Nastavením globálních složek materiálu Spekulární (barva) a Spekulární exponent zařídíme, že celé těleso se během osvětlení bude lesknout stejným stylem. V reálném světě je však mnoho případů, kdy se různé části tělesa lesknou jinak silně, jinou barvou a nebo se naopak některé části nelesknou vůbec. Například dlažba na podlaze chodby může působit hladce a čistě, ale teprve při pohledu ve směru zrcadlového - spekulárního odlesku se na podlaze odhalí stopy od bot a podobně.

Okno pro Spekulární texturu otevřeme stiskem tlačítka Specular. Spekulární textura se generuje z Difuzní textury, proto musí být difuzní nastavena předem. Přepínač Rozlišení difuzní textury stejně jako u Bump textury opět určuje zda se mají při generování převzít rozměry z difuzní předlohy - je-li zaškrtnuto. Jinak se rozměry Spekulární textury nastaví skrze parametry Šířka a Výška. Jak stálo výše, odlesk se řídí dvěma hodnotami - Spekulární složkou a Spekulárním exponentem materiálu. Ve Spekulární textuře je Spekulární složka uložena v RGB vrstvě a Spekulární exponent je generován do Alpha kanálu. Pro jejich jednotlivé zobrazení v okně slouží přepínače zcela vpravo - Upravit lesk (Spec. exponent/Alpha) a Upravit RGB (Spec. složka/barva). Následně v prostředním sloupci parametry Jas, Kontrast, Saturace a Inverze slouží k nastavení RGB složky Spekulárního odlesku/textury - tedy k barvě odlesku. Parametry Jas lesk, Kontrast lesk a Inverze lesk pak slouží k nastavení Spekulárního exponentu v Alpha kanálu textury - tedy k síle odlesku v každém pixelu.
Tip 1: Stejně jako u všech typů textur i generovaná Spekulární textura může potřebovat některé důležité detaily doladit v editoru pro práci s 2D grafikou.
Tip 2: Jelikož Spekulární textura obsahuje dvě informace v kanálech RGB a Alpha, je nutné při jejím ukládání zvolit také formát souboru, který je schopen složku Alpha kanálu udržet. Např.: *.PNG, *.TGA atd.
Alpha textura se používá k definování částí modelu, které mají být průhledné nebo částečně průhledné. Někdy se pro tyto účely používá Alpha kanál Difuzní textury - odtud její název, ale často se používá i jako samostatná textura. Stejně tak v programu CaZaBa. Jde vlastně jen o texturu v černobílých odstínech, kde černá barva znamená plnou průhlednost a bílá barva plnou opacitu (neprůhlednost). Jakýkoliv odstín šedé pak představuje částečnou průhlednost.

Okno pro Alpha texturu se otevře stiskem tlačítka Alpha. První tři parametry Rozlišení difuzní textury, Šířka a Výška mají stejný význam jako u Bump a Speculární textury. To nám zároveň napovídá, že Alpha textura se také generuje z Difuzní textury, a to volbou barvy, kterou algoritmus bude uvažovat jako průhlednou. Běžně to bývá některá málo přirozená barva, která se příliš nevyskytuje. Např. purpurová, která by v Difuzní textuře vyplňovala pozadí hlavního motivu, ale je samozřejmě možné za Barvu průhlednosti zvolit i jakoukoliv jinou - dle potřeby. Parametr Tolerance pak určuje jak moc podobné odstíny zadané barvy budou také chápány jako průhledné.
Výslednou texturu je samozřejmě možné doladit známými parametry Jas, Kontrast a Inverze. Nakonec uložit Alpha texturu lze dvěma způsoby. Buď jako samostatný soubor tlačítkem Ulož... nebo ji zkombinovat s již existující Difuzní texturou tlačítkem Exportovat s difuzní texturou... pokud to bude její budoucí účel vyžadovat. V takovém případě je ale opět nutné zvolit formát souboru, který je schopen uchovat i Alpha kanál, do kterého se Alpha textura zapíše. Pro Alpha texturu jako samostatný soubor na formátu nezáleží.

Tip: I zde platí, že v některých případech může Alpha textura obsahovat průhledné oblasti v místech, kde má Difuzní textura barevný motiv. Tedy opět je možné, že konkrétní materiál pro konkrétní model bude vyžadovat dotvoření Alpha textury pomocí některého 2D editoru.
Ambientní okluze, tedy zakrytí okolím, znamená, že tato textura se použije pro stínování povrchových nerovností Bump a Normálové textury, a to bez použití přímého osvětlení. Generování Textury ambientní okluze tedy získává informace, jak již zaznělo, z obsahu Bump a Normálové textury. Ve výsledku se v Textuře ambientní okluze ukládá hodnota, jak moc je každý pixel obklopen překážkami v jeho blízkosti.

Okno pro Texturu ambientní okluze se otevře stiskem tlačítka Ambient. Generování probíhá ve dvou vlnách. Nejdříve se pro každý pixel prozkoumá jeho okolí pomocí vzorků podle parametru Počet vzorků. Jelikož Bump a Normálová textura obsahují geometrické informace o nerovnostech, dají se dohromady chápat již jako samostatný 3D prostor. V něm jsou pak zmíněné vzorky vybrány jak do okruhu, tak do hloubky podle parametrů Rádius vzorků a Hloubka vzorků, které jsou oba udány v pixelech. Pozor: Čím větší rádius a hloubka se zvolí, tím více překážek algoritmus najde a započítá do výsledné hodnoty a výsledná Textura Ambientní okluze bude tmavší až na nežádoucí úroveň. Parametr Jas může tuto situaci kompenzovat, ale jen částečně.
Pro dostačující kvalitu Textury ambientní okluze by bylo potřeba pro každý pixel otestovat více než 200 vzorků, což by pro textury ve velkém rozlišení bylo neúměrně pomalé. Proto je možné testovat i nižší počet vzorků - např.: 16, jak je přednastaveno v programu, a potom na celou texturu použít filtr proti vzniklému šumu. K tomu slouží parametr Filtr iterace, který udává počet průchodů filtru texturou. Většinou stačí nastavit jeho hodnotu na 2 nebo 3. Druhý parametr je Filtr intenzita, který udává míru rozostření šumu a opět běžně může stačit přednastavená hodnota 0.300.
Podobně jako základní Emisivní složka materiálu zařídí, aby těleso samo zářilo, tak stejného chování lze dosáhnout pro jednotlivé části modelu pomocí Emisivní textury. Díky ní můžeme na modelu vytvořit drobné zářící detaily jako žhavá místa, svítící ovládací tlačítka, magické runy atd. Nastavení Emisivní textury se nachází v okně dalších nastavení materiálu. V paletě materiálů klikněte na tlačítko Více..., kterým se zobrazí toto okno. Zde potom stiskněte tlačítko Emisivní, které nám zobrazí okno nastavení Emisivní textury.


Emisivní textura se generuje z Difuzní textury. První tři parametry Rozlišení difuzní textury, Šířka a Výška se starají o převzetí rozměrů z Difuzní textury stejně jako u Bump, Speculární a Alpha textury (viz výše). Parametr Emisní barva udává barvu částí Difuzní textury, která se má převzít pro generování zářícího vzoru v Emisivní textuře. Určení jen jednoho konkrétního odstínu by mohlo být provázeno nepřesnostmi. Proto jsou zde další dva parametry Tolerance tónu a Tolerance sytosti jejichž nastavením se určí skupina odstínů podobných Emisní barvě, které mají být do Emisivní textury převzaty také. Jednoduše čím vyšší hodnota tolerance, tím odlišnější odstíny se převezmou do Emisivní textury.
Tip: Pozor, není nutné, aby barvy vzoru v Emisivní textuře odpovídaly Difuzní textuře. Potom je ale nutné Emisivní texturu připravit ručně ve 2D editoru.

Tip: Emisivně zářící detaily je možné animovat. Stačí v příslušném klíčovém snímku modelu nastavit do materiálu odpovídající barvu základní emisivní složky a tento materiál pak opětovně přiřadit modelu. Černá barva - emisivní složka / textura zanikne. Bílá barva - emisivní složka / textura má plný efekt.
Textura srsti slouží k vytvoření efektu srsti, vlasů, trávy a podobně. K tomu Textura srsti obsahuje body v odstínech šedi, které jsou rozmístěny právě tam, kde mají chlupy "růst". Nastavení Textury srsti se nachází v okně dalších nastavení materiálu. V paletě materiálů klikněte na tlačítko Více..., kterým se zobrazí toto okno. Zde potom stiskněte tlačítko Srst, které nám zobrazí okno nastavení Textury srsti.

Pokud je to možné, i tento typ textury se generuje z Difuzní textury. Proto jsou zde opět již známé parametry Rozlišení difuzní textury, Šířka a Výška. Generování samotné Textury srsti se provede výběrem barvy bodů/oblasti symbolizujících výskyt kořínků chlupů v Difuzní textuře. Tuto barvu zvolíme parametrem Klíčová barva srsti. Pro rozšíření intervalu odstínů příbuzných této barvě potom opět nastavíme parametry Tolerance tónu a Tolerance sytosti. Čím vyšší hodnota, tím vyšší tolerance k odlišným odstínům. Parametr Hustota udává hustotu generovaných bodů/chlupů, Min. výška poměrově určuje pomocí různých stupňů šedi nejnižší chlupy v textuře. Čím světlejší, tím vyšší a naopak. Distribuce výšky pak určuje zda se budou generovat více chlupy nižší nebo více chlupy vyšší.
Kromě parametrů v okně nastavení Textury srsti jsou pro srst ještě další parametry v předchozím okně Vlastnosti materiálu. Okno Textury srsti zavřete a všimněte si sekce Pro model hned pod tlačítkem Srst. Tato sekce parametrů se vztahuje vždy k jednomu konkrétnímu modelu ve scéně, který používá tento materiál, a proto je aktivní jen, když je nějaký model ve scéně vybrán. V opačném případě je sekce Pro model neaktivní. Jde o to, že každý model může mít nastaveno jiné Zakřivení chlupů a toto zakřivení také může podléhat jinému zdroji síly. Vnější síla deformace může být gravitace určena podle jedné z os prostoru světa nebo prostoru modelu, na kterém srst roste, ale také může jít o gravitaci (přitažlivost) či repulzi (odpudivost) ke konkrétnímu modelu podle parametru Cizí model. Zcela jednoduše řečeno, chlupy se vždy ohýbají podle zadaného zdroje síly.
