015 - Textúrakezelés Cycler Render Engine-ben Az eddigi munkáink során, és a Blender Kódex 01 – 02-ben is, a Blender saját render motorját a Blender Internal Render Engine-t használtuk. Talán most már itt az ideje, hogy a másik, külső, de a szoftverbe integrálva használható renderelő motorral, a Cycles Render Engine-el is megismerkedjünk egy kicsit. Ha másért nem, csak azért, hogy ezt a renderelő környezetet is ismerjük legalább annyira, hogy egy egyszerű textúraszerkezetet fel tudjunk benne építeni. De mielőtt bármit is tennénk, akad pár dolog, amivel fontos hogy tisztában legyünk. Az első, és talán a legfontosabb: Mi is az a Cycles Render Engine? A Blenderbe fejlesztés során integrált, egykoron még külső virtuális leképező szoftverkörnyezet. Jelenleg még másodlagos render motornak tekinthetjük, de folyamatos fejlesztés alatt áll. Egyrészt nagyon kényelmes, mert integrált Global Illumination (GI) fényrendszert alkalmaz, vagyis a program automatikusan számolja a visszaverődő fénysugarak útját, aminek hatására sokkal szebb és realisztikusabb, élethűbb képeket kapunk. Csakhogy ezért fizetnünk is kell kőkeményen, mert így sokkal lassabban tud csak a Blender dolgozni a nagyobb számítási teljesítmény igénynek köszönhetően, mintha az alapértelmezett Blender Internal Render Engine-t használnánk. Tehát sokkal tovább tart, míg ugyanazt a jelenetet Cycles-ben rendereljük le. Emiatt animációs feladatokra csaknem teljesen alkalmatlan, de mivel fizikailag nagyon jó, és valós időben láthatjuk, miként alakulnak a dolgok beállításaink (anyagok, bevilágítás stb.) révén. Lassúsága ellenére mégis azt lehet mondani, hogy a Blender Cycles Render Engine-je egy nagyon jól eltalált eszköz, egyszerűen csak bődületesen lassú. Állóképekhez mint például látványtervek, bemutatók készítéséhez végeredmény tekintetében majdhogynem a legjobb ingyenes eszköz lehet. Napjainkban ez a Blender leginkább fejlesztett összetevője, ezért érdemes rá egy picivel több figyelmet szentelni a jövőt illetően. Mielőtt azonban jobban belemerülnénk a Cycles Render Engine rejtelmeibe, van még pár fogalmi tisztázni való, mert ezzel a későbbiekben komolyabb félreértéseket előzhetünk meg. Domborzati térképek konkrét típusainak (Bump Mapping) elkülönítése: Ebben a témában azért kell most kicsit rendet tennünk, mert az eddig általunk Bump map-nak nevezett domborzati szimulációs eljárást a 3D szakmában a legtöbbször nem ezzel a névvel illetik. Mert mi is a felületi domborzat szimulálásának (Bump Mapping) lényege? Az, hogy egy sík felületen egy térképként (Map) felhasznált kép alapú (Image) információhalmaz vezérlésével fényárnyék jelenségeket hozunk létre különféle eljárásokat használva. A domborzati térképek (Bump map) három főbb típusát különböztethetjük meg. Magassági térképek (Height map): A felületi domborzat árnyékolódásának szimulálását fekete/fehér (B/W) képeken keresztül határozzuk meg azt a hatást keltve, mintha a felszín valódi geometriájából adódó árnyékok lennének. Ez az az eljárás, amit eddig a Blender Internal Render Engine-t használba Bump map-nak neveztünk. Ez tehát a hétköznapi értelemben vett Bump map. Felületi normális térképek (Normal map): Ez az eljárás voltaképpen nagyban hasonlít a magassági térképek (Height map) használatához, viszont már színcsatornákkal rendelkező képfájlokat használunk információs térképként, mivel itt már sokkal több információra van szükségünk a felületi egyenetlenségeket illetően, hogy az egyes domborzati egységek milyen irányban, és milyen mértékben állnak ki az objektum alaplapjának (Face) síkjából. Displacement map-ek alkalmazása: 1
Ez az eljárás a domborzati szimulációk (Bump Mapping) közül a leginkább realisztikus, de emellett a legtöbb nehézséget is ez okozza. Itt ugyanis ténylegesen létrejönnek a szimuláció során a felületi egyenetlenségek, mert fizikailag is elmozdulnak a felületeket (Face) alkotó térpontok (Vertex). Szűkebben értelmezve ez is magassági térkép (Height map) alapú domborzati szimulációs (Bump map) eljárás, de itt sokkal nagyobb felbontású felületekre van szükség a megfelelő végeredmény elérése érdekében. Itt ugyanis már egyáltalán nem elegendő egy négy térpont (Vertex) által határolt egyszerű sík felület (Face), hanem akár több ezer pontból álló felület is szükséges lehet. A Blenderben a Cycler Render Engine-t használva ezt az eljárást nem igazán használják az irreálisan kiemelkedő erőforrásigénye miatt.
Elsőként nyissuk meg a Blenderben a modellünk Blend fájlját. keressünk belőle lehetőség szerint egy olyan verziót, amelyik még nincs anyaggal ellátva és textúrázva, és csak az UV-térképe (UV-map) van elkészítve. Ha szerencsénk van, találunk ilyet az archívumunkban belőle. Ha esetleg nem voltunk ilyen előrelátóak, töröljük az összes textúrát és az anyagot is, természetesen még mindig az alapértelmezett Blender Internal Render Engine-ben. Persze a legegyszerűbb megoldás az, ha létrehozunk egy új jelenetet, vagy blend fájlt, és abba "appendeljük" be a modellünket mondjuk a [Shift +F1] billentyűparancson keresztül. A tulajdonságok ablak (Properties) világbeállítások (World) paneljén kapcsoljuk ki a környezeti árnyékolás (Ambient Occlusion) megjelenítését, viszont a megvilágításért felelős fényforrásokat (Lamp) hagyjuk érintetlenül, meg persze a kamerát (Camera) is. Példánkban egy pontfényt (Point) és egy nap (Sun) típusú fényforrást használunk. Nagyon fontos, hogy a lámpák fényerejét megfelelően állítsuk be a kellő fényvisszaverődések kialakulásának érdekében. Mivel jelen esetben fémes anyagot szeretnénk szimulálni, a Diffúz szín (Diffuse Color) és a fény visszaverődésének (Glossy) valamint a csillanás (Specular) értékei azok, melyek szabad szemmel vizsgálódva meghatározzák az egyes fémtárgyakat. Ha ezekre kellően odafigyelünk, sokkal könnyebben hozhatunk létre realisztikus hatású anyagokat. Mindezek mellett sokkal jobban láthatjuk majd a munkánk eredményét folyamatában, ezért nagyon célravezető egy szerencsésen megválasztott HDRI képpel bevilágítani a virtuális 3D munkaterünket a jelenetben. 2
Mindenek előtt a Blender felső menüsorában állítsuk a teljes rendszert Blender Internal Render Engine-ről Cycles Render Engine-re, majd a tulajdonságok (Properties) ablak világbeállítások (World) panel a Surface (felület) csoportban nyomjuk be az Use Nodes gombot, hogy használhassuk a Blender csomópont szerkesztőjét (Node Editor).
Itt a Color (szín) legördülő menüből válasszuk ki az Environment Texture menüpontot, ezt követően pedig az Open gombra kattintva töltsünk be egy HDRI képet. Ezek erős színdinamikával rendelkező, speciálisan torzított nagyméretű képfájlok, melyeknek HDR a kiterjesztése.
Ilyen képeket több helyről ingyen is letölthetünk, mint például a példánkban szereplő erdőt ábrázoló képet is, mely a http://www.openfootage.net/ oldalról származik. Innentől elég a 3D-nézet (3D-view) ablakot render előnézetbe állítani, és a munkaterületünket máris kitölti a 360 fokos szögű HDRI háttérkép.
3
Fontos tudni, hogy ez a háttér előnézet csakis perspektivikus nézetben [Num5] működik megfelelően!
Megfigyelhettük, hogy így kicsit lassabbá és kicsit szemcséssé is válik az előnézeti képünk megjelenítése. No. de ettől ne ijedjünk meg, mert mindkettő kicsit a Cycles Render Engine sajátja, és mindegyiken lehet valamelyest segíteni. Az előnézet minősége és sebessége terén egyaránt. Akiknek modernebb számítógépük van, esetleg komolyabb grafikus kártyával is rendelkeznek (CUDA), a Render panel Render csoportjának Device paraméterezőjében állítsák be, hogy a CPU mellett a grafikus processzor (GPU) is szálljon be a renderelési folyamat számításainak elvégzésébe. Emellett a Sampling csoportban az előnézeti finomságot befolyásoló Preview paraméterező értékét is az alapértelmezett 10-nél magasabbra vehetjük, mondjuk 200-ra. A fényrendszert illető beállításoknál pedig a Light Patch csoportban kicsit vegyük vissza a Global Illumination kiszámításához szükséges számításigényből úgy, hogy a Limited Global Illumination profilt válasszuk az alapértelmezett profil helyett.
Diffúz szín textúrák (Diffuse Color Texture) alkalmazása Cycles Render Engine alatt Ha eddig eljutottunk, a 3D nézet mellé hozzunk létre a Blenderben egy csomópont szerkesztő (Node Editor) ablakot is, ahol aztán az anyagszerkesztő (Shader Editor) üzemmódot fogjuk majd használni. Ha Ezt kiválasztottuk a kis üveggömbös gombocska segítségével, hozzunk létre egy új anyagot az alsó menüsorban fellelhető New (új) gomb lenyomásával. Persze ezt a tulajdonságok (Properties) ablak anyag (Material) panelén) is ugyanúgy megtehetjük. Az újonnan létrejött anyagot. Nevezzük is el azonnal mondjuk "OldMetal"-nak. A csomópont szerkesztőben az új anyag létrehozásának hatására megjelenik egy diffúz szín csomópont (Diffuse BSDF Node), és egy hozzá 4
csatolt anyagkimeneti csomópont (Material Output Node) is. Ez utóbbi határozza meg mindig az objektumunkon megjelenő anyagot. Ez viszont még kevés ahhoz, hogy változást észlelhessünk.
Előbb egy textúrát kell hozzákapcsolnunk a diffúz szín csomópontunkhoz (Diffuse BSDF Node). Ezt úgy tehetjük meg, hogy az Add / Texture / Image Texture (Hozzáadás / Textúra / Kép textúra) menüútvonalon keresztül hozzáadunk egy kép textúra csomópontot (Image Texture Node) a csomópontszerkesztő munkaterületéhez. Természetesen a hozzáadó menühöz most is célszerű a [Shift+A] billentyűparancsot használni.
Az újonnan létrejött kép textúra csomópontba (Image Texture Node) az Open gombon keresztül töltsük be a már GIMP-ben régen elkészített diffúz szín textúra képfájlunkat. Mi most az objektívebb összehasonlítás érdekében megint a kamuflázs festésű változatot fogjuk használni, mint korábban azt Blender Internal Render Engine alatt is tettük. Figyeljünk oda arra is, hogy azt a változatot használjuk, amelyikbe a környezeti árnyékokat (Ambient Occlusion) már Bake-léssel 5
beleégettük! Ha a fájlok elnevezésére folyamatosan ügyeltünk, akkor most sem lehet probléma a szükséges kérdéses kép megtalálása. Ez a mi kis példánk esetében a SFBlokk_DiffuseColor_Matrica_AO.png nevű fájl volt. Ahhoz, hogy a képünket végre ismét viszontláthassuk kedvenc modellünk felületére feszítve, még két dolgot meg kell tennünk. Az első ezek közül az, hogy a kép textúra csomópont (Image Texture Node) szín (Color) kimenetét kössük rá a Diffúz szín csomópontunk (Diffuse BSDF Node) szín (Color) bemenetére. Most már végre eltűnt a modellünk felületéről az unalmas szürkeség, de csak azért, mert nagyon egyszerű geometriáról van szó. Bonyolultabb objektumok esetében még meg kell adnunk a Blendernek, hogy minek alapján húzza rá a 3D alakzatra a textúránk képét.
Emiatt még egy csomópontot (Node) kell hozzáadnunk a lassan kialakuló struktúránkhoz az Add / Input / Texture Coordinate (Hozzáadás / Bemenet / Textúra koordináták) menüparancson keresztül. Ez a csomópont (Node) fog majd felelni azért, hogy a textúrába töltött kép minden egyes képpontja a modellen megfelelő helyen jelenjen meg majd. Az újonnan létrejött textúra koordináta csomópont (Texture Coordinate Node) UV kimenetét ehhez csak rá kell kötnünk a kép textúra csomópontunk (Image Texture Node) vektor (Vector) bemenetére. Ha mindent megfelelően csináltunk, akkor a textúránk úgy jelenik meg a modell felületén, ahogyan azt elvárjuk tőle. Csillanás és fényvisszaverődés kezelése Cycles Render Engine-ben Cycles Render Engine-ben a diffúz szín (Diffuse Color) és a csillanás (Specularity) valamint a tükröződés (Glossy) külön-külön Shader-hez kapcsolódik. Ezért ezek megjelenítéséhez egy újabb csomópontot (Node) kell hozzáadnunk a csomópont szerkesztőben (Node Editor) lassan épülő hálózatunkhoz.
6
Ennek most tehát egy tükröződés csomópontnak (Glossy BSDF Node) kell lennie, amit az Add / Shader / Glossy BSDF menüparanccsal hozhatunk létre. Ha ennek a csomópontnak a BSDF kimenetét kötjük az anyagkimeneti csomópont (Material Output Node) Surface bemenetére, láthatjuk, hogy a diffúz szín helyét átvette valami furcsa csillogó hatás a felületen. Bizony, bizony, ez már valódi tükröződés. Ugyanis alapértelmezetten ezen a csomóponton a tükröződés mértékét megadó Roughness paraméterező alapértelmezetten 0.200 értéken áll. Ha a Roughness értéke 0.000, semmiféle tükröződés nincs, ha viszont 1.000 akkor a felületek tökéletes tükrökként viselkedve verik vissza a fényt. Fémekhez általában a 0.200 körüli Roughness érték megfelelő szokott lenni.
7
A feladatunk viszont az, hogy a diffúz színt tartalmazó csomópont (Diffuse BSDF Node) és a tükröződési értéket befolyásoló csomópont (Glossy BSDF Node) egyszerre hassanak az anyagra. Ehhez pedig egy olyan csomópontra lesz szükségünk, amely ezt a kettőt összeköti, és így engedi tovább az információt az anyagkimeneti csomópontba (Material Output Node). Erre Blenderben a Cycles Render Engine-t használva a Shader keverő csomópont (Mix Shader Node) az ideális eszköz. Ezt az Add / Shader / Mix Shader menüútvonalon adhatjuk hozzá a csomópont szerkesztő (Node Editor) munkaterületéhez. Ez lesz az a csomópont, ami az objektum színének és a tükröződési képességének egyidejű lehetőségét biztosítja. Ennek a Shader bemeneti pontjaihoz kell becsatolni a tükröződés csomópont (Glossy BSDF Node) BSDF, és a diffúz szín csomópont (Diffuse BSDF Node) szín (Color) kimenetét úgy, hogy ez utóbbi csatlakozzon a Shader keverő csomópont (Mix Shader Node) felső bemenetéhez. Erre azért van szükség, hogy majd a fizikai elhatárolódás kialakításakor könnyebb dolgunk legyen.
A Shader keverő csomópont (Mix Shader Node) bekötése után azt tapasztalhatjuk, hogy a szín és a tükröződés egyszerre jelentkezik a modellünk felületén. Ez annak eredménye, hogy a Factor paraméterező, mely az összekötött Shader-ek tartalmának keveredési arányát befolyásolja, 0,500 értéken áll alapértelmezetten. ha ezt az értéket növeljük, az alsó, ha pedig csökkentjük, a felső Shader bemeneti csatolópontba érkező információ lesz a hangsúlyozottabb.
8
Eddig tehát eljutottunk odáig, hogy Cyclesben össze tudunk keverni két anyagtulajdonságot, ami szépnek szép ugyan, de finoman fogalmazva: cseppet sem nevezhető valósághűnek, vagy realisztikusnak. Ennek pedig legfőképpen az az oka, hogy nincs területileg is szabályozva a kevert tulajdonságok megjelenésének mértéke. Hogy ezt is meg tudjuk oldani, egy újabb kép textúra csomópontot (Image Texture Node) kell hozzáadnunk a struktúránkhoz a már ismertetett módon. Ebbe a csomópontba pedig az ugyancsak korábban a GIMP-ben elkészített csillanási térképünk (Specular-map) képfájlját töltsük be, de lehetőség szerint szintén azt a verziót használjuk, melybe a környezeti árnyékolás (Ambient Occlusion) is Bake-eléssel bele van égetve. Példánkban ez a SF-Blokk_GIMP_Specmap01_AO.png képfájl volt. Mindezek után ennek a kép textúra csomópontnak (Image Texture Node) is meg kell adnunk a modellünk UV koordinátáit. Ehhez nyugodt szívvel használhatjuk az egyszer már létrehozott textúra koordináta csomópontunkat (Texture Coordinate Node). Egyszerűen csak egy újabb összeköttetést kell létrehoznunk az UV kimeneti pontja és a SFBlokk_GIMP_Spec-map01_AO.png képünket tartalmazó, másodszorra hozzáadott kép textúra csomópont (Image Texture Node) vektor (Vector) bemeneti csatolópontja között. A tükröződő képesség (Glossy) és a diffúz szín keveredésének vezérléséhez a másodszorra létrehozott kép textúra csomópontot (Image Texture Node) gyakorlatilag maszkként kell felhasználnunk úgy, hogy a kimeneti szín (Color) csatolópontját bekötjük a Shader keverő csomópont (Mix Shader Node) Fac bemeneti pontjára. Ha ekkor a csillanási csomópont (Glossy BSDF Node) itt az alsó Shader bemenethez kapcsolódik, akkor csak ott fog tükröződni a modellünk, ahol a textúrába töltött és ott maszkként felhasznált SF-Blokk_GIMP_Spec-map01_AO.png képfájl azt megengedi neki. Vagyis mindenhol, ahol a csillanási térkép (Specular-map) fájlunk nem fekete, vagy csak nem teljesen az. Példánkban a jobb láthatóság kedvéért a tükröződés mértékét a Roughness paraméterező 0.000-ra való állításával a maximálisra vettük, de a továbbiakban már az általunk választott tükröződési képességet adó 0,150 értékkel fogunk tovább dolgozni.
Az már akár most is megfigyelhető, és ezzel még nagyon sokszor fogunk szembesülni, hogy az egyes modellek valószerűsége, élethűsége nem minden kameraszögből tökéletes. Ez pedig egy örök dilemma a 3D modellezés világában. Nekünk viszont szerencsénk van, mert bőven elegendő 9
jelenleg, ha a modellünk a mi kis kamerácskánkon keresztül szemlélve fest elég jól… Szóval már csak emiatt is nagyon fontosak a fények és a bevilágítás Cycles Render Engine alatt dolgozva is. Mert cseppet sem mindegy milyen típusú fényforrással világítunk, hogy hova, milyen színű fénnyel, honnan, és hányszor. Sok kísérletezgetés és próbálgatás az ára a bonyolultabb modellek megfelelő bevilágítási rendszerrel való ellátásának.
Nagyobb, komolyabb munkák és modellek esetében például gyakori eljárás, hogy előre elkészített bevilágítási rendszert használnak, és az ennek eredményeként létrejött virtuális fényviszonyokhoz utólag igazítják, finomhangolják hozzá az amúgy semleges, árnyékmentesre neutralizált textúrákat. Eddig tehát annyit értünk el a Blender Cycles Render Engine-jét használva, hogy a modellünket színnel láttuk el, és képesek vagyunk a fényvisszaverődési képességeit is vezérelni. A felülete viszont továbbra is csaknem valószínűtlenül steril sima. Semmiféle felületi egyenetlenség nincs rajta. valami mintha hiányozna róla… És ez a valami a domborzati térkép alkalmazása (Bump Mapping)! Felületi domborzat szimulálása (Bump Mapping) Cycles Render Engine-ben A Bump Mapping megjelenítésére Cycles Render Engine-t használva több eljárás közül választhatjuk ki a számunkra leginkább hatékonyat: Felületi normális térképek (Normal map) osztott megjelenítése: Az egyik leggyakrabban alkalmazott eljárás a felületi egyenetlenségek imitálására az, hogy egy új kép textúra csomópontot (Image Texture Node) hozunk létre az Add / Texture / Image Texture menüparanccsal, és ebbe a csomópontba betöltjük a vagy a GIMP-ben, vagy más célszoftverben, esetünkben az SSBump Generatorban elkészített felületi normális térképünk textúrájának (Normal map Texture) a képfájlját. Így hát mi is ezt fogjuk használni a példánkban, azaz a SF-Blokk_SSBump_Normal01.png képfájlunkat fogjuk betölteni, majd a csomópont adatainak feldolgozási módját színről (Color) állítsuk át nem színinformáció (Non Color Data) típusúra. Így a továbbiakban az ide betöltött kép nem képi információként fog kezelődni a Blenderben, hanem felületi normális térképként (Normal map).
10
Természetesen, mivel textúra csomópontról (Texture Node) van szó, meg kell adnunk a modellünk UV koordinátáit. Ezt könnyedén megtehetjük a már ismertetett módon a meglevő textúra koordináta csomópont (Texture Coordinates Node) UV kimeneti pontját a most létrehozott, immár harmadik kép textúra csomópontunk (Image Texture Node) vektor (Vector) bemenetére.
Viszont ezt így még a Cycles Render Engine nem képes finoman kezelni, mert ha a kép textúra csomópont (Image Texture Node) szín (Color) kimenetét rákötjük az anyagkimeneti csomópont (Maretial Output Node) Displacement bemenetéhez, azt tapasztaljuk, hogy nagyon durva felületi egyenetlenségek jelentkeznek a modellünk előnézeti képén a 3D-nézet (3D-view) ablakban. Azért, hogy a domborzati szimulációnk (Bump Mapping) felületi normális térkép (Normap map) alkalmazása mellett kellően finomhangolgató legyen, az Add / Vector / Normal Map menüparanccsal egy felületi normális csomópontot (Normal Map Node) kell hozzáadnunk a Blender csomópont szerkesztőjének (Node Editor) munkaterületéhez, és a szín (Color) bemeneti pontjához hozzákötjük a harmadik, Normal map-ot tartalmazó kép textúra csomópont (Image Texture Node) szín (Color) kimenetét. A vektor (Vector) kimenetét pedig az anyagkimeneti csomópont (Material Output Node) Displacement bemenetéhez.
11
Meg kell továbbá adnunk a felületi normális csomópontunkban (Normal map Node) a modellünk UV-térképét (UV-map) is. Innentől kezdve a Strenght paraméterezőn keresztül szabályozhatjuk a domborzati szimuláció (Bump Mapping) mértékét. Az 1.000 érték jelenti a maximális, a 0,000 pedig a minimális megjelenést. Jelen esetünkben a Strenght értéket 0.030-nak adtuk meg. Ezután hozzunk létre egy újabb felületi normális csomópontot (Normal Map Node), és ennél is adjuk meg a modellünk UV térképét (UV-map) viszonyítási alapnak. Ezt is ugyanúgy a Normal map képfájlunkat tartalmazó kép textúra csomópont (Image Texture Node) szín (Color) kimenetére kössük, a normál (Normal) kimeneti pontját pedig a csillanási csomópont (Glossy BSDF Node) ugyanilyen (Normal) típusú bemenetére. A második felületi Normal csomópont esetében a Strenght értékét jóval alacsonyabbra kell vennünk. Mi itt a 0,005 értéket adtuk meg.
Ez a megoldás nem minden esetben hoz kellő eredményt, de jó paraméterezhetősége miatt érdemes lehet használni. Felületi normális térképek (Normal map) közvetlen megjelenítése: A felületi normális térkép (Normal map) képfájlját tartalmazó kép textúra csomópontunkat (Image Texture Node) beköthetjük közvetlenül az anyagkimeneti csomópont (Material Output Node) Displacement bemenetére, de így is nagyon erősen fognak a modellen megjelenni a felületi egyenetlenségek.
12
Nagyon nyers hatást fog majd kelteni, mert semmiféle konkrét paraméterezhetőséggel nem rendelkezik. Viszont ezt könnyedén orvosolhatjuk. Ahhoz, hogy ezt a túl erős Bump Mapping hatást csillapíthassuk, a kép textúra csomópont (Image Texture Node) és az anyagkimeneti csomópont (Material Output Node) közé be kell iktatnunk egy felületi normális csomópontot (Normal Map Node), amit az Add / Vector / Normal Map menüparancson keresztül tehetünk meg. A felületi normális csomóponton (Normal Map Node) a modellünk UV-térképének (UV-map) megadását követően a Strenght (erősség) paraméterező által befolyásolhatjuk a domborzati szimuláció (Bump Map) megjelenítésének erősségét, amit mi a példánkban 0,030 értékre állítottunk be.
Felületi normális térképek (Normal map) magassági térképként való felhasználása: Egyes esetekben, mikor például nincs konkrét szükségünk felületi normális térképek (Normal map) használatára a felületi egyenetlenségek szimulálására (Bump Mapping), bőven elegendő lehet ha magassági térképként (Height map) kezeljük a kép textúra csomópontba (Image Texture Node) betöltött képfájlunkat. Ehhez egy új fekete-fehér átalakító csomópontot (RGB to BW Node) kell bekötni a kép textúra csomópont (Image Texture Node) és az anyagkimeneti csomópont (Material Output Node) közé. Ez az új csomópont az Add / Converter / RGB to BW menüútvonalon érhető el.
13
Az így létrejövő hatás ebben az esetben is nagyon túlzott felületi egyenetlenséget szimulál majd, ezért itt is szükséges egy olyan elem beillesztése a struktúránkba, amely révén vezérelni tudjuk a domborzati szimuláció (Bump Mapping) mértékét.
Erre a célra egy színkeverő csomópontot (RGB Mix Node) célszerű használni, aminek a létrehozásához az Add / Color / Mix RGB menüparancsot kell kiadni. Ezt a csomópontot kell bekötnünk a fekete-fehér átalakító csomópont (RGB to BW Node) és az anyag kimeneti csomópont (Material Output Node) közé úgy, hogy az üresen maradó szín (Color) bemenetéhez egy egyszerű szín csomópontot (RGB Node) csatlakoztatunk. a szín csomópont az Add / Input / RGB menüparanccsal érhető el, és fekete színre kell deklarálnunk a tökéletes működés érdekében. A domborzati szimuláció a színkeverő csomópont (RGB Mix Node) Factor paraméterezőjén keresztül szabályozható. Példánkban, ahol a fekete színt tartalmazó csomópont (Node) a színkeverő csomópont (RGB Mix Node) alsó színbemenetére (Color) van kötve, a Factor értékét 0,950-ra állítottuk be. Ennek az eljárásnak a működési elve az, hogy a fekete színt belekeverve a textúraként használt képbe, csökkenthető rajta a fehér színezet mértéke, ezáltal kisebb mértékben tud csak érvényesülni a domborzati szimuláció (Bump Mapping) hatása.
14
Ezt az elvet követve akár egy szimpla színgörbe csomópontot (RGB Curves Node) is hozzáadhatunk a struktúránkhoz színkeverő csomópont (RGB Mix Node) helyett az Add / Color / RBG Curves menüparanccsal, és ugyanide bekötve használhatjuk ugyanerre a célra.
Egyéb műveletek domborzati (Bump Mapping) textúrákkal: Előfordulhat, hogy mondjuk egy olyan modellen fogunk dolgozni, amelyhez egyszerre használunk magassági térkép (Height map) és felületi normális térkép (Normal map) alapú domborzati szimulációt (Bump Mapping). Itt gondot jelenthet a két, eltérő jellegű textúra alkalmazása, ezért szükség lehet rá hogy összeadjuk őket. Viszont egyáltalán nem mindegy, hogy miként járunk el, mert el kell dönteni, hogy melyiket adjuk melyikhez. Egyszerre ugyanis csak az egyik módszert célszerű használni. Magassági térkép (Height map) hozzáadása felületi normális térképhez (Normal map): Itt a két textúra képfájlját tartalmazó kép textúra csomópontot (Image Texture Node) egy összeadás (Add) funkcióra kapcsolt vektorműveleti csomópont (Vector Match Node) révén csatolhatunk össze.
15
Csakhogy, mivel eltérőek a képi információk, és különbözhetnek a színkészleti határértékeik is, szükség van rá, hogy az összekevert adatokat használható keretek közé szorítsuk, azaz normalizáljuk. Erre a feladatra ugyanez a csomópont típus tökéletesen megfelel, csak a normalizálás (Normalize) üzemmódra kell átállítani. Felületi normális térkép (Normal map) hozzáadása magassági térképhez (Height map): Nem biztos, hogy minden esetben a számításigényes felületi normális térképeket (Normal map) fogjuk használni a felszíni egyenetlenségek szimulálására (Bump Mapping) előfordulhat, hogy a magassági térképek (Height map) teljesen meg fognak felelni.
Használhatjuk a vektorműveleti csomóponton (Vector Match Node) belüli összeadást a sokkal jobban kontrollálható magassági térkép csomópont (Bump Node) használatával is. Itt ugyanis megvan mind a kétféle információtípushoz a megfelelő bemenet. Viszont egy vektorműveleti csomópont (Vector Match Node) normalizálásra erősen ajánlott még ebben az esetben is. Azt viszont minden esetben erősen szem előtt kell tartani, hogy nagyban függ a fényektől, hogy milyen hatást érünk majd el végül. Felületi Normális térképek (Normal map) színcsatorna korrekciója: Mindezek mellett ha még csak dióhéjban is, de meg kell említenünk, hogy nem minden szoftver kezeli egyformán a felületi normális térképeket (Normal map). Ezért ha más szoftverrel (Pl Zbrush) dolgozva hozunk egy ilyet létre, és azt tapasztaljuk, hogy nem olyan a végeredmény, mint amilyennek lennie kellene, nem kell kétségbe esni. Ilyenkor a kép textúra csomópontunkba (Image Texture Node) betöltött textúraként használt kép zöld színcsatornáját (G) kell invertálnunk. Erre egy színgörbe csomópont (RGB Curves Node), amit az Add / Color / RGB Curves menüparanccsal hozhatunk létre, a kép textúra csomópont (Image Texture Node) tökéletesen alkalmas. 16
17