CINEMA 4D (R7 a vyšší) - tvorba reálně vypadajícího dřevěného povrchu - 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:



3D grafika

CINEMA 4D (R7 a vyšší) - tvorba reálně vypadajícího dřevěného povrchu

drevo

16. prosince 2003, 00.00 | Již několikrát jsme se na tomto serveru věnovali shaderům SLA, programu CINEMA 4D (R7 a vyšší) a myslím, že jsme si dokázali, že vskutku stojí za to. A tak si dnes předložíme další z příkladů jejich využití. Reálně vypadající dřevěný povrch.


Parkety z javoru a ovangolu, vše pomocí SLA

Možná to není zas až tak zapotřebí, ale myslím, že nebude od věci, když si nejdříve popíšeme jak vytčený materiál tak důvod, proč je vhodně pro jeho vytvoření použít shader. A začneme u shaderu. U vzorků, tedy textur zobrazujících biologický materiál, je velký problém ve viditelném opakování použitého vzorku. Lze si samozřejmě za použití 2D editorů vytvořit texturu například z 12 (4*3) původních vzorků a pomocí nástrojů tohoto editoru jednotlivé plochy původních vzorků upravit (korekcí úrovní, sytosti, jasu etc.), ale to není v zásadě řešení, protože zvětší-li se plocha, na které je textura použitá, například 6x, tak se opakování vzorku zase jistě projeví, nehledě na velkou velikost použité 12x zvětšené textury, zvláště je-li tato textura ještě použita v několika kanálech materiálu.

Řešení je tedy v použití shaderu. Ale ani to není zas až tak jednoduché. Základní výhoda shaderu tkví v jeho unikátnosti v jakékoliv části povrchu. Nedochází tedy k opakování viditelných vzorků a také ve velikosti (datové) scény. Problém však může vyvstat s rychlostí výpočtu hlavně složitých volumetrických 3D shaderů, které jsou často náročnější než velké textury. Je-li to možné, a to bude náš případ, je vhodné se 3D shaderům právě z důvodu délky výpočtu vyhnout. Dnes si spolu vytvoříme realistický shader parket z javoru a ovangolu (dřevina používající se coby obdoba našeho ořechu), přičemž vzhledem k určení materiálu na plošné objekty, podlahy, není nutné, aby měly tyto materiály třetí rozměr. Použijeme tedy 2D shadery.

Jak jsem slíbil, koukneme se ještě poněkud podrobněji na dřevěný materiál. Jmenovitě na strukturu listnáčů, které mají podstatně složitější strukturu než jehličnany, jejíž znalost nám zcela jistě pomůže při tvorbě věrného napodobení. Tedy zkuste to vydržet. Dřevní tkáň listnáčů se skládá ze 4 druhů buněk, cév, cévic, libriformních vláken a parenchymatických buněk. Cévy jsou základní vizuální složkou některých druhů právě se zřetelnými cévami (ty vedou živiny vertikálně). Tyto druhy jsou dub, jilm, akát, ořech, kaštan a další. Cévy vytváří při rozříznutí od shora dolů (radiální řez je v ose stromu, tangenciální mimo střed, tím vzniká pyramidální vzorek) velmi zřetelné, poměrně široké dlouhé čáry. Cévy se také zásadně podílejí na vzhledu i ostatních dřevin, ve kterých jsou však užší a tím je jejich výskyt hustší, čímž dřevo vypadá podstatně homogenněji. To je případ například světlého javoru, či tmavé hrušně a švestky. Když jsme u toho, tak libriformní vlákna slouží jako jakési lešení. Není jich ve struktuře moc, ale jsou důležité pro pevnost. Důležité jsou však parenchymatické buňky. Ty slouží pro úschovu látek a také pro vedení v horizontálním směru. Tkáň těchto buněk je často tmavší a kromě dřeni se často velmi podstatně podílí na vzhledu dřeva v tangenciálním a radiálním řezu. A to zejména například u buku. Koukneme-li se na něj, uvidíme totiž velké množství tmavých, kratších a poměrně zřetelných čárek. To jsou právě parenchymatické buňky. Tato horizontální vedení jsou však ještě zřetelnější u dřevin s výraznými cévami. Tedy u dubu, či akátu, kde tvoří velmi výrazné a již poměrně dlouhé lesklé plochy (občas se jim u tangenciálního řezu říká zrcátka). Mimo to se tyto buňky často projeví u světlých dřevin jako je bříza či olše, kdy se po poškození dřeva vytvářejí tmavé závaly za využití právě parenchymatických buněk. Ještě bychom mohli zmínit letokruhy. Ty jsou tvořeny ročním přírůstkem tkáně, přičemž na jaře tkáň přirůstá rychleji, je vyšší vlhkost, příznivé teploty a více živin, přírůstky jsou světlejší a mají nižší hustotu. V létě je přírůstek hustší, to díky nízké vlhkosti a velkému teplu a tak je také tmavší. Pro nás je podstatné, že při radiálním a hlavně tangenciálním řezu dřeva je kresba poměrně nepravidelná, protože listnáče častěji než konifery trpí vadami růstu, například točivosti či zakřivením.

Uznávám, bylo to poměrně drastické, tahle dendrologie, ale jak jsem psal, domnívám se, že nám podrobná znalost vzhledu a struktury zásadně pomůže při napodobení požadovaného materiálu. A tak jdeme na to.

Při tvorbě dřeva vlastně použijeme jen několik málo shaderů. V prvé řadě použijeme několikráte shader 2D Noise, kterým vytvoříme základní strukturu dřeva. Při tom budeme postupovat tak, že jedním shaderem 2D Noise vytvoříme základní strukturu v řezu různě zakřivené kresby letokruhů, dalším některé viditelné tkáně cév, parenchymatických buněk atd. Tyto shadery budeme kombinovat pomocí shaderu Fusion. Aby v tom nebyl zas až tak velký zmatek (na jazyk, respektive na klávesnici se mi dere zcela jiné slovo), budeme postupovat tak, že si zcela pracovně vytvoříme několik pomocných materiálů, ve kterých si vždy připravíme jednotlivé shadery, které budeme míchat v cílovém materiálu.

Javor


Javor

Ve Správci materiálů si vytvoříme nový materiál a v něm vytvoříme v kanálu Barva nový shader Fusion. Shader vytvoříme standardně, snad to nemusím popisovat, nebo ANO? Tak pro úplnost, u pole textury je malá šipečka, klikneme na ní a vybereme z nabídky shaderů BhodiNUT shader Fusion. Pomocí tlačítka Úpravy otevřeme nastavení shaderu. Naším cílem je vytvoření základní kresby letokruhů. Za tímto účelem použijeme právě vytvořený shader Fusion, který je vlastně jakousi míchací stanicí. Začneme spodním, základním kanálem (Base). Klikneme opět na malou šipečku a vybereme položku BhodiNUT > bhodiNUT 2D Noise. Tím jsme vytvořili shader šumu. Poklepeme na tlačítko Edit u pole shaderu Fusion, do kterého jsme právě nahráli nový 2D Noise a tím otevřeme nastavení vytvořeného shaderu.





Tento shader bude tvořit základní kresbu a bude jakýmsi univerzálem, se který nám velmi dobře poslouží u jakéhokoliv jiného dřevěného materiálu. Upravíme nastavení shaderu podle níže uvedeného obrázku. Nezapomeneme snížit hodnotu parametru Octaves (oktávy), která upravuje míru strukturální zřetelnosti kresby a zcela snížíme hodnotu parametru Cycles. Ta se podílí na množství vnitřních cyklů v kresbě. Je na Vás jakou nastavíte hodnotu úbytku kresby se vzdáleností od kamery (Attenuation), osobně jsem volil hodnotu 80%. První barva Color 1 je nastavena na RGB 106, 53, 0 a barva Color 2 na 238, 230, 227. Zadání potvrdíme stiskem tlačítka OK.



Po potvrzení nastavení shaderu v základním (Base) kanálu shaderu Fusion nastavíme také shader krycí, který je v poli Blend Channel. Do tohoto kanálu vložíme další míchací shader bhodiNUT Fusion. A opět jej otevřeme pomocí tlačítka Edit, abychom jej mohli nastavit. V tomto míchacím shaderu vytvoříme ony podlouhlé čáry svazků cév tvořících letokruhy a také podlouhlé malé skvrny, tvořené parenchymatickým horizontálním pletivem. Jak jsem říkal, ono to pletivo je u všech dřevin poměrně podobné, jen se mění míra zřetelnosti a pro to my využijeme různé systémy míchání. Ale to přeskakuji. V poli základního kanálu (Base) nově vloženého shaderu Fusion vytvoříme BhodiNUT 2D Noise. Otevřeme jej, abychom jej mohli nadefinovat. Postupovat budeme podle níže uvedeného obrázku. Barva Color 1 je v systému RGB 108, 54, 0 a barva Color 2 je, věřte nebo ne, čistě bílá.



Je to myslím docela pohoda, že, a tak vzhůru dál. Potvrdíme zadání právě upravovaného shaderu 2D Noise a svou pozornost přesuneme na kanál krycí Blend Channel. I do tohoto kanálu, světe div se, vložíme shader BhodiNUT 2D Noise (nadále jej budu jmenovat jako 2D Noise). A opět jej otevřeme, abychom jej mohli nadefinovat. Jak asi tušíte, bude tento shader tvořit ony drobné tmavší skvrnky a tak budou vytvořené "šmouhy" poměrně krátké. Opět budeme postupovat podle obrázku. Barva Color 1 je 100, 43, 0. Barva Color 2 je bílá.



Zadání shaderu potvrdíme. Nyní je načase oba právě vytvořené šumy smíchat. Nastavíme tedy režim míchání na násobení "Multiply" a krytí kanálu Blend nastavíme na 30 %.



Tím, že potvrdíme právě dokončený shader Fusion (stiskem tlačítka OK), se ihned vrátíme k nadřazenému shaderu Fusion, ve kterém máme základní strukturu dřeva v kanálu Base a v kanálu Blend právě ukončený shader Fusion. I zde nastavíme krytí kanálu Blend na režim násobení "Multiply" a míru krytí snížíme na 80 %.



Máme-li hotovo, tak podobným systémem budeme pokračovat. Aby v tom nebyl příliš velký zmatek, tak si vytvoříme ve Správci materiálů nový materiál, ve kterém si připravíme další fragmenty cílového povrchu, které poté smícháme. Pro přehlednost si můžeme první materiál pojmenovat Wood1, tento nový pojmenujeme Wood2. Máme-li nový materiál vytvořený, tak v něm vytvoříme v kanálu barva nový shader Fusion (překvapující že?). A ihned do kanálu Blend (do krycího) vložíme další 2D Noise. Do kanálu základního (Base) totiž za moment vložíme obsah kanálu Barva (tedy shader Fusion) materiálu Wood1. Teď ale naeditujeme právě vytvořený 2D Noise. Nastavení je opět popsáno na obrázku. Barva Color 1 je 26, 0, 0 a Color 2 je 255, 123, 60.



Nyní do kanálu Blend shaderu Fusion materiálu Wood2 (začíná v tom být trochu chaos) přeneseme obsah kanálu Barva materiálu Wood1. Uděláme to tak, že klikneme opět na černou šipku na konci pole, ve kterém je název shaderu použitého v kanálu Barva a zvolíme příkaz Kopírovat kanál. Přejdeme pak do shaderu Fusion materiálu Wood2 a zde v kanálu Base provedeme příkaz Vložit kanál. Upravíme míchání krycího kanálu v shaderu Fusion materiálu Wood 2. Nastavíme způsob míchání na závoj "Screen" a krytí snížíme na 60 %.



Máme-li hotovo, tak zadání potvrdíme stiskem tlačítka OK. Tím se vrátíme do okna editoru materiálu Wood2. Zkopírujeme si celý obsah kanálu Barva do schránky (pomocí příkazu Kopírovat kanál), načež se vrátíme k materiálu Wood1.

V kanálu Barva materiálu Wood1 máme stále shader Fusion. To nám nevadí, ba právě naopak. Otevřeme tento shader a v kanálu Base smažeme načtený shader Fusion (já to dělám většinou tak, že tam nahraji cokoliv jiného) a následně do něj vložíme shader Fusion, který jsme si právě zkopírovali do schránky z materiálu Wood2. V tomto okamžiku můžeme smazat materiál Wood2, již jej nepotřebujeme. Do Blend Channel právě upravovaného shaderu Fusion materiálu Wood1 vložíme shader bhodiNUT Distorter. Tento Distorter pracuje, jak již název napovídá, jako jakýsi rozrušovač, tedy narušuje "vyhlazenost" struktury. Pomocí tlačítka Edit se vrhneme na nastavení tohoto shaderu.

Na níže uvedeném obrázku jsou již finální hodnoty, ale pro nastínění práce to stačí. Typ nastavíme na Flow Field. První položka materiálu patří shaderu či textuře, která je deformovaná, spodní položka patří shaderu či textuře, podle kterého se deformuje. V obou těchto kanálech je shader 2D Noise.



Deformovaný shader je nastaven podle níže uvedeného obrázku. Barva Color 1 je nastavena na 102, 65, 28 a barva Color 2 je nastavena na 254, 228, 183. Nastavení deformovacího kanálu je pod zobrazením kanálu deformovacího. Barvy jsou černá a bílá.





Zadání Distorteru potvrdíme stiskem tlačítka OK a tím se vrátíme do nastavení hlavního shaderu Fusion. Zde nastavíme krytí kanálu Blend (s Distorterem) na závoj "Blend" a krytí nastavíme na 80 %. Nastavení shaderu Fusion nyní můžeme potvrdit, jsme s kanálem Barva hotovi.



Zkopírujeme si obsah kanálu barva a vložíme jej do kanálu Barva odlesku, který také samozřejmě zapneme. Kanál Odlesk nastavíme na parametry Šířka 98 %, Výška 18 %, Úbytek a Vnitřní šířka zůstanou 0. Chceme-li, můžeme si vytvořit i kanál Hrbolatosti. Tento kanál tedy zapneme a zkopírujeme do něj shader Fusion z kanálu barva, ve kterém jsou podélné výrazné čáry let a drobné skvrny parenchymatického pletiva. Samozřejmě že můžeme upravit barvy shaderů 2D Noise tohoto shaderu Fusion na čistě černou a bílou.



Tím jsme s materiálem javoru hotovi. Je však důležitá ještě jedna poznámka. Pro dostatečně kvalitní zobrazení shaderu ve výsledném obrázku je vhodné zvýšit nastavení vyhlazení objektu, na kterém je shader nastaven (pomocí vlastnosti Kompozice) na min. hodnotu 2x2 a max. hodnotu 4x4. Toto nastavení sice prodlouží výpočet shaderem otexturovaného objektu, ale výsledek bude řádově lepší.

Budete-li mít zájem, můžeme si příště zkusit ještě další dřevěné materiály. Zde jsou některé na ukázku.


Jasan


Mahagon


Ořech


Ovangol


Dubová palubka


Třešňová palubka

Obsah seriálu (více o seriálu):

Tématické zařazení:

 » 3D grafika  

 

 

 

 

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

Uživatelské jméno:

Heslo: