Maya 2012: Substance Textures - 3D grafika - 3Dscena.cz: 3D grafika jako na dlani

Odběr fotomagazínu

Fotografický magazín "iZIN IDIF" každý týden ve Vašem e-mailu.
Co nového ve světě fotografie!

 

Zadejte Vaši e-mailovou adresu:

Kamarád fotí rád?

Přihlas ho k odběru fotomagazínu!

 

Zadejte e-mailovou adresu kamaráda:

Soutěž

Sponzorem soutěže je:

IDIF

 

Kde se koná výstava fotografií Luďka Vojtěchovského?

V dnešní soutěži hrajeme o:



3D grafika

Maya 2012: Substance Textures

25. července 2011, 00.00 | V poslední verzi Mayi a 3D Studia Max nadělil Autodesk uživatelům hned několik desítek nových procedurálních textur pod souhrnným názvem "Substance Textures". Jejich tvůrcem je firma Allegorithmic a na rozdíl od doposud dostupných "procedurálek" s nimi lze snadno a rychle vytvořit dobře vypadající materiály reálných povrchů.

Jak jsem zmínil v úvodu, Maya i ve verzích předchozích procedurální (na základě nějakého algoritmu generované, neobrazové) textury obsahuje. Jsou to například staré známé ze skupiny "2D Textures" – Noise, Clouds a další. Co dělá Substance textury tak zajímavými je skutečnost, že na rozdíl od výše uvedených jsou to textury reálných povrchů. Nejedná se tedy o různé více či méně abstraktní kreace, ale o kvalitní textury dřeva, cihlového zdiva, kovů a dalších několika desítek povrchů. Každá Substance textura má navíc poměrně rozsáhlé spektrum parametrů, kterými můžeme výsledný vzhled dále ovlivňovat, od obligátní barvy až po například stáří povrchu – tento parametr například ovlivňuje celkovou "zašlost" textury.

Tolik teorie na úvod, nyní se na ně podíváme prakticky. Začneme s jednoduchou ukázkovou scénou, kterou si ve formátu .mb můžete stáhnout.

Jak můžete vidět na renderu, máme nachystanou scénu tvořenou zákoutím plotu z cihlových sloupků a dřevěných polí, dvěma bednami a nějakou "podlahou" – například asfaltem nebo dlažbou. Cílem je znázornit tyto povrchy co nejlépe za pomocí již zmíněných Substance textur. Na obrázku níže můžete vidět výsledek vyrenderovaný pomocí Maya Software rendereru (kliknutím na obrázek ho otevřete v plné velikosti):

screenshot

Jste-li naprostými začátečníky v oblasti materiálů v Maye, odkážu vás na tento článek, ve kterém jsou vysvětleny základy práce s editorem materiálů (Hypershade) a jejich aplikace na objekty.

Základy Substance Textures

Nejjednodušším povrchem, který se v naší scéně nachází, je "podlaha" scény, vytvořená z Polygon Primitive typu Plane. Jak ji tedy přiřadit asfaltový povrch? Začneme samozřejmě vytvořením nového materiálu. Vyjdeme ze shaderu typu Lambert, který je ideální pro matné povrchy. Vytvoříme ho kliknutím na jeho název v nabídce dostupných shaderů v Hypershade Window (Window -> Rendering Editors ->Hypershade) a v Attribute editoru ho pojmenujeme, např. "asfalt":

Místo šedé barvy chceme přiřadit texturu, klikneme tedy v Attribute editoru na ikonku vedle parametru Color a v následující nabídce:

vybereme z nabídky 2D Textures -> Substance (nikoliv Substance Output!):

V pracovní ploše (Work Area) Hypershade editoru si povšiměte dvou nových nodů, připojených k našemu materiálu "asfalt". Vlevo je standardní 2D projekce, nás však zajímá hlavně node prostřední s názvem "substance". Vybereme ho standardním způsobem pomocí LMB a v Attribute editoru klikneme u parametru "Substance file" na ikonku , abychom mohli zvolit jedno z oněch několika desítek přednastavení. Uloženy jsou v instalačním adresáři Mayi ve složce \substances (tedy např. C:\Program Files\Autodesk\maya2012\substances):

screenshot

Vybereme texturu s názvem: "Asphalt_02.sbsar":

Opět přibyl další node, tentokrát mezi node "substance" a "asfalt". Vybereme substance1 node a hurá do Attribute editoru:

Pokud sjedeme posuvníkem o kousek dolů (jako na obrázku výše) a rozklikneme si položku "Substance parameters", odkryje se nám pestrá škála parametrů, jimiž ovlivňujeme výsledný vzhled textury (ten vidíme v náhledu v horní části okna, případně v Hypershade editoru). Jako první nastavíme vhodné rozlišení - budeme-li se držet poučky, že velikost textury by měla být zhruba dvojnásobkem většího rozměru výsledného renderu, pokud je celý objekt v záběru, vyjde nám hodnota 2 048 pixelů. Absolute size tedy v rozbalovacím menu vybereme 2 048, ostatní parametry necháme prozatím nezměněné.

Pro lepší představu o výsledném vzhledu bude nejlepší, když materiál "asfalt" přiřadíme odpovídajícímu objektu a zapneme si ve Viewportu zobrazení textur pomocí klávesy [6]. Můžete též přepnout viewport do režimu "high quality" (textury pak budou ostřejší, protože pro ně Maya nebude používat snížené rozlišení) nebo rovnou do režimu Viewport 2.0 (pokud to vaše grafická karta umožňuje). Materiál objektu přiřadíte například tak, že objekt vyberete, podržíte RMB a ze zobrazeného menu vyberete položku Assign Existing Material -> asfalt:

screenshot

Textura je evidentně moc velká. To nejsnáze napravíme opakováním celé textury, kterí nastavíme v node "2D Projection" našeho materiálu. V Hypershade editoru tedy vybere příslušný node (první zleva) a v Attribute editoru mu nastavíme vodorovné, resp. svislé opakování (parametr Repeat UV):

Nyní zbývá nastavit si vzhled Substance textury. Vybereme tedy node "substance1" a v Attribute editoru si v sekci Substance Parameters navolíme vzhled dle libosti. Já mám pro účely tohoto tutoriálu v plánu vytvořit hrubý a starý asfalt, zvýšil jsem tedy hodnoty u parametrů Cracks, Damage a Damage Scale. Není na škodu zvýšit i náhodnost generování – Random Seed. Každá Substance textura má svoji unikátní sadu parametrů, s některými se setkáte častěji, s jinými méně. Všechny jsou dopodrobna popsány v dokumentaci, ale nejlepší způsob, jak si je vyzkoušet, je podle mě zkoušet je všechny postupně měnit a sledovat "co to udělá". Až budete se vzhledem spokojeni, zkusíme vyrenderovat:

screenshot

Pro začátek to není špatné, ale materiál postrádá jakoukoliv iluzi hloubky, jinými slovy, naše Color (Diffuse) textura potřebuje ještě bump mapu, pomocí které vytvoříme optickou iluzi nerovností povrchu. Se Substance texturami je to naštěstí úplná hračka, stačí vybrat "substance1" node, v Attribute editoru kliknout na ikonku před "Bump" a v Hypershade editoru sledovat, jak Maya pracuje za nás:

Jistě jste si všimli, že v nabídce jsou i další textury (Specular, Normal aj.), všechny lze vytvořit a přiřadit stejně snadno. Zkusíme opět vyrenderovat:

screenshot

Pokud se vám nelíbí výsledná velikost detailů na povrchu, můžete zkusit snížit parametr "Repeat UV" v node "Place2dTexture". Zdá-li se vám povrch málo či naopak moc "hrbolatý", sílu bump efektu lze upravit změnou parmateru "Bump Depth" v node "substance1_bump2d":

Pozn.: Bump mapping je pouze iluze nerovného povrchu, samotný objekt se tím nijak nedeformuje. Pro dosažení fotoralistického výsledku je potřeba laborovat s nastavením nejen textury, ale i osvětlení a úhlem kamery, zejména při pohledu zblízka na příslušný objekt.

Já jsem nakonec zvolil Bump Depth -1 a Repeat UV 1,5; 1,5:

screenshot

Dalším materiálem, který vytvoříme, budou dřevěná pole plotu. Postup bude naprosto stejný jako v případě materiálu pro asfalt:

  1. vytvoříme nový shader typu Lambert a patřičně ho pojmenujeme, např.: "plot"
  2. do jeho Color slotu přiřadíme 2D texturu typu Substance
  3. vybereme preset s názvem "Wood_Planks_02.sbsar"
  4. přiřadíme materiál odpovídajícím objektům
  5. nastavíme v node "place2dTexture" opakování textury (v tomto případě Repeat UV bude 10 a 1)
  6. nastavíme parametry textury (node substance2) dle libosti
  7. vytvoříme Bump mapu

Zde je nastavení textury:

A zde pohled do Hypershade editoru:

A konečně render:

screenshot

Stejným způsobem zkuste nyní sami vytvořit a přiřadit materiály pro cihlové zdivo, betonové vrcholky sloupků a bedny. Použité Substance soubory jsou: BrickWall_03.sbsar, Concrete_03.sbsar a Cardboard.sbsar. Pokud by vás zajímaly konkrétní hodnoty použité při nastavování těchto materiálů, na konci článku si můžete stáhnout hotový soubor. Osobně však doporučuji experimentovat a experimentovat – zkuste použít i jiné Substance soubory, např. místo dřevěných prken třeba vlnitý plech (WowenMetal.sbsar) apod.

screenshot

Sami jste jistě velmi rychle došli k podobnému výsledku. To je podle mě také hlavní výhoda všech Substance textur – umožňují snadno a rychle dosáhnout poměrně kvalitních výstupů, bez nutnosti hledat v materiálových databankách nebo databázích textur. Pro rychlé otexturování scény za účelem vytvoření náhledu výsledného vzhledu jsou k nezaplacení, hlavně díky obrovské variabilitě. Potřebujete vyměnit texturu dřeva za kov, ale máte už nastavený celý materiál, například včetně bump a specular mapy? Nevadí, stačí v příslušném Substance node vyměnit .sbsar soubor a je hotovo, včetně vygenerování nových Bump a Specular map. Rozlišení a některé další parametry, které mají zvolené textury společné (například u zdiva Age, Brick count aj.) se samozřejmě přenesou taktéž.

A co dál?

Vytvořili jsme si procedurální textury, jsme s nimi spokojeni, ale přeci jen bychom je chtěli tu a tam upravit, něco na ně například nakreslit. Tady přijde ke slovu další skvělá vlastnost Substance textur – možnost převést vygenerované procedurální textury na bitmapy o zvoleném rozlišení. Stačí vybrat Substance node a v Attribute editoru kliknout na tlačítko "Export Images to disc":

Maya se nás v malém dialogovém okně otáže na cestu, formát a rozlišení a po kliknutí na Export uloží všechny textury použité v rámci zvoleného materiálu do určeného adresáře.

Soubory pak můžeme dle libosti upravovat v bitmapovém editoru a zpátky do Mayi je dostaneme standardním způsobem – podle počtu a typu textur vytvoříme a připojíme odpovídající počet textur typu File do odpovídajících slotů (Color, Bump atd.) nového materiálu, který přiřadíme objektu.

screenshot
Příklad vyexportované textury (pro zvěšení klikněte).

Zajímavých efektů je také možné dosáhnout tím, že budeme jednotlivé parametry vzhledu textury animovat – podobně jako naprostou většinu věcí v Maye. Stačí kliknout RMB nad názvem parametru (např. Age) a na příslušném snímku vložit klíč (Key). Lze tak vytvořit "časosběrná" videa jako je následující ukázka:

Substance Textures a MentalRay

Jedinou podstatnou vadou na kráse je u Substance Textures skutečnost, že implicitně nefungují v rendereru MentalRay. Pro zprovoznění podpory i v tomto externím rendereru je zapotřebí stáhnout a poměrně uživatelsky nepřívětivým způsobem (viz readme soubor) nainstalovat balík s názvem "Substance Bonus Tools", který poté přidá novou záložku na Shelf – v ní nalezneme další nástroje pro vytváření Substance materiálů pro použití s tímto renderem:

Zmíněná instalace probíhá kopírováním různých souborů na různá místa v systému – do podadresářů instalačního adresáře Mayi a poté ještě do adresáře s nastavením Mayi v domovské složce uživatele. Na počítači s více uživatelskými účty je pochopitelně třeba Substance Bonus Tools nakopírovat do adresáře \maya v domovské složce každého uživatele.

Závěr

Substance Textures považuji za jedno z největších vylepšení Mayi verze 2012. Na procedurální textury nevídaná kvalita a škála nastavení, spolu s množstvím dostupných .sbsar souborů z nich dělají neocenitelné pomocníky, potřebujete-li velmi rychle vytvořit škálu textur pro celou scénu. Pokud by vám dostupná nabídka povrchů nestačila, lze si vytvořit vlastní .sbsar soubory – výrobce Substance, společnost Allegorithmic, na svých stránkách nabízí k tomu účelu nástroje a výukové materiály.

Možnost bez omezení exportovat vygenerované obrázky na disk ze Substance Textures bez nadsázky dělá rovnocenného partnera velkým databankám a kolekcím textur, jako jsou např. 3D Total Textures – jedním kliknutím tlačítka získáte perfektní obrazovou texturu ve vysokém rozlišení, spolu s odpovídající bump, specular, normal atd. texturou.

Jedinou výtkou je již zmíněná nutnost poněkud složité instalace balíčku Bonus Tools, pokud chceme Sbstance Textures používat i v Mental Rayi – když už si podporu musíme instalovat ručně, slušel by se instalátor.

Výsledný .mb soubor si můžete stáhnout zde.

Tématické zařazení:

 » 3D grafika  

 

 

 

 

Přihlášení k mému účtu

Uživatelské jméno:

Heslo: