Jak začít s VFX #21: Jak na CG Shading?

2 years ago by in Jak začít s VFX Tagged: , , , , , , , , , , , , , , , , ,

Důležitá součást VFX, kterou jsem v tomhle seriálu zatím trestuhodně ignoroval, je také CG shading. Co přesně je shader si můžeme vysvětlit třeba takhle: každý 3D model má nějaký daný soubor informací, které jsou předávány renderovacímu enginu a přesně mu říkají, jak má povrch modelu reagovat na dopadající světlo. Právě díky těmto informacím je schopen renderer 3D objekt zobrazit – jinak by šlo pouze o soubor bodů v prostoru a jeho povrch by byl neviditelný.

Tento soubor informací o tom, jak se má povrch objektu chovat, se nazývá shader.


 

Každý shader je tvořen tak, aby simuloval chování nějakého materiálu, ve valné většině takového, který známe z reálného světa. Může to být dřevo, kámen, železo, někdy dokonce i voda, písek atd. Tyto povrchy se liší v mnoha faktorech. Každý jiným způsobem pohlcuje a odráží světlo. Každý je jinak průhledný či průsvitný. Liší se svou hrubostí, lesklostí a milionem dalších parametrů. A právě definováním shading pravidel, tvořením realistických shaderů a zapojováním funkčních networků zaručujících jejich správné chování se zabývá shader artist.

Shader artist často nějakým způsobem zapojuje surface mapy (diffuse, specular, bump, normal atd), které pro něj vytvořil texture artist. Využívá jejich vlastnostní a nechává je “pohánět” shader potřebným způsobem.  Existují tři hlavní druhy shaderů a několik méně běžných. Nejpochopitelnější přitom bude, když si vysvětlíme rozdíl mezi tzv Pixel shadery a Vertex shadery, spíš než pokoušet se zde pitvat v detailních definicích.

Pixel shadery spadají do kategorie 2D shaderů a jsou to grafickou kartou poháněné prográmky, které dokáží provádět operace na bázi jednotlivých pixelů. Víceméně to znamená, že dokáží bod po bodu rozhodovat ve zlomcích sekund o tom, jak má daný objekt reagovat v daném místě na dané nasvícení. Typickým příkladem budiž .tiff obrázek zapojený do bump mappingového slotu vašeho shaderu, který následně ovlivňuje detailní zvlnění povrchu objektu.

Vertex a Geometry shadery nefungují na bázi pixelů, nýbrž větších geometrických tvarů a spadají tedy do kategorie 3D shaderů. Takový typ shading se následně stará o vzhled celých obektů a generování různých efektů – obstarávají třeba mlhu, motion blur nebo stylizovaný vzhled renderovaných objektů.

Většina softwarů dneška má v sobě už zabudované nejtypčitější druhy shaderů, které můžete kdykoliv vzít a dle potřeby aplikovat na své modely. Každý z takových shaderů se ovšem liší ve svých nastaveních i způsobu, jakým zobrazuje funkce jako specularity nebo reflectivity.

spray_iray_mr_compare_mental

Různé typy materiálů v rendereru Mental Ray

 


 

Nastavení je spousta, uveďme ty nejtypčitější, s nimiž si budete hrát téměř neustále – Diffuse Color (základová barva), Opacity (viditelnost), Reflectivity (odraznost), Specularity (lesklost), Incandescence (zářivost), Translucence (průsvitnost), Ambient Color (barva okolního prostředí).

Lambert

Asi nejznámější základní shader, který funguje pro objekty s minimem odraznosti světla. Světlo se rovnoměrně rozprostírá po jeho povrchu a ať už na objekt s takovým shaderem koukáte z jakéhokoliv úhlu, odevšad se jeho povrch zdá stejně jasný. Můžete využít u dřeva, suchého kamene atd.

Blinn / Phong

Jakmile přijde na řadu odrazný materiál, je lepší sáhnout po Blinnu nebo Phongu. Oba dva shadery se chovají do značné míry podobně, liší se pouze některými parametry týkajícími se své lesklosti a reflectivity (Blinn je spíše na kovové objekty, Phong spíše na plastové). Objekty, které mají zapojené jeden z těchto shaderů, okolo sebe šíří odražené světlo a zobrazují na svém povrchu tzv. specular highlight (přímý odraz světelného zdroje). Blinn dostal jméno po svém autorovi Jimu Blinnovi, který napsal i Phong.

Anisotropic

Anisotropický shader se hodí zvláště na objekty, které se skládají z obrovského množství na sebe navazujících částí, které způsobují, že se specular highlight se nezobrazuje jen jeden, nýbrž velké množství, které navozuje pocit, že se jedná o dlouhou odraznou čáru. Dobré například pro vlasy či sklo.

Rozdílné typy shaderů a jejich názvy

Rozdílné typy shaderů a jejich názvy


 

Tutoriály

Na Gnomon Workshop databázi najdete obrovské množství DVD, z nichž mnohá se přímo či nepřímo dotýkají shadingu. Starší tituly, se kterými jsem měl tu čest, byly Character Texturing for Production a Hard Surface Shading and Texturing, v nichž najdete dlouhé kapitoly zaměřující se praktickým způsobem na shading. Pro 3DS Max je zde zase série Rendering and Texturing in 3DS Max. Vyjmenovávat, co všechno obsahuje databáze Digital Tutors nejspíš nemá smysl, lepší bude, když půjdete a najdete si potřebný kurz pro vámi preferovaný software sami. Pakliže se zase zaměřujete na videoherní oblast a chcete zkoumat realtime shadery, rozhodně zavítejte na seznam kurzů od Eat3D.


 

 

 

 

Podobné články

Freelance filmař, trikař a grafik. Cinematic Designer ve Warhorse Studios. Redaktor časopisu Pixel a tvůrce VFXcz.