1
000 – Előszó Üdvözöljük a Kedves Olvasót attól függetlenül, hogy mennyire van otthon a virtuális 3D világban. Biztosak vagyunk benne, de legalábbis reméljük, hogy mindenki hasznosnak találja majd a most kézben vett Blender Kódexet, mely e sorozat harmadik tagját képezi. Azt viszont még most, a legelső oldalon le kell szögeznünk, hogy a Blender Kódex sorozat ezen eleme sem hivatalos oktatóanyag, hanem a szerző(k) tanulás során elkészített részletes, képekkel bőségesen illusztrált jegyzeteinek tutoriál-szerűvé kalapált változata. Az elsődleges direktívát természetesen folyamatosan úgy határozhatjuk meg, hogy az egyes leckék, fejezetek tematikus sorrendben kövessék, vagy kiegészítsék egymást. A Blender Kódexek jegyzetszerűségét leginkább azzal igyekeztük szemléltetni, hogy a szövegben sok helyütt előfordulnak olyan ismétlődések, melyek az automatizmust erősítve a tanulást segítik. Ezek a részek általában úgy jelennek meg a szövegben, hogy a legtöbb helyütt az alábbi módokon emeltük ki őket: [Billentyűkombináció] (Gomb vagy paraméterező neve, általánosan használt megfelelők) Felhasznált fájlok nevei és kiterjesztésük Ajánlott vagy felhasznált webcímek Azt is megemlítésre érdemesnek tartjuk, hogy ez a kötet, valamint az ezt követőek közül még néhány Ferenczi Róbert oktatóvideó sorozatát figyelemmel követve készült. Csakhogy az Alap-Vető szériától eltérően már több területen eltér attól kisebb-nagyobb mértékben. Attól pedig, hogy a cím a gépekre vonatkozik, úgy véljük számos olyan ismeretet tartalmaz, mely másféle textúrázási orientáció esetén is hasznos lehet. A Blender, mint köztudott, ingyenesen, bárki által használható remek eszköz, mely meglehetősen gyorsan fejlődik. A harmadik Blender Kódex írásakor is létezett már 2,70 feletti verziószámmal kiadott változata, mi mégis a 2,69-es számút használtuk továbbra is. Emiatt kisebbnagyobb eltérések továbbra is előfordulhatnak az itt leírtaktól. Tehát az érdeklődőknek kellemes és hasznos olvasgatást, tanulás és időtöltést kívánunk! :-)
2
001 – Bevezetés, avagy kezdő lökés Annak érdekében, hogy kellőképpen hatásos képeket, esetlegesen megdöbbentően látványos animációkat legyünk képesek majd alkotni a nem is olyan távoli jövőben, tökéletesen tisztában kell lennünk vele, hogy miféle eszközök állnak rendelkezésünkre a kellő eredmény eléréséhez. Ezeket a rendelkezésünkre álló eszközöket pedig tudnunk is kell megfelelően használni, amihez persze némi rutinra is szükségünk lesz majd, hogy a munkánkat kellő hatékonysággal tudjuk elvégezni. A textúrázási munkánkat, de bármely más alkotói munkafolyamatot is komoly mértékben meggyorsíthatja a megfelelően kiválasztott, helyes hozzáállási és gondolkodási rendszer valamint a hatékony munkamenet. Nem mindegy ugyanis, hogy mennyi időre van szükségünk a kívánt, vagy elvárt eredmény eléréséhez. Ez főleg majd azoknak lehet nagyon fontos szempont, akik a későbbiek folyamán hivatásszerűen szeretnének foglalkozni a 3D modellezés valamely ágával. Nekik ugyanis hamarosan „az idő: pénz” lesz, és emiatt cseppet sem lesz mindegy számukra, hogy a munkájuk a jövőben majd mennyire lesz hatékony. Természetesen míg valaki tanul, vagy esetleg művészi indíttatásból foglalkozik a témával, és ezért használja a 3D modellezést mint képzőművészeti ágat, annak a hatékonyság a legtöbb esetben másodlagos szempont marad csupán. És ez jól is van így... Aki viszont pénzt is szeretne keresni ezzel a tudásával, annak nem elég egyszerűen elég színvonalas alkotásokat létrehoznia, hanem azt a lehető legrövidebb idő alatt kell megtennie. Ebben a megközelítésben az elvégzett munka értékét az adja meg, hogy minél kevesebb ráfordított idővel és energiával éri el a lehetséges legmagasabb elvárásoknak is megfelelő végeredményt az alkotó. A hatékonyság alapja pedig nem más, mint a tudatos munkamenet, ahol előre meghatározottan, tervszerűen követik egymást az egyes munkafázisok. A tanulók esetében, mint azt az imént említettük maga a tanulási folyamat a legfontosabb, míg a művészek és az érdeklődők esetében az önkifejezés, vagy pusztán csak az egyszerű kísérletezgetés áll jócskán a hatékonyság szempontja előtt.
Minél több elvégzett munka áll már a hátunk mögött, annál egyszerűbbnek fogjuk majd látni az egyes munkafolyamatokat, munkafázisokat. Ennek köszönhetően aztán idővel nem kis rutinra is szert tehetünk, ami aztán később még gyorsabbá és hatékonyabbá teheti majd a munkánkat. Ez annyit tesz, hogy kevesebb felhasznált idővel, befektetett energiával gyorsabban fogunk haladni. 3
Azt is nagyon fontos mindvégig szem előtt tartani, hogy a kellő rutin megszerzéséhez az esetleges kudarcaink is hozzájárulnak. Így ha valami nem úgy sikerül, mint ahogyan azt szerettük volna, vagy egyszerűen csak azt érezzük, hogy valami esetlegesen meghaladja a képességeinket, ne adjuk fel! Fussunk neki újból, és újból. Az sem baj, ha félretesszük a problémát egy kis időre, de mindenképpen törekedjünk a megoldásra, mert az ilyen helyzetek nagyon is a hasznunkra válhatnak majd a későbbiek folyamán is. Ami pedig legalább ennyire fontos az az, hogy becsüljük meg, és tudjuk értékelni a saját munkánkat. Amit egyszer már létrehoztunk, tehát időt és energiát használtunk fel arra, hogy elkészíthessük, ne dobjuk el felelőtlenül, hanem mentsük el. Archiváljunk arra az esetre, hátha valamikor, esetlegesen akár a közeli jövőben, még szükségünk lehet rá. Természetesen nagyon nem mindegy, hogy azt hogyan végezzük, mert ha mindent egy nagy kazalba hányva egyszerűen csak eltárolunk valahogy, akkor annak nem túl sok értelme lesz. Ha ugyanis nem megfelelően tároljuk el a dolgainkat, akkor kis idő múlva már szinte semmit sem leszünk képesek megtalálni. Ezt elkerülendő, dolgozzunk ki magunknak egy egyszerű, számunkra jól látható archiválási rendszert, ahol aztán a későbbiekben bármikor meg tudjuk majd találni azt amit keresünk, illetve amire szükségünk lesz.
Mindezek az alapelvek természetesen nemcsak azokban az esetekben érvényesek, ahol gépek modelljeit szeretnénk textúrákkal felruházva még valósághűbbé tenni, hanem eredményesen alkalmazhatóak akár organikus, vagy más, egyéb jellegű modellek esetében is.
4
002 – Textúrázási módszerek Annak tekintetében, hogy a textúra elkészítését miként végezzük, három főbb textúrázási módszert különböztethetünk meg: -Képszerkesztéses módszer: Ez a legtöbbször alkalmazott, mondhatni sztenderd eljárás, amikor egy 2D-s képszerkesztő program segítségével, (PhotoShop, Gimp, FireAlpaca) külön képfájlokat készítünk el, melyeket majd utólag fogunk textúraként használni. -Textúrafestéses módszer: Maga a textúra az objektum felszínének közvetlen megfestése révén jön létre. Erre a célra a Blenderen kívül használhatunk más, kifejezetten erre a célra szolgáló célszoftvert is (3D Coat, MARI). -Automatizált textúrázás: Csoportba szervezett modellek, modellrészletek, objektumok textúrázása alprogramok, szkriptek, add-on-ok, esetleg előre elkészített csomóponti rendszerek (Node Setup-ok) valamelyikének alkalmazásával. Nagyon termelékeny, de nem túl precíz módszer. Textúrák készítése 2D-s képszerkesztő programok (Gimp, FireAlpaca, Photoshop) alkalmazásával Lényege ennek a módszernek az, hogy a textúrázandó modellről UV-layoutot hozunk létre, majd ezeket 2D-s kép, illetve fotószerkesztő szoftverek (Gimp, FireAlpaca, Photoshop) segítségével töltjük meg a szükséges grafikai tartalommal.
5
Előnyök: -Nagyon sokféle komplex és célszoftver létezik az UV-layoutok megfelelő kitöltésére és feldolgozására és a textúrákat alkotó képek rétegekre bontott kezelésére, mely szoftverek között sok ingyenesen is hozzáférhető, (Gimp, FireAlpaca) teljes értékűen használható eszköz. -Az UV-layoutok birtokában aztán már sokkal gyorsabban lehet dolgozni. -A már elkészült diffúz szín (Diffuse Color) textúra felhasználásával már nagyon könnyen elkészíthető az objektumokhoz a domborzati (Bump, illetve Normal), valamint a csillanást szabályzó (Specular) textúra is. -Ezzel a módszerrel készíthetőek el a leginkább élethű, a legnagyobb részletgazdagsággal bíró textúrakészletek egy-egy modellhez vagy objektumhoz. -A komplexebb képszerkesztő programok (Gimp, FireAlpaca, Photoshop) nagyon hatékony eszközök garmadával állnak a rendelkezésünkre munkánk során. Ennek okán a sok kijelölési én manipulációs lehetőségeik révén rendkívül változatos összhatásokat érhetünk el. Akár még a modell anyagának befolyásolására is lehetőségünk nyílhat. -Módunk nyílik képrétegeken keresztül felépíteni az adott objektum megjelenítési színét adó diffúz színtérképet (Diffuse Color Map). Ezt a képszerkesztő programokban (Gimp, FireAlpaca, Photoshop) az egyes képrétegek finomhangolásával, kikapcsolásával, esetlegesen az alapvető rétegmódok megváltoztatásával tovább hangolhatjuk igényeink szerint, de akár újabb textúrák létrehozását is elvégezhetjük ezen a módon. -Nagyon hatékony ez a textúrázási módszer, de szinte csak abban az esetben, ha már kellő gyakorlattal rendelkezünk az általunk használt 2D-s képszerkesztő szoftver kezelését, alkalmazását illetően.
6
Hátrányok: -Nagyobb, sík felületekkel rendelkező modellek és objektumok esetében (gépek, épületek) nagyon egyszerű feladat ennek a módszernek az alkalmazása, viszont tagoltabb, komplexebb
7
felülettel rendelkezők esetében (organikus modellek) ez esetenként igencsak macerás, időigényes munkát jelenthet. -Kézzel (manuálisan) kell létrehoznunk a számunkra szükséges UV-layout képfájlokat az adott objektumokról. -Vizuálisan ez talán a legkevésbé nyomon követhető textúrázási módszer. A képszerkesztő programok (Gimp, FireAlpaca, Photoshop) alkalmazása során ugyanis csak kiterítve láthatjuk munka közben készülő textúránkat, ami miatt nem lehet túl jól előre látni, milyen is lesz az majd az adott modell felületére feszítve, hogy milyen összhatást fog majd adni. -A már késznek tekintett textúrák tesztelése, tesztrenderek készítése során a textúraként felhasználni szánt képfájlokat még át kell töltenünk a Blenderbe, hogy az képes legyen őket a renderelési folyamathoz felhasználni. Ez persze a Blender-Gimp szoftverpáros esetében, az External Paint Autofresh add-on használatával jócskán egyszerűbbé válhat a két szoftvereszköz közötti mentési-frissítési kapcsolat kezelésével. Textúrák készítése dinamikus textúrafestéssel Textúra készítése 3D-s szerkesztő programon belül, ami akár egy külső célszoftver is lehet a Blenderen kívül. Maga a textúra a 3D-s szoftver nézetablakában megjelenített modell, objektum felületére festve jön létre.
Előnyök: -Munka közben a készülés alatt álló textúrát folyamatosan látni lehet a modell felületén és nagyon egyszerűen elvégezhetők még a tesztrenderek is az aktuális készültségi fokok 8
leellenőrzéséhez. -Jobban megfigyelhető, hogy megfelelő-e az adott textúrához az aktuális bevilágítás, valamint hogy miként fog majd érvényesülni az adott anyag és környezeti beállítások mellett. -Nincs szükség az adott modell vagy objektum UV-layoutjának kézi (manuális) elkészítésére, mert egy egyszerű Smart UV-map elkészítése bőven elegendő lehet. -Élvezetes, gyors és kellően hatékony a munka ezzel a módszerrel.
Hátrányok: -A 2D-s képszerkesztő programokhoz viszonyítottan (Gimp, FireAlpaca, Photoshop) jóval kevesebb szerkesztési lehetőség áll a rendelkezésünkre. -Összetettebb jelenetek esetében elég nehéz lehet a felhasznált textúrák és képfájlok kezelése, elérése. -A képszerkesztő programokhoz képest egyes esetekben jóval lassabban érhetünk el vele megfelelő eredményt. Automatizált textúrakészítés Szoftveres úton, előre maghatározott lépéseket követve történik a textúrák létrehozása. Előnyök: -Talán ez a leggyorsabb textúra készítési eljárás, aminek köszönhetően talán a leghatékonyabbnak is tekinthetjük. -Nem kell külön-külön elkészíteni az egyes modellek, objektumok UV-térképét (UV-map) illetve UV-Layoutját. -Ez az egyetlen módszer azokra az esetekre, mikor csoportokba rendezett objektumok 9
textúráit is egy menetben elkészíthetjük. Az automatizált textúrakészítés nagyon jó eredménnyel kombinálható a 2D-s képszerkesztő programok (Gimp, FireAlpaca, Photoshop) alkalmazásával, de akár a dinamikus textúrafestés módszerével is, ha a feladat megkívánja. Hátrányok: -Az automatizált textúrakészítés (textúra generálás) legnagyobb hátránya voltaképpen a legnagyobb előnyéből adódik. Az automatizált eljárások során létrejött eredménye révén létrejött textúrák a legtöbbször jóval kevésbé részletgazdagok, és nem annyira élethűek mint a 2D-s szoftverek (Gimp, FireAlpaca, Photoshop) szoftverekkel, vagy dinamikus textúrafestéssel létrehozott textúrák. -Csomópont alapú textúraszerkesztés esetén jóval bonyolultabb csomópont rendszereket kell alkalmaznunk.
10
003 – Referenciaképek elemzése Referenciakép adatbázis Függetlenül attól, milyen textúrázási módszert alkalmazunk, mindig ugyanazt az öt fő munkafolyamatot kell elvégeznünk, melyek közül az első, a referenciakép elemzés. Ez amilyen elhanyagolhatónak tűnik, legalább annyira fontos, ugyanis lényegében ezen áll vagy bukik a munkánk végső sikeressége. Annak érdekében hogy kellően élethű textúrákat tudjunk létrehozni és megjeleníteni, esetleg ellenőrizni, tanulmányoznunk kell azt, amit szeretnénk modellezni, miként is néz ki a valóságban. Ez pedig egyben azt is jelenti, hogy meg kell tanulnunk egy kicsit más szemmel nézni a dolgokat a valós világban, valamint tudnunk kell kielemezni és szisztematikusan átlátni a látottakat. Ebben hatalmas segítséget nyújthat számunkra, ha akár csak lassan, gyűjtögetve is, de létrehozunk magunknak egy saját referenciakép adatbázist. Ezt az eszközt nagyon sok alkotó és művész használja lélegzetelállítóan élethű textúrák létrehozásához. A referenciakép adatbázis viszonyítási alapként használható képek logikusan felépített, jól rendszerezett és gyakran naprakészen karbantartott speciális gyűjteménye. Itt pedánsan és jól átláthatóan tárolhatjuk a különböző képfájljainkat, általunk megadott általános szempontokat figyelembe véve. A leggyakoribb szempont példának okáért a dolgok állapota, (rozsdás, kopott, koszos tárgyak) de akár az azokat alkotó anyagok is meghatározó szempontja lehet a referenciaképek szelektálásának (réztárgyak, műanyag tárgyak, üvegtárgyak stb.)
A saját referenciakép adatbázisunkba seregnyi helyről juthatunk megfelelően használható képekhez, de alapvetően két típusba sorolhatjuk őket. Létező tárgyak fotói: A referenciakép adatbázisunk legnagyobb részét ezen képek alkotják, és leginkább az alábbi forrásokból származó képeket használhatjuk fel: -Saját magunk által készített fotók. -Könyvekből, folyóiratokból származó papír alapú képek, és ezeknek digitalizált (szkennelt) változatai. -Internetről letöltött képfájlok. Más alkotóktól származó képek: Ezek, mivel nem mindig a valóságos megjelenési formáját mutatják a dolgoknak, inkább csak saját munkánkhoz mért viszonyítási alapnak, és inspirációs forrásnak használjuk. Az ide tartozó képek ugyancsak több helyről juthatnak el hozzánk. 11
-Internetről származó képek. -Filmekből kiemelt képkockák. -Számítógépes játékok képernyőképei (Screenshot-ok). Mivel modellezés és textúrázás közben az egyik legfőbb célunk lehetőségeinkhez és tudásunkhoz mérten a valóság lehető legtökéletesebb visszaadása, munkánk során sokszor kell szemrevételeznünk a munkánkhoz kapcsolható referenciaképeket a kellő eredmény elérésének érdekében. Azt viszont figyelembe kell vennünk, hogy a más alkotóktól származó képek nem egy esetben erősen manipuláltak abban az értelemben, hogy számos változtatáson mentek keresztül, míg végre eljutottak hozzánk. Tehát voltaképpen egy egyéni alkotási folyamat révén jöttek létre, amihez esetlegesen még egyéb utómunkálatok is hozzá jönnek. Már csak ezek révén is állnak néha igenigen messze a valóságtól aminek okán sohasem tekinthetőek kizárólagos viszonyítási alapnak (referenciának). E képek viszont tanulságként, lelkesítés gyanánt nagyon is alkalmasak, ami mellett sok új ötletet is meríthetünk belőlük. Az objektumok mintázatának megfigyelése Mindenek előtt mielőtt bármiféle textúrát is létrehoznánk, meg kell figyelnünk az adott objektumon fellelhető mintázatokat, melyeket két alapvető típusba sorolhatunk. -Globális (kiterjedt) mintázat: Ezek az objektum teljes, vagy csaknem teljes egészére jellemző mintázatok, melyek gépek esetében legtöbbször az eredeti gyári külsőt adják, mint például az alapanyagra jellemző rajzolatok, valamint az eredeti festés és egyéb táblák, feliratok. -Lokális (helyi) mintázat: Az objektumoknak csak egy meghatározott részein lelhetőek fel. Ezek főleg a használatból eredőek, vagy esetleg a használat során keletkező sérülések és környezeti hatások révén jönnek létre. Először mindig a globális mintázat legkisebb egységét kell magunknak meghatározni, ebből alakíthatjuk ki majd a teljeset, és csak ezt követően. A lokális mintázat létrehozása voltaképpen annyit jelent, hogy szimuláljuk a modell sérüléseit, a rajta lévő szennyeződéseket, és minden egyéb olyan dolgot, ami utólag kerülhetett rá. Ilyen mondjuk a rozsda, és az olajfoltok. Ha nem léteznének lokális (helyi) mintázatok, gyakorlatilag egyetlen folytonossá tett (Seamless) textúra elég lenne a modell teljes beborításához, illetve a készre textúrázásához. Csakhogy a valós életben ilyen gyakorlatilag egyáltalában nem létezik, mert minden valós tárgyon létezik valamiféle hiba, apróbb eltérések, minimális felületi szennyeződés, és egyéb kisebb de jellemző részlet, amiket aztán később nekünk kell elhelyezni a megfelelő részeken. Érdemes megjegyezni azt is, hogy akár a legegyszerűbb modell is hihetetlenül élethűvé tehető megfelelő részletgazdagsággal rendelkező lokális rajzolatokat megjelenítő textúrák használatával. Ha tehát ezen textúráink jól sikerültek, az már nagyon sokat dob a munkánkon. -A referenciaképre ránézve először mindig objektumokra bontjuk le az ott látottakat. Igyekezzünk mindig a lehető legkisebb alkotóelemig visszamenni a képen látható objektumok felépítésének elméleti lebontásában. -Elkülönítjük, hogy mi minden az, ami a globális (kiterjedt) mintához tartozik, vagyis hogy mi az, ami az objektum újkori, gyári állapotához köthető. -Egyenként megpróbáljuk elkülöníteni és beazonosítani a lokális (helyi) mintázatokat alkotó részleteket, amik a használat vagy egyéb behatások révén jöhettek létre az objektum modelljén. Nagy szerencsénk van abban a tekintetben, hogy a gépek esetében csaknem minden egyes objektum esetében ugyanaz a néhány jellegzetes lokális (helyi) mintázattípus fordul elő. Ezért a legtöbb esetben bőven elég ennek a néhány lokális mintázatot megjelenítő textúra 12
elkészítése és használata. Elég lehet tehát elsősorban ezekkel tisztában lenni, és létrehozni egy egyszerűbb, két-három textúrarétegből álló rétegszerkezetet a kellő eredmény érdekében. Legtöbbször több nem is kell egy gépi modell kellően élethű és realisztikus textúrázásához. A leggyakoribb lokális (helyi) mintázati típusok Mázga: Az első, amivel szembesülhetünk akár a legújabban elkészült gép vagy objektum felületén, hogy az emberi érintés, tapintás révén némi zsírszerű hatást adó szennyeződés jelenik meg. Ennek az összemázgálódásnak a hatására könnyen megváltozhatnak az egyes felületek fényvisszaverési és tükröződési képességei. Ilyen szennyeződés példának okáért az ujjlenyomat is.
Kosz: A már létrejött mázga jellegű felületi szennyeződésekbe por tapad, mert a finom porszemcséket megfogja a zsíros mázgaréteg.
Olaj és egyéb más foltok: Gépek esetében elég gyakran találhatóak a lokális mintázatok között olyan szennyeződésekre visszavezethető motívumok, melyek különféle elszíneződéseket hozhatnak létre az adott felületeken.
13
Általános elszíneződések: Az egyes objektumok felületén nagyon sok okból létrejöhetnek különféle elszíneződések, melyeket leginkább a napsütés vagy egyes kémiai anyagok hozhatnak létre a leggyakoribb esetekben. Ilyen a napfény által kialakult fakulás, vagy a savak maró hatásának köszönhető sötétedés.
Karcolás: ezek az első felületileg megtapasztalható fizikai sérülések a valós objektumok felszínén a lokális mintázatban, melyeket a legtöbbször a hosszan tartó gyakori használat vált ki leginkább. A karcolások esetében már leválik a festék a gyárilag makulátlan felületekről, és ennek fedőrétege alól az objektum alkotó agyaga, ami a legtöbb esetben fémes jellegű, napvilágra kerül. Ez a mintázati típus annak okán is bír viszonylag nagy jelentőséggel, mert ebben az esetben már két, teljesen más tulajdonságokkal rendelkező anyagról van szó. Az előzőekben bemutatott lokális (helyi) mintázattípusok ugyanis nem befolyásolták az anyagok tulajdonságait. Egy karcolásokkal teli felület esetében viszont már egy új anyagot, vagyis teljesen új Shader-eket (árnyalókat) is muszáj lesz használatba vennünk a realisztikusabb hatású végeredmény érdekében.
Kopás: A használat során létrejövő minimális sérülés a gyári festésen, amely leginkább széleken és az objektumok kiállóbb elemei körül szokott jelentkezni. Akárcsak a kosz esetében, úgy a kopásoknál is egy új anyag bevezetésével kell csaknem minden esetben számolnunk.
14
Lepattogzódás: Ez a fajta lokális (helyi) mintázat jóformán bárhol jelentkezhet az objektumok felületén, és ugyancsak két anyagot érint egyszerre. Viszont itt már csaknem kizárólag az éles határvonal, valamint az esetenként jócskán töredezett határvonal-vezetés a jellemző.
Rozsda: Ez a leginkább bonyolult lokális (helyi) mintázat, ami a legtöbbször nemcsak kettő, de néhány speciális esetben nem ritkán négy-öt újabb anyag bevezetését is jelenti. A legáltalánosabban egy festett alapanyag, egy festékanyag, valamint egy rozsdás anyag által alkotott hármas anyagréteg jellemzi. A rozsda esetében annak révén is nő a rajzolat bonyolultsága, mert nemcsak a festetlen felületeken jelentkezhet a korrózió.
Folyások: A kosznak és a rozsdának csaknem minden főbb jellegzetességét ötvözi ez a fajta lokális (helyi) mintázati típus. Az ilyen jellegű felületi szennyeződések mintázata ugyan jellegzetes, de míg a kosz esetében a szennyeződés alapja a tárgyra rakódott vékony mázga, addig a folyások esetében ezt a szerepet a víz,vagy valami más folyadék tölti be. Gépek esetében leggyakoribbak a rozsda, a kosz, illetve a festék folyások.
15
Egyéb felszíni elváltozások: Ez nem is tekinthető valódi lokális (helyi mintázat típusnak ezért kicsit ki is lóg a sorból. A rozsdásodást követő korróziós folyamatoknak a tárgyak felszínén való megjelenése ugyanis annyira heterogén, hogy ezeket ugyancsak újabb anyagok bevezetésével van csak lehetőségünk realisztikusan megjeleníteni, Azonban erre csak ritkán van szükség, mert ezek csak a csaknem teljesen használhatatlan objektumokra jellemzőek. Ide sorolhatjuk még továbbá az erős használat során keletkező kisebb horpadások és letörések is.
A gépek állapotának megjelenésbeli jellemzői Annak következtében, hogy egy gépet mennyi ideje használnak, illetve hogy egyáltalán milyen mértékben van már elhasználódva, vázlatosan három nagyobb kategóriába sorolhatjuk őket, mely kategóriák számos jellemzőit a referenciaképeinken is megtalálhatunk. I. - Új állapotú objektumok: Voltaképpen a vadonatúj, gyári, vagy az attól még csak nagyon kevesebbé eltérő állapot. Nagyon fiatal gépek, berendezések, járművek, melyeken semmiféle külsérelmi nyom és csak minimális szennyeződés lelhető fel. Maximum a mázga, vagy legfejjebb egy kis felületi koszolódás jellemző rájuk. II. - Használat alatt álló gépek: Ezek az átlagos, mondhatni „használt” kategóriájú objektumok, amiket már jócskán több lokális mintázat jellemez. Minél inkább régebbi az adott objektum, a rajta megtalálható lokális (helyi) mintázat annál bonyolultabbnak tűnik. Ide voltaképpen bármiféle mintázatot beleérthetünk, bár az egyéb elváltozások durvább hatású változatai még nem igazán szoktak rajtuk jelentkezni. III. - Ócska és pusztuló gépek: Ebbe a kategóriába csak a rozsdás, erősen eltorzult objektumok tartoznak. Jellemzőjük az esetenként hihetetlenül bonyolult lokális (helyi) mintázati szerkezet, és hogy az eredeti, gyári állapotot idéző globális (kiterjedt) mintázatból esetenként még mutatóban is alig észlelhető valami. Amellett a lokális (helyi) mintázat rendszerében sok szerep jut számos alkalommal a hangsúlyozottabb egyéb elváltozásoknak. 16
A felületi mintázatok és az objektumok anyaga közti kapcsolatok Abban az esetben, ha az objektumok különféle mintázatai semmiféle hatással nem lennének hatással az objektumokat alkotó anyagra, akkor nagyon egyszerű lenne a dolgunk. Egyszerűen csak egyetlen textúra képfájlját kellene ráfeszítenünk a modellre és semmi szükségünk nem lenne arra, hogy a textúrázást egy hosszadalmas, nagy odafigyelést igénylő munkafolyamatnak tekintsük. Egyetlen textúra létrehozása után hátradőlhetnénk a széken, és kész.... Csakhogy, mint ahogyan az az életben a legtöbbször lenni szokott, ez egyáltalán nem így van! Az objektumok felszíni mintázatainak összessége ugyanis nagy mértékben megváltoztathatja a tárgy felületének érdességét, valamint a fényvisszaverődési képességét egyaránt, nem csak pusztán a diffúz fényét. Mindezek közül azonban a fényvisszaverési képesség tulajdonsága az, ami döntő jelentőségű a majdani modell élethűségének tekintetében. Ha két anyag leginkább abban különbözik egymástól hogy az egyik jobban visszaveri a rá vetülő fényt mint a másik, meglepő módon sokkal jobban észre lehet venni a két anyag határait, ha mondjuk ugyanez az eltérés az anyagok között a diffúz szín árnyalatában adódik. Biológiai okokra 17
visszavezethetően az emberi szem ugyanis bizonyítottan érzékenyebb a fényviszonyok különféle eltéréseire, mint a színek közti tónuskülönbségeinek változásaira, vagy akár maguknak a színeknek a változásaira. Ez magyarázza azt, hogy ezek a tulajdonságok befolyásolják bennünk annak az érzését, hogy amire ránézünk, mennyire tűnik jellegzetes, ismerős megjelenésű anyagnak. Hogy egy fémes anyag van-e a szemünk előtt, egy üvegszerű, vagy esetleg valami műanyag. Hogy maga az anyag laza szerkezetű műanyaghab-e, avagy kőkemény nemesacél.
Tehát az anyagokra jellemző lehetséges mintázati rajzolatok tehát döntően változtathatják meg az egyes anyagszerkezetek összességének egyesített fényvisszaverő képességét. Ilyen jellegzetes rajzolat például az ujjlenyomat, a rozsdafolyások, a horzsolások, valamint az ütődések is. Az egyes jelenségekre visszavezethető lokális (helyi) mintázatok, mint például a karcolás, kopás, vagy akár a lepattogzódás, valójában hiányt, lyukat jelentenek az adott objektum globális (kiterjedt) mintázatot magán viselő anyagon. Ennek révén az objektumokat alkotó anyagot, például szerszámacélt a festék alatt, egyes részeken látni engedik számunkra. A rozsda, és a hasonló jellegű szennyeződések, mint mondjuk a sár, pedig újabb lokális mintázatot alkotó anyagok bevezetését teszik szükségessé. A realisztikus megjelenítés érdekében tehát esetenként három vagy négy, egymástól eltérő tulajdonságokkal rendelkező anyagból álló rétegszerkezetet kell létrehoznunk (Setup) annak érdekében, hogy az összes fellelhető felületi jelenséget amely a lokális (helyi) mintázat révén csak elképzelhető, kellő élethűséggel adhassunk vissza. Erre már csak annak okán is szükség lehet, mert ritkán jelentkezik egy tárgyon a létező összes lokális (helyi) mintázat típusra jellemző felületi rajzolatok valamelyike. A valós állapotokra legtöbbször az a jellemző tehát, hogy a dolgok, amiket igyekszünk a lehető legélethűbben megjeleníteni, legtöbbször többé-kevésbé kopottak, szennyezettek, sőt esetenként akár sárosak is lehetnek, de sohasem makulátlanul tiszták és sterilek. Lehet, hogy csak jól össze vannak fogdosva, vagy enyhén karcosak, de nem tökéletesek. Egy végletekig elrozsdásodott objektumon viszont egy kis ujjlenyomat gyakorlatilag már észre sem vehető. Ezért is van az, hogy az élethűségért leginkább a lokális mintázat rajzolatai és azoknak a mintázata a leginkább felelősek. A textúrák képeinek méretének meghatározása Nagyon fontos hogy végiggondoljuk, mekkora lesz majd a képernyőn, illetve a végső megjelenítés során a készre renderelt objektumunk a kép teljes méretéhez képest. A messzire lévő, valamint a csak kevés fényt kapó objektumok ugyanis sokkal kevésbé látszanak a valóságban is részletgazdagnak. Ezért ezeknek nem is muszáj olyan részletes textúrákat kapniuk mint a közeli, jobban megvilágított objektumoknak. A textúraként felhasználandó képek méretét már csak emiatt is érdemes úgy megválasztani, hogy ha valami messzebb van, vagy sötétebb képrészletben fog csak megjelenni, nem érdemes 18
hatalmas képfájlokat használni. Ezzel rengeteg erőforrást takaríthatunk meg. A textúrák méreteit emiatt érdemes úgy megadni, hogy megfeleljen az objektum képernyőn, vagy a kész képen megfelelő méretének.
Egy Full HD, azaz 1920x1080 as renderelt képméret esetén, ha a modellezendő objektumunk ki fogja tölteni majd a teljes képméretet, célszerű például 1080x1080-as képméretet választani a textúráknak. Ezt persze lecsökkenthetjük 1024x1024-re. Ha viszont az objektum csak a kész kép felén lesz majd látható, textúraméretnek teljesen megfelelő az 512x512 pixeles képméret. Értelemszerűen, ha a modellezett objektumunknak egy jelenetben csak a fele látszik a képen, vagyis ha nagyon rá van közelítve a kamerával, akkor az 1920x1080-as képmérethez viszonyítottan megfelelő 1024x1024-es képméretet is meg kell dupláznunk, azaz 2048x2048 as méretű képfájlokat kell felhasználnunk, hogy na essen szét a textúra a modellünk felületén. A textúrák képfájljainak a méretét azért is célszerű ezen elv szerint előre meghatározni, vagyis optimalizálni, és erre minden esetben odafigyelni, mert a nem kellőképpen optimalizált textúrák használata esetenként hihetetlen mértékben képes megnövelni a renderelési folyamat erőforrásigényét. Úgy processzorhasználat, mint memória és időigény tekintetében. Ezzel pedig teljesen feleslegesen dolgoztatjuk meg a számítógépünket. Élő valós dolgokat ábrázoló fényképek tanulmányozásával még azt is megfigyelhetjük, miként mennek át egymásba az egyes anyagok, hogy miként verik vissza a fényt, milyenek a felületükön jelentkező érdességi tényezőik az egyes felületeken, továbbá hogy az egyes részek miként adják vissza a színeket. Az egyik legfontosabb tulajdonság azonban, mint azt már említettük, 19
az anyagok fényvisszaverődési képessége. Bizonyos esetekben viszont, hogy valóban élethű legyen a végső textúraszerkezetünk megjelenése a modellünk felületére feszítve, néha a fényvisszaverődés (Specular Shader) helyett a tükröződési tulajdonságokkal (Mirror Shader) kell dolgoznunk. A tükröződés (Mirror) alapú csillogások többek között azért is tűnhetnek élethűbbnek, mert az alap csillanás (Specular Shader) nem képes a Fresnel effektus szimulálására. Ez azért okoz számunkra sokszor nehézséget, mert valójában csaknem minden létező anyag rendelkezik valamelyest Fresnel-effektus alapján megjelenő tulajdonsággal. Maga a Fresnel-effektus azt takarja, hogy a nézőponttól függően változik az egyes tulajdonságok megjelenésének mértéke. Merőlegesen nézve nem látunk belőlük semmit, ugyanakkor lapos szögekben már jóval határozottabban látszanak. Ez leginkább az átlátszóság illetve a tükröződés tulajdonságok esetében jellemző. A fényvisszaverő képesség tehát alapvető mértékben határozza meg az általunk létrehozott anyagok életszerű megjelenését a majdani munkánk végeredményén. Emellett minden anyagnak megvan a maga fénytörési mutatója, melyet jó hatásfokkal használhatunk a Fresnel-effektus megjelenítése során. A referenciaképek megvizsgálása és a tesztrenderek szisztematikus sorozatban történő elkészítése során a folyamatos összehasonlítás elvét követve kelléképp élethű eredményt hozhatunk létre munkánk során, legyen az kép, avagy videó. Viszont ez csak akkor fogy bekövetkezni, ha már pontosan tudjuk, mit látunk a referenciaképeinken, illetve hogy milyen buktatókra kell odafigyelnünk. Referenciakép elemzés a gyakorlatban Példa: Retro GAZ személyautó gépháztető
1 – Matt fekete festés. 2 – Felületi kosz és cseppmintás koszfolyások. 3 – Rozsda a gépháztető alsó peremén. 4 – Ezüstös, műanyag embléma anyag. 5 – Besárgult, repedezett műanyag emblématakaró lap. 20
Példa: Régi tájékoztató tábla
1 – Festett fém alapfelület. 2 – Rozsdafolyások a rögzítőszegecseknél. 3 – Régi matrica maradványai. 4 – Rozsda áttörések. Példa: Régi vastábla
1 – Átütött felirat. 2 – Eredeti fekete festés maradványai. 3 – Festékmaradványok lepattogzódása. 4 – Felszínes rozsdafoltok. 5 – Mélyebb, vastagabb rozsdával fedett területek. 6 – Moha a nagyobb mélyedésekben. 7 – Régi rögzítőszegecsek. 8 – Poros kőzet alapú szemcsés szennyeződés.
21
Példa: Piszkos autó
1 – Csillogó, tükröződő kék alapfestés. 2 – Fekete matt műanyagfelület. 3 – Kosz és koszfolyások a lökhárítón. 4 – Kosz a karosszérián. 5 – Kosz a szélvédőn. 6 – Az ablaktörlő által tisztán tartott szélvédőfelület. 7 – Koszos, sáros gumik. 8 – Az első kerék által a karosszériára jellegzetes módon felhordott sár és kosz. Példa: Pilis-barlang páncélajtaja
1 – Felületi hegesztéssel létrehozott, domború „PILIS-BG” felirat. 2 – A hegesztési varratba beállt kosz. 3 – Festett piros alapszín. 4 – Többféle rajzolat alapján előtűnő fehér alapfestés. 5 – Rozsdás felületű acéllap. 6 – Rozsda az alsó széleken. 7 – Rozsdásodás a felső szegélyeken. 8 – Csillogó, frissen külvilágra kerülő fémes felületek. 22
Példa: Megviselt konténer
1 - Festett „VIZIMENTŐ” felirat kopottas, nem éles szélű. 2 – Rozsda az alsóbb részeken és a küszöbnél. 3 – Horpadásnyomok a konténer oldalán. 4 – Kopások a felső szegélyen. 5 – Festéklepattogzódások az alumínium oldallapon. 6 – Rozsdás csavarok a konténer oldalán. 7 – Koszfoltok az alsó részen. 8 – Szerelvénydoboz koszos nyoma az ajtó mellett. Példa: Veterán autóroncs
1 – Fekete alapszín. 2 – A pótkerék fehéres kopásnyomai. 3 – Rozsdafoltok. 4 – Kilátszó fémlemez. 5 – Vastagabb rozsdaréteg és rozsdafolyások. 6 – karcolások a hátsókerék felnijén. 7 – Festék felhólyagosodás és lepattogzódás. 8 – Poros gumik.
23
004 – Anyagszerkezetek szimulálása és felépítése Miután sikerült végre kiválasztanunk egy referenciafotót, ami alapján megpróbáljuk felépíteni az általunk modellezni kívánt anyagot, és a képet kellő alapossággal kielemeztük, elkezdhetjük az objektumunk anyagának szerkezetét felépíteni.
Lényegét tekintve három alapvető eljárás közül választhatunk, de azt, hogy miként bontjuk objektumokra a referenciaképen látottakat, illetve hogy milyen kisebb egységekre szedjük szét a képen látható céltárgyat, nem igazán érdemes részletekig menően kivesézni, mert ezt minden esetben más és más szempontok befolyásolják. Már csak annak okán is, hogy csaknem minden dolog ezerféle szempont szerint vizsgálható ebből a megközelítésből. Minden tárgynak más-más tulajdonságok lehetnek az anyagában amire fel lehet figyelni, és más lehet az egyes tulajdonságú részek rétegződése is. Ezért erre konkrét szabályokat talán nem is lehetne igazából felépíteni. Az alábbiakban csupán egy-egy egyszerű példát létrehozva a lényegesebb mozzanatokat és összefüggéseket szeretnénk legfőképpen bemutatni, illetve a jellegzetes buktatókra rávilágítani. A célunk az, hogy ez alapján mindenki megtalálja az utat ahhoz, hogy létrehozza amit szeretne, és új ötletekhez is jusson eközben. Az esetek túlnyomó többségében a használatban lévő gépek leginkább egy három rétegű anyag használatával kellően realisztikus módon modellezhetőek le, de ez természetesen alkatrészenként értendő anyagréteg mennyiséget jelenti. Ennek értelmében egy nagyon egyszerű gép esetében (véső, ágyúgolyó, vascső) ez a három darab anyagréteg bőven elegendő lehet, viszont egy-egy bonyolultabb, komplexebb felépítésű anyag esetében (robotok, berendezések, járművek) ez a többszöröse is lehet ennek. Nem egy esetben több tíz anyagréteget kell kezelnünk a modellezés során. Azt viszont mindvégig tartsuk szem előtt, hogy bármilyen ügyesek is vagyunk, a munkánk eredménye csupán egy számítógépes utánzata lesz az eredeti tárgynak és semmi esetre se várjuk el magunktól - főleg eleinte ne - a fotorealisztikus megjelenítést. Maximum csak törekedhetünk rá, hogy első ránézésre az általunk felépített rétegzett tulajdonságokkal rendelkező anyag a lehető legélethűbbnek látszódjék. Példának vegyünk tehát egy olyan objektumot, amely háromféle anyag összességéből rétegződik össze. Három eltérő tulajdonságú anyag: - fém – festett felület – rozsdás felület helyezkednek el egymás feletti rétegekben.
24
Anyagszerkezetek felépítése 2D-s képszerkesztő programokban Ez a módszer a legegyszerűbb, de használatát tekintően van néhány hátránya is. Lényegét tekintve arról van szó, hogy az anyagot felépítő anyagrétegek (fém, festék, rozsda) diffúz szín (Diffuse Color), felületi érdesség (Bump) és csillanási, fényvisszaverődési képesség (Specular) térképeit (Map) nem külön-külön kezeljük, hanem egy 2D-s képszerkesztő programban, ami esetünkben a GIMP, összevonjuk. Így három darab általános, eredő térképet hozunk létre. Egy diffúz szín térképet (Diffuse Color-map), egy domborzati térképet (Bump-map), illetve egy csillanási térképet (Specular-map) hozunk létre. Ez nagyban megkönnyíti a dolgunkat, mert csak három textúrát kell létrehoznunk a Blenderben az anyagszerkezet valós megjelenítéséhez. Az egyes anyag összetevők (fém, festék, rozsda) saját térképeinek képét maszkok használatával hozzuk létre. Maszkokkal befolyásoljuk tehát az egyes részek láthatóságát és elrejtettségét. Gyakorlatilag a végeredményként kapott három képfájl Blenderben való felhasználásával létrehozhatunk egy-egy egyszerű felépítésű anyag rétegszerkezetet. Nagyon fontos, hogy arra is odafigyeljünk, hogy az egyes források megegyező méretűek legyenek. Példáink esetében mindenkor a 2048x2048 felbontású képméret a mérvadó. Diffúz szín térkép (Color-Map) képének létrehozása GIMP-ben: A GIMP-ben létrehozunk egy 2048x2048 méretű új képet, amibe új rétegekben (megnyitás rétegként) beillesztjük az egyes anyagunkat alkotó rétegek (fém, festés, rozsda) képfájljait. Állítsuk be köztük úgy a rétegsorrendet, hogy az az anyag legyen a legfelső rétegen, amelyik az anyagunkon a legalsó, jelen esetben ez a fém anyaga. Legalulra pedig a legfelső anyagréteg, a rozsda képe kerüljön.
25
A fém képrétegéhez adjunk hozzá egy átlátszatlan (fekete) maszkot, és fehérrel fessük ki rajta azokat a területeket, ahol majd a fémrétegnek ki kell látszódnia a festés alól. Ezt követően a festék képrétegének is adjunk egy ugyanilyen maszkot, ahol pedig azokat a területeket kell kifestenünk, ahol nem szeretnénk hogy az alatta lévő, azaz legfelső rozsdaréteg kilátszódjon. Ha ezzel megvolnánk, már csak el kell mentenünk a képünket egy külön képként. Jelen esetben ez azt jelenti, hogy a réteges anyagszerkezetünk diffúz eredő textúraképét kiexportáljuk egy GIMP_DiffuzColorMap.jpg nevű fájlba. Domborzati térkép (Bump-Map) képének létrehozása GIMP-ben: Jelen esetben nyugodtan kiindulhatunk ugyanabból a törzsfájlból, ahol az imént a diffúz szín térképet (Color-Map) létrehoztuk a GIMP-ben, de a jobb ellenőrizhetőség kedvéért átmenetileg kapcsoljuk ki a rétegmaszkokat. A domborzati térképek (Bump-Map) elkészítéséhez először is minden képréteg színezetét állítsuk telítetlenné, hogy szürkeárnyalatos képrétegeket kapjunk.
Ezután ha szükséges invertálás, némi fényerő, kontraszt, valamint színszint korrekció után állítsuk be az egyes képrétegek tartalmát. Eközben azt vegyük figyelembe, hogy a Domborzati térképek (Bump-Map) leképezése során a Blender a világosabb részeket magasabbnak, a sötétebb részeket pedig mélyebbnek értelmezi. A mélyedések, karcolások mindig feketébbek, mert negatív irányú felületváltozást jelentenek, a kiemelkedések és a dudorok pedig világosabb színűek. Ennek okán szem előtt kell tartanunk, hogy a rozsda képrétege kicsit világosabb legyen a többinél, mivel ez van a legmagasabban. Továbbá az is lényeges, hogy a festett felület domborzati képét (Bump26
Map) tegyük homogén színűvé, hogy az esetleges feliratok ne befolyásolják a felület simaságát. A továbbiakban pedig már csak vissza kell kapcsolnunk a fém és a festék képrétegeinek maszkjait, és már ki is exportálhatjuk a kész eredő domborzati térképünk (Bump-Map) textúrájának a képét mondjuk GIMP_BumpMap.jpg néven. Csillanási térkép (Specular-Map) képének létrehozása GIMP-ben: Akárcsak a domborzati térkép (Bump-Map) esetében, itt is a diffúz színtérkép (Color-Map) törzsfájljából is kiindulhatunk akár, de kicsit másképpen kell eljárnunk, mint a domborzati térkép (Bump-Map) esetében tettük.
A csillanás és a fényvisszaverési képességek tekintetében azt kell figyelemben tartani, hogy például a karcolások fényesebb felületeket adnak, ezért ott világosabbnak kell lennie a képeknek. A rétegmaszkokat ugyanúgy kikapcsolhatjuk átmenetileg, hogy ne zavarjanak. A fém képréteget csak telítetlenné kell tennünk, és korrigálni a fényerőt és a kontrasztot. A festett réteget, mivel ez teljes felületén csillan, töltsük ki fehérrel, a rozsda képrétegét pedig, mivel abszolút matt felületet ad majd, feketével kell kitölteni. A rétegmaszkok visszakapcsolása és az egyes rétegek szükség szerinti összehangolása után már exportálhatjuk is a késznek tekinthető csillanási térképünk (Specular-map) képét GIMP_SpecularMap.jpg fájlként.
27
A Blenderben az objektum textúraszerkezetének felépítése során így csak egy-egy képfájlt kell felhasználnunk a szín, (Color), a domborzati (Bump) és a csillanást vezérlő (Specular) textúra elkészítése során. Fontos, hogy a textúrák kivetítésének alapjául mindig az UV koordinátákat állítsuk be, továbbá hogy a textúra panel (Texture) Influence csoportjában az RGB to Intensity jelölőnégyzetet is minden esetben kapcsoljuk be.
Az anyagszerkezetek 2D-s képszerkesztő programban (GIMP) való összeállítása során azzal a hátránnyal kell számolnunk, hogy bár ez a leggyorsabb megoldás talán, a végeredményként kapott képek nagyon nehézkesen módosíthatóak utólag. Ez a módszer tehát elég merev, és ahhoz, hogy már elsőre mindig azt a végeredményt kapjuk, amit célként kitűztük magunknak. Bármiféle változtatást szeretnénk kieszközölni a kész textúránk összhatásán, az egyes képek módosításához, melyeket az anyagszerkezet létrehozásához használtunk, vissza kell lépnünk a GIMP-be, és ott kell elvégeznünk egyenként a kellő változtatásokat az egyes képeken. Ezután egyenként el kell menteni őket, és újból betölteni a Blenderbe. Bármiféle utólagos változtatás e módszernél a legnehézkesebb és munkaigényesebb. Csomópont alapú textúraszerkesztés során is könnyedén felhasználhatjuk a 2D-s képszerkesztő programban (GIMP) létrehozott képeket a Blenderben. Egy konténer textúrát létrehozva (TextContainer) egy-egy textúra csomópont segítségével beimportáljuk a képfájlokat, és mindegyikhez hozzákötünk egy-egy kimeneti csomópontot (Output Node) is. Az egyes kimeneti csomópontokat nevezzük el annak érdekében, hogy később majd könnyebb legyen azonosítani őket. (ColorTex, BumpTex, SpecularTex). A domborzati térkép textúrájának felhasználásához be kell kötnünk egy színtelenítő csomópontot (RGB to BW Node), és egy normálokká konvertáló csomópontot (Value to Normal Node), a textúra panel (Texture) Influence csoportjában a Color helyett a Geometry paraméterezőt 28
használjuk. A hozzá tartozó kimeneti csomópont (Output Node) Normal bemeneti csatolópontját is használnunk kell a színbemenet (Color) helyett. A csillanási textúra létrehozásához pedig az RGB to Intensity jelölőnégyzetet is használnunk kell.
Ha készen vagyunk a csomópont szerkezettel, már csak egymástól függetlenített konténer textúra másolatokat kell létrehoznunk, és mindegyiken egyenként be kell állítanunk az adott textúra megjelenítéséért felelős kimeneti csomópontot (Output Node) a textúra panelen. 29
Természetesen ha a Blender csomópont kezelőjében (Node Editor) dolgozunk, megfigyelhetjük hogy itt már nem működik a GLSL előnézeti mód, ezért vagy a 3D nézet ablak (3D View) megjelenítési módját Rendered-re állítva ellenőrizhetjük a munkánk eredményét, ami persze koránt sem tökéletes visszajelzés, ezért ennek érdekében sokkal jobb hatásfokkal dolgozhatunk tesztrenderek készítésével.
Anyagszerkezetek tulajdonság alapú maszkolással való felépítése Ez a módszer már teljes egészében a Blender csomópont szerkesztőjére (Node Editor) épül, annak a textúra szerkesztő módját használva. 2D-s képszerkesztő program (GIMP) használata maximum a képek és esetleg még a maszkként felhasználni kívánt képek létrehozásához lehet szükséges.
A lényeget illetően arról van szó ebben az esetben, hogy a textúrákat egymás tulajdonságaihoz viszonyítva takarjuk ki a hozzájuk rendelt maszkokkal, és így külön-külön az objektum színezetéért felelős diffúz szín, a domborzatot meghatározó Bump-map, illetve a fényvisszaverő képességeket vezérlő Specular-Map textúrák eredményeit külön-külön kapjuk meg. Maga a művelet hasonlóképpen zajlik le, mint az előzőekben taglalt módszert használva, de itt már a Blenderen belül, maszkok által vezérelve keverednek egymással az anyag azonos tulajdonságú rétegeinek térképei (Map). Az egyes tulajdonságok textúrája tehát több térképből tevődik össze. 30
A kész anyagszimulációs rendszerhez jelen esetben 11 képfájl szükséges. Három szín, három domborzati, három csillanás térkép, valamint két maszk az anyagok közti átmenet definiálásához. Talán mindezek mellett elöljáróban érdemes még azt is megemlíteni, hogy ehhez hasonló anyagszerkezet szimulációs rendszert több mád 3D szoftver is alkalmazza (Maya, 3D StudioMax) Diffúz szín (Diffuse Color) textúra szerkezetének felépítése: A három egymást fedő anyag színezetét keverjük össze egymással úgy, hogy minden anyagnak létrehozunk egy textúra csomópontot (Texture Node), ahová betöltjük a fém, a festett felület, illetve a rozsdás, korrodált fém képét. A festett és a nyers fémfelületek képeit tartalmazó csomópontokat egy mix módba állított keverő csomópont (Mix Node) közbeiktatásával kapcsoljuk össze úgy, hogy a festett fém textúra csomópontját (Texture Node) a keverő csomópont (Mix Node) felső színbemeneti (Color) csatlakozójához kötjük. Ennek a keverő csomópontnak a vezérléséhez a Factor bemeneti csatolópontjához pedig kössünk be egy kép csomópontot (Image Node), amibe a festett és a nyers fémfelület megjelenését vezérlő szürkeárnyalatos (fekete – fehér) képet, ami esetünkben a festekmaszk.jpg.
A rozsdás fémfelület képét újabb keverő csomópont (Mix Node) közbeiktatásával kötjük be a csomópont hálózatunkba. Itt a keverő csomópont (Mix Node) alsó szín alapú (Color) bemeneti csatolópontjához kössük a rozsdás felület képét tartalmazó textúra csomópontot (Texture Node). Itt a felső színbemeneti csatlakozóponthoz (Color) pedig a nyers és a festett fémfelületek textúráit összekeverő csomópont kimenetét (Color) kössük be. A második keverő csomópont (Mix Node) vezérléséhez pedig ugyancsak egy kép csomópontra (Image Node) van szükségünk, amibe a rozsdás felületek megjelenítését vezérlő Rozsdamaszk.jpg képet töltöttük be. A rozsdás felületeket bekötő keverő csomópont (Mix Node) kimenetéhez egy kimeneti csomópontot (Output Node) bekötve használható eredményhez is juthatunk az objektumunk színezetét illetően. Itt a csomópontot címkézzük fel például DiffuseColor névvel, majd a textúra panelen ennek a diffúz szín textúrarétegnek ezt a kimeneti csomópontot (Output Node) állítsuk be aktívnak. Felületi domborzati (Bump) textúra szerkezetének felépítése: Alapnak kiindulhatunk a diffúz szín textúra csomópont szerkezetéből, de néhány módosítást kell végrehajtanunk rajta a viszonylagosan használható végeredmény érdekében. A festett felületek többnyire egyenletesek, ezért a festett fémfelület képét, ha feliratokat, vagy egyéb elemeket tartalmaz, célszerű egy homogén szürke képre kicserélni, és itt ezzel dolgozni. Mivel a domborzati térképek (Bump-Map) esetében a színinformációkra nincs szükségünk, a a kimeneti csomópont 31
(Output Node) elé telítetlenné tevő csomópontot (Color to BW Node) kell bekötnünk az érték kimeneti pontját (Value) úgy, hogy a kimeneti csomópont (Output Node) Normal bemeneti csatolópontjához kötjük. A kimeneti csomópontot címkézzük fel mondjuk Bump-Map névvel, és a textúra panelen (Texture) ezt a csomópontot kell aktív kimenetként beállítani az adott textúrához. Az Influence csoportban pedig a Color helyett a Geometry paraméterezőt kell használnunk.
Sajnos, az igazat megvallva a Blender csomópont alapú textúrakezelő rendszerében a domborzati térképek feldolgozása jelenleg még nem igazán áll a helyzet magaslatán, mert a csomópont alapúan felépített domborzati textúrák finoman szólva nem kifogástalanul jó megjelenésűek. Durvább és felületesebb végeredményt kapunk, mintha a textúragödörben felépített textúrarétegeket használnánk. Szerencsére ezt a problémát áthidalhatjuk, mert a textúragödörben létrehozott és a csomópont szerkesztőben (Node Editor) felépített textúrák egymással kombinálva is jól használhatók.
Annyi a teendőnk, hogy a csomópont alapú domborzati textúránkat (Bump-map), ami jelen esetben a BumpTex nevű textúránk, kikapcsoljuk, és egy-egy külön kép típusú (Image or Movie) textúrát hozunk létre, Az egyikben a nyers fém, a másikban pedig a rozsda képét importáljuk be, és mindegyiket domborzati térképként (Bump-map) használjuk fel úgy, hogy a textúra panel (Texture) Influence csoportjában a Geometry paraméterezőt alkalmazzuk a Color helyett, valamint bekapcsoljuk az RGB to Intensity jelölőnégyzetet is. Annak érdekében, hogy a sima felületeket 32
ismét meg tudjuk jeleníteni, a 2D-s képszerkesztő programban (GIMP) a két maszk képfájlját, melyeket a rozsda és a nyers fém maszkjaiként a csomópont szerkesztőben már használtunk egyszer egyesítjük. Ezt legegyszerűbben úgy vihetjük véghez, ha egy közös képben megjelenítjük őket külön rétegekben, majd a réteg megjelenítési módját összeadó (Add) típusúra állítva új képfájlként elmentjük. A két domborzati (Bump) textúra fölé a textúragödörben hozzunk létre egy újabb, szintén kép típusú (Image or Movie) textúrát, amelybe az összesített maszkokat ábrázoló képet importáljuk be. Az UV-térkép (UV-map) beállítását kivetítési alapként beállítjuk, majd a Stencil és az RGB to Intensity jelölőnégyzetet bekapcsolva mintegy leárnyékolhatjuk a simán hagyandó felületeket az objektumunkon.
Ezzel az áthidaló megoldással kiküszöbölhető a Blendernek ez a jellegű gyengesége, melyet remélhetőleg a fejlesztők mielőbb orvosolni fognak majd a jövőben. Csillanási (Specular) textúra szerkezetének felépítése: Ennél a fázisnál kiindulhatunk a domborzati (Bump-map) textúra csomópont hálózatából, némi változtatással. A rozsdás képet tartalmazó textúra csomópont (Texture Node) képét egy fekete homogén képre kell kicserélnünk, lévén hogy a rozsdás fémfelületek nem csillognak. 33
A két keverő csomóponthoz (Mix Node) ugyanazokat a maszkokat használjuk keverésre, mint a szín (Color) és a domborzati (Bump) a hozzájuk tartozó textúra csomópontok (Texture Node) keverési mértékének vezérlésére a Factor csatlakozóponton keresztül. A kimeneti csomópontot (Output Node) címkézzük fel mondjuk Specular_Map névvel, a textúra panelen (Texture) pedig ezt jelöljük meg aktív kimeneti forrásként. Az Influence panelen a Color paraméterező helyett az Intensity-t használjuk, de mindenképpen használnunk kell az RGB to Intensity jelölőnégyzetet is.
Anyagszerkezetek felépítése anyagtípus alapú maszkolással Ez mondhatni a Blender sajátos módszere, ennek köszönhetően talán kicsit bonyolultnak tűnhet a működése első látásra. Pedig ez egyáltalán nem így van.
34
Maga az eljárás azon alapul, hogy a Blender kiterjesztett anyag csomópontjait (Extended Material Node) használva hozzuk létre az egyes anyagtípusokat, és ezeket keverjük egymással maszkok használata mellett. Ez az eljárás is azzal kezdődik, hogy létre kell hozni a már említett tizenegy képfájlt amit fel kell használnunk. Erre a célra természetesen egy 2D-s képszerkesztő programot kell használnunk. Mi a rend kedvéért továbbra is maradjunk a GIMP-nél. Ha már a rendelkezésünkre állnak az említett képfájlok, a Blender csomópont szerkesztőjét (Node Editor) állítsuk anyagszerkesztő üzemmódba (Material Mode) majd az anyag panelen hozzunk létre egy anyagkonténert és ehhez rendelve tizenegy textúrát is el kell készítenünk.
Mindegy, hogy milyen sorrendben, de minden anyagösszetevőnek el kell készíteni a diffúz szín (Diffuse Color), a domborzati (Bump) valamint a csillanási (Specular) textúráját. Mindezek mellett szükségünk van még arra is, hogy intenzitás alapú kép textúrát hozzunk létre a maszkok 35
képeiből is. Természetesen ezeket a textúrákat mind ki kell kapcsolnunk, mert majd máshol fogjuk használni őket.
Itt csak azért van szükségünk rájuk, hogy jelen legyenek a programban, és később könnyen elérhessük majd őket. Ennek okán nagyon figyeljünk oda az elnevezésekre, mert nagyon fontos hogy ne legyen keveredés az eltárolt textúráink között. Az egyes anyagösszetevők létrehozása: Egymás után kell felépítenünk az egyes anyagösszetevők csomópont szerkezetét egyazon elv alapján. Ez pedig abból áll, hogy minden összetevőnek létre kell hoznunk egy kiterjesztett anyag csomópontot (Extended Material Node), amit szintén a követhetőség miatt fel is címkézünk. Esetünkben három ilyen csomópontra lesz szükségünk. Egy „fém”, egy „festés” és egy „rozsda” címkéjűre. Kijelölünk egyet a három csomópont közül, és mindegyiknek megadjuk a textúra panelen a szín (Color), a domborzati (Bump) és a csillanási (Specular) textúráját. Viszont ezek közül csak a domborzati (Bump) textúrát hagyjuk bekapcsolva, a másik kettőt kikapcsoljuk.
36
Természetesen minden textúra esetében adjuk meg az UV-koordinátákat a koordináta csoportban (Coortinates) és állítsuk be a textúratípusnak megfelelően az Influence csoportot is. Minden anyagösszetevő csomópontjához kössünk hozzá két-két textúra csomópontot, melyekhez egy-egy geometria csomópont (Geometry Node) is csatlakozik az UV kimenetén keresztül. Az egyik textúra csomópontját (Texture Node) az anyagösszetevő kiterjesztett anyag csomópontjának (Extended Material Node) szín (Color), másikat pedig a csillanás (Spec) bemeneti pontjához kell kötnünk. A textúra panelekbe pedig be kell töltenünk a már létrehozott textúráink közül az oda valót, továbbá a geometria csomópontba (Geometry Node) ki kell választani a textúrázandó objektumunk UV-térképét (UV-map). Az anyagösszetevők keverése maszkolással: Tehát eddig létrehoztuk külön-külön a nyers fém, a festett, és a rozsdás fémfelületek anyagának textúrarendszerét egymás mellett. Már csak össze kell vegyítenünk őket a megfelelő módon.
Először a nyers és a festett fémfelületek kiterjesztett anyag csomópontjait (Extended Material Node) a szín (Color) kimeneti pontjaikon keresztül egy keverő csomóponttal (Mix Node) kötjük össze úgy, hogy egy újabb geometria csomópont (Geometry Node) és textúra csomópont (Texture 37
Node) párost csatolunk a keverő csomópont Factor bemeneti pontjához. Itt a textúra csomópontba a kiválasztott maszk textúráját kell betölteni.
A rozsda kiterjesztett anyag csomópontját (Extended Material Node) egy újabb keverő csomópont (Mix Node) közbeiktatásával köthetjük be az anyagréteg szimulációs csomópont rendszerünkbe. Ahhoz, hogy a végeredményt láthassuk a renderelt képünkön, az utolsó keverő csomópont (Mix Node) kimeneti pontjához csatlakoztassunk egy kimeneti csomópontot (Output Node).
Ennél a módszernél az a nagy előny többek közt, hogy minden egyes anyagösszetevő különkülön módosítható, és a maszkolást is bármikor módosíthatjuk a maszk alapját adó kép 38
képszerkesztő ablakban (UV/Image Editor) történő megfestésével. Emellett pedig még a 3D nézet ablakban (3D-view) folyamatosan nyomon követhetjük GLSL előnézet mellett a textúráink összhatását megjelenésileg. Tehát munkánk során mindvégig valós idejű visszajelzést kaphatunk arról, hogyan is állunk a munkánkkal. Hátrányként talán leginkább a Blender Csomópont kezelőjének (Node Editor) az instabilitását lehet felhozni, ami miatt erősen ajánlott gyakran menteni a munkánkat az esetleges összeomlások általi veszteségek elkerülése illetve minimalizálása érdekében. Sok lehetőségünk van a végeredményünk finomhangolására is, mint például színgörbe csomópontokkal (RGB-Curves Node) a maszkok éleinek módosítása, vagy számítás csomópontokkal (Macht Node) a csillanás intenzitásának megváltoztatása.
39
005 – Textúrák létrehozásának főbb eszközei Az eddigiekben nagy vonalakban azt tárgyaltuk ki, miként kapcsoljuk össze maszkok alkalmazásának segítségével a textúráinkat alkotó részelemeket. Ilyenek például a diffúz szín textúra (Diffuse Color Texture), a domborzati térkép textúra (Bump-map Texture), a fényvisszaverési képességeket vezérlő textúra (Specular-map Texture). A környezeti árnyékolást szimuláló textúra (AO-map Textura) is ide tartozik, de erről később még majd lesz szó bővebben is. Célszerű még a textúrák elkészítése előtt, a referenciakép elemzése során, mikor elkülönítjük egymástól a globális (kiterjedt) illetve a lokális (helyi) mintázatot, azt is megvizsgálni, melyik mintázattípus milyen módszerrel hozható majd létre. Pontosabban szólva azt kell jó előre felismerni, hogy melyik mintázat létrehozásához van szükség teljes értékű színeket hordozó információkra, melyek esetében kell érték alapú (szürkeárnyalatos) grafikai elemeket használnunk, illetve hogy mikor van szükségünk két értéket használó képek, azaz maszkok alkalmazására.
Például a globális (kiterjedt) anyagmintázat a legtöbb esetben színes képekből elkészíthető, de lehet ez fekete-fehér (szürkeárnyalatos) kép is utólag megszínezve. Mázga létrehozásához pedig egy szürkeárnyalatos maszk is elegendő, aminek vezérlésével két eltérő tükröződésű anyagot keverünk egymással. A koszokat, és a legtöbb hasonló jellegű szennyeződést viszont már többféle módon is létrehozhatjuk, mivel a koszolódás mértékétől és típusától függően más és más alkotói eljárást lehet célszerű alkalmazni. Ezenfelül mindenféle mintázat létrehozásakor törekedni kell arra, hogy a valószerű megjelenés érdekében apró, nem ismétlődő jellegzetességekkel rendelkező képi elemeket hozzunk létre. Rétegkeverési műveletek a Blenderben és a GIMP-ben Alfa csatornás (Alpha-Layer) képek keverésekor az eljárás során figyelembe vannak véve a tartalom nélküli képterületek is. A GIMP-ben rétegmaszkokat használunk erre a célra, a Blenderben pedig a csomópont szerkesztőben (Node Editor) az alfa-csatorna keverő csomópontot (AplhaOver 40
Node) vagy a keverő csomópontot (Mix Node). A maszkolás során a maszkok minősége és kidolgozottsága rettenetesen sokat számít abban, hogy a végeredményként kapott képünk élethű lesz-e, avagy sem. A maszkokat a legtöbb esetben kijelölések által hozzuk létre.
Minél gyorsabban, minél élőbb maszkokat tudunk készíteni a 2D-s képszerkesztő programban (GIMP) annál jobb hatékonysággal tudjuk elvégezni az egyes képrétegek élethű keverését. Az pedig itt még hatványozottabban érvényes, hogy minél több apró részletet tartalmaznak a rétegeink, annál életszerűbb és részletgazdagabb lesz a végtermékként kapott kép (textúra) is. Képrétegekként használhatunk eleve kivágott, átlátszó részeket, amelyek alfa-csatornát is tartalmaznak. Ezek az előkulcsolt (Pretended) elemek, illetve matricának (Decals) is nevezik őket. Maga a kulcsolás a kép háttérhez tartozó elemeinek eltüntetését foglalja magában. Ilyeneket az Internetről is letölthetünk ilyeneket (például: www.cgtextures.com), de magunk is elkészíthetjük őket. A maszkolási műveletek során a maszkként felhasznált képekből a fényerő (Value) az az információ, amit felhasználunk. Rétegkeverés esetén pedig a teljes színinformációra szükségünk van. A fényerő érték (Value) tekintetében a 0 = fekete, 0.5 = szürke, 1 = fehér Overlay (Gyenge fény) rétegkeverési mód: A világos és sötét tónusok megmaradnak, és átlagolás történik. Szennyeződések, koszok, karcok bekeverésére használhatjuk, és egyes esetekben színezésre is alkalmas. Multiply (Szorzás) rétegkeverési mód: Csak a sötétebb tónusok maradnak meg. A maszkok esetében lenullázhatjuk, befeketíthetjük vele a világos részeket. Képrétegek keverésekor pedig a környezeti árnyékolást (Ambient Occlusion) keverhetjük bele a képbe. Add/Screen (Kivetítés) rétegkeverési mód: A világos tónusok megmaradnak, a sötét tónusok elvesznek. A maszkok világos részeinek összeadására használhatjuk. A ködök, füstök, robbanások, de még a lencselobbanás effektek hozzáadása is ezzel történik. Lighten Only (Csak világosítás) rétegkeverési mód: Csak a világos tartalmat veszi figyelembe. 41
Darken Only (Csak sötétítés) rétegkeverési mód: Csak a sötét tónusú tartalom marad meg. Color (Szín) rétegkeverési mód: Színezésre használhatjuk.
Rétegmaszkok műveleteihez is nagyon fontos a rétegkezeléssel tisztában lennünk. A Screen mód összeadja, a Difference (különbség) pedig kivonja egymásból őket. Ez utóbbi nagyon jó eszköz arra, hogy ellenőrizzük a munkánkat, ha esetleg két módszerrel értük el ugyanazt a végeredményt.
42
A legfontosabb színkorrekciós lehetőségek a GIMP-ben és a Blenderben. Színérték görbék (RGB-Curves):
Blenderben a csomópont szerkesztőben (Node Editor) a színgörbe csomóponton (RGB-curves Node) van lehetőségünk a színgörbék módosításaira. Ez a csomópont típus az Add / Color / RGBcurves menüútvonalon érhető el.
GIMP-ben ezt a funkciót a Colors / Curves (Színek / Szintek) menüútvonalon érhetjük el. A lényege ennek a lehetőségnek az, hogy az adott képi információ színkészletét színcsatornákra bontva, és színtelítettségi értékét tekintve, valamint az alfa csatornát is módunkban áll módosítani. A középső egyenes a kontrasztgörbe, amely alapértelmezetten egy lineárisan emelkedő egyenes. Ez a passzív állapot, amikor a színkészletben nem történik semmi. Ezzel az eszközzel rengeteg színkorrekciós feladat elvégezhető. Például az S-görbével a sötétebb képrészleteket tovább sötétíthetjük, a világosabbakat tovább világosíthatjuk. Ezen túl eltérő forrásból eredő képi elemek színkészletének szinkronizálására is ezt az eszközt a legcélszerűbb használni.
43
Színszintek (Levels): Ez az eszköz maszkok esetében is nagyon fontos, mert az alapvető színértékek módosítására alkalmazhatjuk. A párbeszédablakokban megjelenő színtelítettségi görbe (Hisztogram) mutatja, mennyire van kihasználva az adott színcsatorna vagy az érték sávja a képben. A hisztogram voltaképpen egy olyan grafikon, amely a kép világossági értékeinek eloszlását mutatja. A vízszintes tengely a világossági szinteket ábrázolja. Balra a sötétebb, jobbra a világosabb értékek találhatóak. A függőleges tengely pedig az adott világossági szinttel rendelkező képpontok számát hivatott megjeleníteni. Ha a bal oldalon túl sok képpont van, akkor a kép sötétebb részein csökken a részletgazdagság. Ha viszont ugyanez a helyzet a jobb oldalon alakult ki, a világosabb képrészek fakónak, kiégettnek tűnhetnek. A középső részbe eső képpontok rendelkeznek megfelelő színreprodukcióval (színvisszaadás). Itt a középtónusokat állíthatjuk be. Ehhez a hisztogramhoz igazíthatjuk az adott kép színcsatornáinak tartományát. Erre a rendelkezésre álló színintervallumok kihasználásnak érdekében van szükségünk. Ezzel az eszközzel a fekete-fehér maszkok finomhangolása és az egyes képek (fotók) színkészlete is korrigálható ha szükséges. A kép kontrasztdinamikájának javításával nagyban nő az élethűsége is.
A színszintek korrigálására GIMP-ben a Színek/Szintek (Colors / Levels) menüútvonalán keresztül van lehetőség.
44
Blenderben pedig a csomópont szerkesztőben (Node Editor) az Add / Converter / ColorRamp menüútvonalon elérhető színátmenet csomópontot (ColorRamp) használva tehetjük meg ugyanezt. Színezettség / Telítettség (Hue / Saturation): A képek szaturációjának és alapszínezeti eltérésben történő korrigálásának az egyik lehetséges eszköze.
Blenderben a csomópont szerkesztőt (Node Editor) használva az Add / Color / Hue/Saturation menüútvonalon át elérhető színezettelítettség csomópont (Hue/Saturation Node) segítségével módosíthatjuk, GIMP-ben pedig a Színek / Árnyalat/Telítettség (Colors / Hue/Saturation) menüparancsot alkalmazva.
Az igazat megvallva sajnos a Blender csomópontja sajnos nem működik minden esetben az elvárásoknak megfelelően, ezért inkább célszerű a GIMP-et használni erre a feladatra. Fontos még külön megemlíteni a textúrakészítés egyik, ha nem talán a legfontosabb grafikus eszközét a klón bélyegzőt (Clone Tool). Ez természetesen a GIMP-ben is elérhető mind az eszköztárból, valamint a [C] billentyűparanccsal egyaránt. Ezzel az eszközzel képrészleteket emelhetünk ki, és különféle ecseteket használva újra beilleszthetjük őket. Lényeg, hogy csak éles szélű ecseteket alkalmazva érhetünk el realisztikus hatást, és az is célravezető, ha az ecsetdinamikai beállításokon is változtatunk.
45
006 – Ismétlődő (Seamless) textúrák tökéletesítése Az ismétlődő (Seamless) textúrákként felhasználásra szánt képeink jobb érvényesülésének érdekében, hogy nagyobb méretű felületen nagyobb távolságból szemlélve sem tűnjön fel, hogy a textúránk voltaképpen kisebb képek négyzeteinek tömegeiből áll, a folytonossá tételnek két újabb eszközét alkalmazhatjuk. A „csempézett” hatás a GIMP képszerkesztővel viszonylag egyszerű módon kiküszöbölhető.
Mindezek érdekében meg kell tanulnunk két újabb technikát. Elsősorban ugyanis arra van szükség, hogy a textúránkat alkotó kép fényeit „kineutralizáljuk”, azaz kiegyenlítsük a kép teljes felületén. Emellett még redukálnunk kell a képen a könnyen felismerhető, jellegzetes részleteket. Ez a két tényező az, ami leginkább felelős azért, hogy a textúraként felhasznált képünk esetében gerjesztheti az ismétlődő hatást. Erre a feladatra a GIMP esetében két Plug-in szükséges, melyek a GIMP alaptelepítésében nincsenek jelen, de az internetről ingyenesen letölthetőek, valamint a már telepített GIMP verziónkhoz illeszteni is pofonegyszerű őket. A fények kineutralizálásához a Wavelet Decompose, a jellegzetes részletek eltüntetéséhez pedig a High Pass Filter Plug-inek használatosak. A szükséges eszközök beszerzése és telepítése Mindkét Plug-in könnyen hozzáférhető a Help / GIMP-online / Plug-in registry (Súgó / GIMP-online / Bővítményjegyzék) menü útvonalon elérhető http://registry.gimp.org/ weblapon keresztül.
46
Itt könnyedén kikereshetjük a számunkra szükséges high-pass.scm illetve waveletdecompose.scm fájlokat. Természetesen mindkét Plug-in közvetlenül is elérhető a következő webcímeken: http://registry.gimp.org/files/high-pass.scm http://registry.gimp.org/files/wavelet-decompose.scm Nagyon fontos tudni még, hogy az .scm a GIMP skriptjeinek saját fájlkiterjesztése. A letöltött fájlok illesztése a már telepített GIMP-hez mindössze annyit jelent, hogy be kell őket másolni a GIMP alapértelmezett mappájába, ahol az alapértelmezett szkript fájlok vannak tárolva. Ez a mappa alapértelmezett módon telepített GIMP példány esetében: C:\Program Files\GIMP 2\share\gimp\2.0\scripts Ezt követően már csak újra kell indítanunk a GIMP-et, és a két Plug-in máris használhatóvá válik számunkra. Más képszerkesztő szoftver esetében (PhotoShop, FireAlpaca) ugyancsak léteznek hasonló hatású kiegészítők, illetve némelyik már alapértelmezetten is része az alapszoftvernek. Természetesen ez nem minden esetben érhető el ingyenesen. A Wavelet Decompose szűrő használata Ha a wavelet-decompose.scm fájlt megfelelő helyre másoltuk be, azaz hiba nélkül telepítettük, akkor elérhetjük a szűrő funkcióit. Érdekes módon ez a szűrő nem a GIMP szűrőket (Filters) tartalmazó menücsoporton keresztül válik elérhetővé, hanem közvetlenül a Kép (Image) menübe épül be az elérhetősége.
Megfelelően használva alkalmas a textúraként felhasználásra szánt képeinken lévő fényes képpontok kiegyenlítésére. Ez a voltaképpeni neutralizálás, ami lehetővé teszi számunkra, hogy a kép fényességi eltérései ne tűnjenek szembe mozaikszerű (csempézett) megjelenítés során a Blenderben, vagy más egyéb 3D modellező szoftverben. A Wavelet Decompose szűrő párbeszédablakán keresztül igen pontosan parametrizálhatjuk a szűrőt, még annak végrehajtása előtt. Minimum Scale (Pixels) : Meghatározhatjuk, hogy a szűrő mekkora sugárban kezdje a fényes képpontok közötti különbségek kiegyenlítését. 47
Scale Count (number of different scales) : Ennek a paraméterezőnek a segítségével határozhatjuk meg, hogy hány lépésben vezesse le a szűrő a kép fényeinek teljes kiegyenlítését (Neutralizálás). Minél több fokozatot adunk meg, annál pontosabban lőhetjük majd be a végeredményt, illetve annál több átmeneti állapotot tartalmazó képréteg (Layer) jön majd létre a Wavelet Decompose szűrő alkalmazását követően. Scale Increate Factor: Itt megadhatjuk, hogy a szűrő a végrehajtása során mennyire hagyja érintetlenül az egyes képrészleteket. Értelem szerűen az alacsonyabb értékek kevesebb megmaradó részletet tartalmaznak. Scale Constant Increate (Pixels): Ennek a paraméterező mezőnek az értékében megadhatjuk az alapértelmezetten lineáris módon történő végrehajtásának az exponenciális irányba történő eltolását. Ez annyit tesz, hogy jobb hatásfokkal hajthatjuk végre a fények kineutralizálását, de eközben csökkenhet a képi tartalom részletessége. Lényekét tekintve úgy működik a dolog, hogy az általunk eredetileg megadott vizsgálati sugárhoz minden esetben hozzáadja az itt megadott képpont menyiséget. Ha tehát a Wavelet Decompose szűrő kezdeti vizsgálati területét 50 pixelben adtuk 48
meg, és a kineutralizálási folyamatot 3 lépésben hajtjuk végre, itt 15 képpontos növelést engedélyezve lépésenként, akkor az első lépésben még 50 képpont (Pixel) lesz a vizsgálati terület, a következőben már 115 képpont, az utolsóban pedig már 245 képpont. Példánk esetében 6 lépésben végezzük el a műveletet úgy, hogy a kezdeti vizsgálati terület 5 képpont (Pixel) sugarú, és 5 képpontnyi exponenciális eltérést adunk a folyamatnak. Ezen a módon érvényesítve a Wavelet Decompose szűrőt, az első elkészült rétegen még 5 képpont a vizsgálati terület sugara, de a másodikon már 15, a harmadikon 35, aztán 75, 155, és az utolsó rétegen már 315 képpont.
Work on copy (creates a new image) : A Wavelet Compose szűrő végrehajtása egy képmásolaton történik, így érintetlenül marad a kiindulási kép. Célszerű bekapcsolva hagyni ezt a jelölőnégyzetet, mert így még véletlenül sem veszíthetjük el az eredeti képünket.
49
Miután maga az eljárás befejeződött, úgy láthatjuk, mintha nem is történt volna semmi különös a képünkkel. Pedig ez egyáltalán nem így van... Ugyanis egy speciális rétegszerkezet jött létre, melynek legfelső rétege maga a kiindulási állapota a képnek. Az alatta húzódó képrétegek (Layers) pedig egymás alatt az egyes kiegyenlítettségi fokozatok állapotaiban lévő képet tartalmazzák. A Wavelet Decompose szűrő tehát voltaképpen szétmarcangolja a képet úgy, hogy az egyes színátmenet különbségeken alapuló fényesség különbségeket veszi alapul. Viszont a szűrő végrehajtását követően még nekünk kell a számunkra szimpatikus állapotú képet létrehoznunk oly módon, hogy a szükséges rétegeket érintetlenül hagyjuk, amikre pedig nincs szükségünk, azokat kikapcsoljuk. A továbbiakban már csak a kellő mértékben kineutralizált képet kell kiexportálnunk a GIMP-ből a szükséges formátumban. Esetenként azzal is javíthatjuk a végeredményt, hogy a legalsó, leginkább elmosott képből a pipetta eszközt használva [o] színmintát veszünk, majd ezzel kitöltve a teljes réteget, tovább finomíthatjuk a kép fényeinek kiegyenlítését. Ezzel már készen is áll a folytonossá tett textúránk arra, hogy tökéletes hatást keltsen majd a Blenderben való felhasználása során. A High Pass Filter használata. A megfelelően telepített High Pass Filter a GIMP újraindítását követően a Filter / Generic / High Pass Filter ( Szűrők / Általános / High Pass Filter ) menüútvonalon keresztül válik elérhetővé. A GIMP-ben ez a szűrő egy külön rétegen meghagyja ugyan az eredeti képet, de egy rétegmásolat sohasem árthat. A High Pass Filter párbeszédablakában meghatározhatjuk hogy milyen jellegzetes módon hajtódjon végre a jellegzetes képrészletek kiszűrése. Emellett továbbá a Filter Radius csúszka segítségével, vagy akár numerikusan is manuális módszerrel módunkban áll azt is megadni, hogy mekkora sugárban analizálja a képet, keresse a jellegzetes képrészeket a szűrő. Így tehetjük homogénné a képünket úgy, hogy annak jellegzetes részei ne szúrjanak majd szemet nagyobb távolságból szemlélve sem abban az esetben, ha a textúránkat csempézve használjuk egy 3D objektumon a Blenderben. 50
Wavelet Compose és a High Pass Filter egymás után is használhatóak természetesen a jobb eredmény elérésének érdekében. 51
52
007 – Ecsetek készítése Mielőtt ténylegesen textúrák festésébe fognánk, létre kell hoznunk a további munkánk szempontjából csaknem elengedhetetlenül szükséges segédeszközöket. Ezek a segédeszközök pedig nem mások, mint a feladatunkhoz specifikusan kiválogatott ecsetek. Ez pedig koránt sem elhanyagolható fontosságú része a textúrakészítés munkaműveleteinek, mert egyenesen létfontosságú eszközökről van szó. Nagy szerepe van az ecseteknek abban, hogy kellően élethű eredményt érjünk el a munkánk végeztével. Jól elkészített ecsetekkel és maszkokkal lehet csak megfelelően realisztikus hatású textúrákat festeni, azaz kellő minőségű és jól felhasználható eredményt felmutatni. Abban az esetben pedig, ha az általunk használt ecsetek és maszkok nem megfelelőek a munkánkhoz, vagy nem kellően kidolgozottak, az csaknem teljes bizonyossággal le fogja rontani a munkánkat, és még az sem zárható ki, hogy csapnivaló végeredményt kapunk, azaz selejt gyártására pocsékoljuk a drága időnket. Érdemes többféle ecsetet is készíteni, és a munkánk végeztével gondosan archiválni akár azokat is, amelyeket egyáltalán nem is használtunk ezek közül, hiszen könnyen előfordulhat hogy egy későbbi munkánk alkalmával talán pont ilyenekre lesz majd szükségünk. Gépek textúrázása során leggyakrabban lepattogzódást, koszolódást (Dirt, Grunge), karcolódást (Scrattcher) és karmolódást (Square) imitáló ecsetekre lesz szükségünk. Más jellegű textúrák készítése esetén mindig megvannak az adott textúra jellegéhez leginkább alkalmazható ecsettípusok. Például organikus textúrák készítésekor a pikkely mintázatát, vagy épületek textúrázásakor mondjuk a leverődött vakolatot imitáló ecseteket kell létrehoznunk. Az ecsetek információ tartalmuk szerint két nagy csoportba oszthatóak: -Alfa-ecsetek: Ezek csak fekete és fehér (B+W) képpontokat tartalmaznak, és nincsenek bennük árnyalatok. Maszkok készítéséhez csakis ilyen ecsettípusokat érdemes használni. Jelen esetben is ilyen alfa-ecsetekre lesz majd szükségünk. -Diffúz-ecsetek: Abban térnek el az Alfa-ecsetektől, hogy tartalmaznak színátmeneteket isTermészetesen csak szürkeárnyalatos (Greyscale) értelemben, de mivel előfordulhatnak bennük elmosott élek is, általában csak színezésre és festésre használjuk őket. Azzal viszont még most, a munkánk legelején ki kell békülnünk, hogy a 2D-s képszerkesztőnk (GIMP) és a 3D-s szoftverünk (Blender) teljesen ellentétes módon kezeli az ecseteket. Míg a GIMP fehér háttér előtt fekete előtérszínt használ, a Blenderben ez pontosan fordítva van.
Ezért ha egy ecsettípust mindkét programban dolgozva szeretnénk használni, el kell készítenünk egy, az adott ecset inverz képi tartalmát magában foglaló képfájlt is, hogy a Blenderben 53
majd ecsetként fel tudjuk azt használni. GIMP-ben ezt a Színek / Invertálás (Color / Invert) menüparancs használatával érhetjük el. És már csak amiatt is érdemes és célszerű saját készítésű, és kifogástalan minőségű ecseteket használva dolgozni mind a GIMP-ben, mind pedig a Blenderben, mert különféle szedett-vedett, innen-onnan letöltögetett, bizonytalan jogtisztaságú ecsetek letöltögetésével, kipróbálgatásával és válogatásával temérdek időt lehet teljesen feleslegesen elpocsékolni. Főleg, hogy a számunkra szükséges 5-6, de maximum 15-20 ecsetet magunk is könnyedén elő tudjuk állítani. Egyáltalán nem elhanyagolható fontosságú tényező, hogy milyen jellegű, illetve mennyire jó minőségű kiindulási képet használva kezdünk hozzá az ecseteink elkészítéséhez. A jó képi alapanyag kiválasztása ugyancsak sok időnket emésztheti fel, és kellő céltudatossággal itt is nagyon sok időt meg tudunk takarítani. Nagyon sok képet találhatunk az interneten is, de használhatunk akár saját készítésű fotót is erre a célra. Bárhonnan is szerezzük be a felhasznált képet, mindenképpen fontos, hogy kellően kontrasztos legyen és jól elkülönüljenek rajta az egyes határvonalak. Amikor egy új ecsetet hozunk létre, azt a GIMP automatikusan el is menti a saját ecsetformátumát (gbr) használva. Az így mentett saját gyártmányú ecsetek azonban nem az alapértelmezett ecsetfájlok közé kerülnek, amik a C:\Program Files\GIMP 2\share\gimp\2.0\brushes\ (Windows) /usr/share/gimp/2.0/brushes/ (Linux) elérési útvonalon hozzáférhetőek. A saját magunk alkotta ecseteink viszont a C:\Document and Settings\felhasználónév\gimp2.8\brushes\ (Windows) /home/felhasználónév/.gimp-2.6/brushes/ (Linux) elérési útvonalakon lesznek hozzáférhetőek számunkra a későbbiek folyamán, ha esetleg szükségünk lenne rájuk. Természetesen a GBR fájlformátum operációs rendszerek között is átjárhatóságot biztosít számunkra, ami azt jelenti, hogy egy Linux alatt GIMP-el készített ecsetfájlt Windows alatt futó GIMP verzióban is használhatunk, ha azt bemásoljuk a megfelelő helyre. Ez természetesen oda-vissza működő dolog.
54
Lepattogzódás-ecset létrehozása Miután kiválasztottuk a számunkra megfelelő lepattogzott festéket ábrázoló fotót, nyissuk meg azt a GIMP-pel. Szüntessük meg a kép színezetét, avagy deszaturáljuk. Így a színes képből szürkeárnyalatos, azaz fekete fehér (B+W) kép lesz megjelenését tekintve. Ezt a Színek / Telítetlenné tevés (Colors / Desaturation) menüparancsot alkalmazva tehetjük meg.
Abban az esetben, ha a lepattogzott területek esetleg világosabb színűek lennének, a Színek / Invertálás (Colors / Invert) menüpont használatával át kell fordítanunk a képünk színezetét.
Korrigáljunk a kép kontrasztján amennyire szükséges, a Színek / Fényerő-kontraszt menüparancsot használva. Annak tekintetében kell beállítanunk a kép megfelelő kontrasztját, hogy ha megfelelő a kép, azaz nincs benne túl sok szemcsés apró részlet, akkor jól kirajzolódjon a festékkel fedett és a lepattogzott része közötti eltérés. Már csak azért is célszerű kerülni a túl szemcsés, aprólékos felületeket tartalmazó képek használatát, mert sokkal kevésbé életszerű 55
végeredményt ad ráadásul sokkal több pepecselés árán. Akkor jó a kép, ha minél kevesebb, jól felismerhető és a kép többi részétől elkülönülő részletet tartalmaz. A kiindulási kép kiválasztása tehát cseppet sem könnyű feladat. Kerülendőek továbbá a túlzottan felgyűrődött festékréteget ábrázoló képek is, mert itt már magasságkülönbségek is lehetnek az eredeti felület és a hámló festékréteg között. Azért is létfontosságú hogy a kiindulási képünk letisztult kép legyen, mert egy nem megfelelő kép feljavítgatása és előkészítése jócskán hátráltathatja és lelassíthatja a munkánkat.
A kép színszintjét korrigáljuk kissé a Színek / Szintek (Colors / Level) menüútvonalon keresztül, majd a színintervallum kijelölő eszközt használva[Shift+O] Kijelöljük a lepattogzott részek általában sötétebb területeit alkotó képpontokat, majd kivágjuk őket a vágólapra [Ctrl+X] és egyúttal a képen létrehozott kijelölést is szüntessük meg [Ctrl+Shift+A]. A kivágott képrészletet visszaillesztjük a képbe a [Ctrl+V] billentyűparanccsal, majd a GIMP rétegkezelőjét alkalmazva az így létrehozott lebegő kijelölés számára létrehoznunk egy új réteget. Az így létrejött réteg alá létrehozunk egy újabbat, amit kitöltünk fehér háttérszínnel.
Ha nem a teljes lépet szeretnénk ecsetként felhasználni, hanem annak csak egy általunk kiszemelt részletét, akkor a GIMP „varázspálca” nevű kijelölő eszközét [U], vagy a szabadkézi „lasszó” kijelölő eszközt [F] is felhasználhatjuk a számunkra fontos képi részletek kijelölésére. Sok 56
esetben e két, amúgy egyenként is jó hatásfokkal használt kijelölő eszközt egymással kombinálva felhasználni a munkánk során. Amikor már úgy ítéljük meg hogy az ecsetként felhasználni szánt képrészletet sikerült minden igényünket kielégítő módon kijelölnünk, a kijelölésünk tartalmát helyezzük a vágólapra [Ctrl+C], majd a GIMP-be illesszük be új képként. Ez a művelet a GIMP-ben a Szerkesztés / Beillesztés másként / Új kép (Edit / Paste as / New Image) menüparancs segítségével végezhető el a legegyszerűbben, a [Ctrl+Shift+V] billentyűparanccsal pedig a leggyorsabban.
Így egy teljesen új kép jön léte, ami csak az általunk vágólapra helyezett képpontokat tartalmazza. A többi képpont helyét az alfa-csatornát megjelenítő négyzetrács helyettesíti. Az így létrehozott új kép csak abban az esetben fog megfelelően működni a GIMP-ben mint első saját készítésű ecsetünk, ha a Kép / Egy réteggé lapítás (Image / Merge Layers) menüpont szerint az átlátszó részeket is kitöltjük képpontokkal. Ezt a műveletet persze a GIMP rétegkezelőjének helyi menüjét használva is elvégezhetjük. Szerencsés, ha ennek a parancsnak a használatakor a GIMPben háttérszínként a fehér szín van beállítva. Így az eredetileg áttetsző képpontok fehérek lesznek, maga a mintázat pedig fekete marad, így a kép kellően kontrasztos lesz majd a további felhasználásra. Persze megtehetjük azt is, hogy egy külön réteget hozunk létre a GIMP-ben, ami háttérszínnel lesz kitöltve, és utólag olvasztjuk össze a rétegeket, de végeredményét tekintve a két eljárás teljesen megegyezik. Ténylegesen majd csak akkor tudunk majd festeni is az ecsetünket, ha annak alapértelmezetten RGB megjelenítési módját szürkeárnyalatossá (Greyscale) alakítjuk. Ezt a Kép / Mód / Szürkeárnyalatos (Image / Mode / Greyscale) menüparanccsal könnyedén meg is tehetjük.
57
Az ily módon elkészített képünket ezután úgy tudjuk könnyedén ecsetként felhasználni, hogy kijelöljük a teljes képterületet [Ctrl+A], majd miután az egészet kimásoljuk az operációs rendszerünk vágólapjára [Ctrl+C] egyszerűen beillesztjük új ecsetként. Ebből a célból használjuk a GIMP Szerkesztés / Beillesztés másként / Új ecset (Edit / Paste as / New Brush) menüparancsot.
Ekkor megjelenik egy aprócska párbeszédablak, ahol megadhatjuk az újonnan elkészített ecsetünk legfontosabb paramétereit, hogy később is könnyen be tudjuk majd azonosítani. Megadhatjuk magának az ecsetnek a nevét, ami jelen esetben mondjuk legyen „pattogzás001”, a fájlnév pedig „pattogzas_GIMP_001”, majd az OK gomb lenyomásával az új ecsetünk fájlja már mentésre is kerül.
Ettől a ponttól kezdve, ha példának okáért létrehozunk egy új képet mondjuk a [Ctrl+Shift+N] billentyűparancs alkalmazásával, bármilyen előtérszínt kiválasztva tudjuk kreatív módon használni az új ecsetünket a GIMP-ben.
58
Koszfolt-ecset készítése (Grunge Brush / Dirt Brush) Amikor ilyen jellegű ecsetet szeretnénk létrehozni, szintén nagyon fontos, hogy a kiválasztott forrásképünkön kellő kontrasztkülönbséggel legyen jelen a felhasználásra érdemesnek tartott részlet. Hasonló módon, mint a lepattogzódás-ecset létrehozása során. Az is előnyös, ha a kép tartalmaz némiképp jellegzetesnek tekinthető egyéni rajzolatot is, ami akár kisebb szigetekből is állhat. Első lépésben itt is nyissuk meg a GIMP-ben a forrásképet, majd tegyük színtelenné a Színek / Telítetlenné tevés (Colors / Desaturation) menüparancs alkalmazásával. Ezt követően a kép színszintjeit kell korrigálnunk a Színek / Szintek (Colors / Levels) menüparancsot alkalmazva oly módon, hogy a kiválasztott képrészlet illetve motívum jól láthatóan kirajzolódjék.
Akkor jó a színszintek beállítása, ha az egyes részletei jól kivehetőek, mégsem annyira részletesek, hogy szemmel már nem lehet a rajzolatot tisztán lekövetni, megkülönböztetni. Felismerhetőeknek kell tehát maradnia a koszolódás tárgyra és a szennyeződésre jellemző alaprajzolatának. 59
Egy szabálytalan formájú ecsetet használva, mely természetesen lehet akár az előzőekben létrehozott „pattogzás001” nevű ecsetünk is, és ezzel fessük körbe a kiszemelt képrészletet a kép háttérszínével. Ezzel az a célunk, hogy egy csaknem élően organikusan leválasztott módon kapunk egy aprócska részletet úgy, hogy lehetőség szerint minden felesleges, nem odaillő részletet mellőzünk a körbefestegetés során.
Amikor már úgy ítéljük meg, hogy kellőképpen jó a részletünk kiemeltsége, akkor a szabadkézi kijelölő eszközzel, vagyis a „lasszóval” [F] ügyesen jelöljük körbe az elkerített képrészletet, majd ezt követően helyezzük is vágólapra a kijelölt képterület tartalmát.[Ctrl+C] és nyomban illesszük is be a kimásolt képtartalmat egy új képbe. Ezt a Szerkesztés / Beillesztés másként / Új kép (Edit / Paste as / New Picture) menüparancs segítségével tehetjük meg, de a [Ctrl+Shift+V] billentyűparancs is nagy hasznunkra válhat. Így egy olyan kép jön létre, amely csupán az általunk kiválasztott képrészletet fogja majd tartalmazni.
60
Lapítsuk egy réteggé az egész képet, majd a Kép / Egy réteggé lapítás (Picture / Merged Layers) menüparancsot alkalmazva, vagy a GIMP rétegkezelőjének helyi menüjének segítségével. Olyan esetekben, mikor úgy tűnik számunkra hogy a képen a szélélnél túl sok a háttér szélessége, amire amúgy sincsen voltaképpen semmi szükség, valamint fájlméret csökkentése céljából távolítsuk el s felesleges részeket. Erre a GIMP vágóeszközét is használhatjuk [Shift+C]. Ezzel ugyanis villámgyorsan lesarabolhatjuk a felesleges, képi információt nem tartalmazó széleket.
A kép üzemmódját állítsuk át RGB-ről szürkeárnyalatosra (Greyscale) a Kép / Mód / Szürkeárnyalatos (Picture / Mode / Greyscale) menüparanccsal.
Ha ezeket követően kijelöltük a teljes képet [Ctrl+A] és a vágólapra helyezzük a kijelölt területet [Ctrl+C], már létre is tudjuk hozni az ecsetünket a Szerkesztés / Beillesztés másként / Új 61
ecset (Edit / Paste as / New Brush) menüponton keresztül, mint ahogy azt az előzőekben is tettük. Az ecset elnevezésekor ugyancsak vigyázzunk az új ecset elnevezésére. Legyen a neve ezért mondjuk a kosz001Gimp fájlnévvel rendelkező kosz001 ecset.
Karcolás ecsetek készítése (Scratcher Brush) Ha ilyen ecsetet szeretnénk létrehozni, akkor valami jól megkarcolt felületet ábrázoló kiindulási képet kell választanunk. Ilyet persze nem könnyű találni, de persze nem is lehetetlen. Reménytelenebb esetekben ezt akár magunk is elkészíthetjük valami homogén, jól karcolható felület összekaristolásával majd ennek lefotózásával vagy szkennerrel történő digitalizálásával. Ugyanazt az eljárást kell követni, mint az előző két ecsettípus esetében. El kell távolítani a kép színtartalmát, a Színek / Telítetlenné tevés (Colors / Desaturation) menüparanccsal, hogy fekete-fehér képet kapjunk, majd a színszinteket úgy kell korrigálnunk a Színek / Szintek (Colors / Levels) menüponton keresztül, hogy a karcolások rajzolata a lehető legjobban elkülönüljön a kép hátterétől.
62
A GIMP téglalap kijelölő eszközét használva [R]válasszuk ki a számunkra leginkább jól felhasználható képrészletet, és vágólapra helyezését követően [Ctrl+C] illesszük be a képi tartalmat új képként a Szerkesztés / Beillesztés / Új kép (Edit / Paste as / New Picture) menüponton keresztül. Persze használhatjuk a [Ctrl+Shift+V] billentyűparancsot is.
Ezután egy éles szélű egyszerű ecsettípust használva fessük ki a képből az esetlegesen még megmaradt fehéren világító magányos képpontokat, és fordítsuk át a kép színezetét úgy, hogy a karcolás rajzolata fekete legyen. Ezt a Színek / Invertálás (Colors / Invert) menüparancs által végezhetjük el. Ez a lépés nem minden esetben szükséges, de a GIMP csak a fehér háttér, és a fekete előtérszínekkel rendelkező képrészleteket tudja jól működő ecsetekként felhasználni.
63
Olvasszuk egy réteggé a képet a Kép / Egy réteggé lapítás (Image / Merged Layer) menüparanccsal, esetleg a GIMP rétegkezelő ablakának helyi menüjének segítségével. A kép végleges méretét a GIMP-ben a Kép / Zealous-vágás (Image / Zealous Cropp) menüparancs segítségével is beállíthatjuk. Természetesen a kép színkezelését is szürkeárnyalatosra kell állítanunk a Kép / Mód / Szürkeárnyalatos (Image / Mode / Greyscale) menüponton keresztül, majd kijelöljük a teljes képterületet [Ctrl+A] és a vágólapra másoljuk [Ctrl+C].
Csak ezt követően léphetünk a következő munkafázisba, a Szerkesztés / Beillesztés másként / Új ecset (Edit / Paste as / New Brush) menüponton keresztül. Itt az ecset létrehozó párbeszédablakban megadhatjuk az új ecsetünk nevét (karcolás001) és az ecset GBR kiterjesztésű fájljának a nevét is. (Karcolás001Gimp).
64
Célszerű a karcolás ecsetekből több alverziót készíteni úgy, hogy eltérő módon kombinálhatóak legyenek egymással. Ezen a módon sokkal életszerűbb ecseteket készíthetünk. Kaparó ecsetek készítése (Square Brush) Ez egy nagyon egyszerű, de hihetetlenül hasznos és ötletes, jól használható ecsettípus. Egyszerűsége abban is rejlik, hogy nincs hozzá szükség semmiféle kiindulási fotóra. Mindösszesen annyi a teendőnk, hogy létrehozunk egy új képet a GIMP-ben. Ezt a Fájl / Új (File /New) menüparancs, vagy a [Ctrl+N] billentyűkombináció alkalmazásával lehetséges. Az új képünk legyen szürkeárnyalatos (Greyscale) színsémájú, és négyzet alakú. Nincs szükség nagy méretre, egy 64x64 képpont méretű kép tökéletesen megfelelő az általános céljainknak.
A képet töltsük ki fehér háttérszínnel, majd a GIMP négyszög kijelölő eszközét használva [R] hozzunk létre a képünk közepén egy egyenlő oldalú négyszög kijelölést, mondjuk 48x48 képpontos méretben, és a kijelölt területet töltsük ki fekete előtérszínnel. A kijelölés [Ctrl+Shift+A] 65
billentyűparanccsal történő megszüntetését és az így létrehozott kis négyzetecske képéből készítjük el a negyedik ecsetünket az előzőekben már kimerítő részletességgel taglalt módon.
Az egész képet ki kell jelölnünk [Ctrl+A], vágólapra kell helyezni a kijelölt képi tartalmat [Ctrl+C], majd a Szerkesztés / Beillesztés másként / Új ecset (Edit / Paste as / New Brush) menüparancs segítségével nyissuk meg az ecset létrehozó párbeszédablakot. Mentsük is az ecsetünket kapar001 néven, a kapar001Gimp nevű GBR kiterjesztésű fájlban.
Annak érdekében, hogy a kapar001 nevű új ecsetünk megfelelően viselkedjen, még az ecset dinamikáját kell speciális módon megváltoztatnunk a kellő használhatóság érdekében. Az ecsetdinamikai beállításokat módosítását, vagyis azt, hogy miként viselkedjen, a GIMP ecsetdinamika szerkesztő ablakában (Paint Dinamics Editor) tehetjük meg. Itt egyéni viselkedési sémákat hozhatunk létre ecseteink számára.
66
A kaparó ecsetek megfelelő működésének érdekében. Véletlenszerűre (Random) kell állítanunk az ecsetünk méretét (Size), a dőlésszögét (Angle), továbbá az elszóródását (Jitter) is. Nagyon fontos, hogy, hogy az ecset eszközbeállításai között engedélyezve legyen az elszórás az ezt lehetővé tevő jelölőnégyzet aktiválásával (Apply Jitter). Egy új, például 800x600 as méretű, feketével kitöltött RGB színsémát használó képet létrehozva, fehér előtérszínt választva a kapar001 ecsetünket használva máris nagyon élethű karcolási mintázatokat rajzolhatunk.
A kaparó ecsetek segítségével magunk is megkarcolhatjuk a felületeket úgy, hogy gyakorlatilag mintegy megrajzoljuk magukat a karcolásokat. Ezzel a módszerrel, valamint az ecsetdinamikai paraméterek jó érzékkel történő megváltoztatásával komplikált, nagyon is életszerű hatással bíró karcolási mintázatok, esetleg újabb ecsetek hozhatóak létre. Az igazat megvallva azonban mindig a fényképek felhasználásával készült ecseteink lesznek mindig a leginkább életszerűek.
67
008 – Textúra generátorok A Blenderen kívül számos olyan szoftver létezik, amivel a textúrázást meg lehet oldani, és még fel is lehet gyorsítani. Magát az alkotó embert természetesen ezek közül egyik sem pótolja, csak a munka haladhat velük kicsit gyorsabban. Ezek a szoftverek művészeti szempontból nem minden esetben értékesek, de a játékfejlesztők számára a legtöbbször kifejezetten hasznos alkalmazások. Ezek a szoftvereszközök a kész diffúz szín textúrák alapján (Diffuse Color Texture) automatikusan le tudják generálni a csillanási térképet (Specular-map), a domborzati térképet (Bump-map), és a felületi normálisok térképét (Normal-map). Felületi normálisok terén (Normalmap) ezek a szoftverek sokkal professzionálisabb eredményt tudnak felmutatni, viszont a csillanás térképek (Specular-map) tekintetében már igencsak kevéssé megbízhatóak. Állítható bennük akár a készre generált textúra részletgazdagságának mértéke is, ami kézi beállításokkal csak hosszas pepecselés árán valósítható meg. A jobb végeredmény érdekében a csillanási térképet (Specularmap) viszont jobb, ha nem egy szoftver csinálja meg helyettünk. Az Ambient Occlusion – AO- (környezeti fények) térképeit illetően (AO-map) pedig annyit kell szem előtt tartani, hogy ezt szoftveres úton nagyon gyorsan le lehet generálni, és akár valós időben (Real Time) is paraméterezhetőek, de nem lesznek olyan pontosak, mint az egyénileg elkészítettek. Nagy általánosságban szólva azonban mindenféleképpen az a lényeg, hogy ha a munkánkban egy eszközzel feltűnően gyorsabban szeretnénk haladni, annál több automatizálási folyamatnak kell benne megjelennie, ami sajnos az esetek döntő többségében így, vagy úgy, de a valószerűség rovására szokott menni. Tehát minél több munkát végzünk el szabad kézileg, és minél több időt fektetünk a munkánkba, a majdan elkészülő végeredmény nagy eséllyel annál realisztikusabb lesz. Nem muszáj az automatizált feladatokat elvégző szoftvereket használnunk, de ez a döntés minden alkotó számára lehetőségként fennáll. Viszont azzal számolnunk kell, hogy a legtöbb ilyen jellegű célszoftver általában nem ingyenes. Tehát ha ezeket szeretnénk használni mondjuk üzleti célra, akkor azt csak a megfelelő felhasználási licenc megvásárlását követően tehetjük csak meg teljesen jogszerűen. Persze akadnak ingyenes szoftverek is a textúrakészítés automatizálására, és mi is inkább az ingyenesen bárki számára használható szoftverek használatát szorgalmazzuk. Szerencsére ma már tartunk ott, hogy az ingyenesen hozzáférhető szoftverek használata gyakorlatilag semmiféle hátrányt sem jelent a végeredmény minőségét tekintve azokkal a szoftvertermékekkel szemben, melyekért nem ritkán jó nagyra kell nyitnunk a pénztárcánkat. Sok textúrageneráló szoftver áll tehát rendelkezésünkre, de sajnos ezek túlnyomó többsége ingyenesen nem hozzáférhető, maximum csak az idő, illetve funkciókorlátozásokkal ellátott próba (Demo) verziói. Néhánynak a Windows-os mellett létezik Macinthos rendszereken futó verziója is. Linux alatt a Windowson futó változatok a Wine nevű Windows emulátor programon keresztül használhatóak. A teljesség igénye nélkül ismerjünk meg e szoftverek közül néhányat. CrasyBump Az első textúrageneráló szoftver, ami a világon megjelent. Nagyon sokáig ingyenesen hozzáférhető volt. Egyszerűen használható, és pillanatok alatt jó eredményeket lehet vele elérni. Magánszemélyek számára körülbelül 100 USD-ért megvásárolható. Csak Windows és Macintosh operációs rendszerekre írt változata létezik. Ingyenesen csak a demó verziója érhető el a következő webhelyen : http://crazybump.com/release/CrazyBumpSetup12.exe
68
NDO2 Jelen pillanatban ez a legjobb szoftver a piacon, ami fellelhető. Külön PhotoShop Plug-inként is használható. Számunkra azonban sajnos kevésbé hasznos eszköz, mert a GIMP képszerkesztő szoftverrel annak PS Plug-in-eket kezelő szkriptjével sem működik együtt megfelelően. Az NDO2 próbaverziója innen letölthető: http://quixel.se/nDo2/nDo2_release.zip
B2M Ez sem ingyenes szoftver, melynek ára megközelítőleg 150 USD. A neve a Bitmap 2 Material rövidítése. Ez is csak Windows és Macinthos rendszerekhez íródott verziókkal rendelkezik, de nagyon is igényes szoftver, aminek szintén elérhető demó-verziója: http://www.allegorithmic.com/system/files/software/download/bu ild/bitmap2material_2_2_1_build_13634_trial.exe
69
ShaderMap2 Ez a szoftver is nagyon színvonalas, és nem is kerül túl sokba. 10-12000 Ft-nak megfelelő összegért hozzáférhető Windows és Macinthos operációs rendszerek alá. Próbaverzió is hozzáférhető belőle a következő webhelyen: http://shadermap.com/downloads/_bin/ShaderMapDEMO_v2_1_1.exe
Knald Számunkra ez az egyik legnagyobb jelentőséggel bíró textúragenerátor szoftver. Ugyanis jelenleg még béta-stádiumú fejlesztés alatt áll, aminek következtében egyelőre még ingyenesen hozzáférhetőek (Open-Beta teszt). Ez azt jelenti, hogy a program teljes értékűen használható, és működik is, de az esetleges működési hibákról módunk van értesíteni a program fejlesztőit. Idővel sajnos nagy valószínűséggel majd ezt is fizetőssé fogják tenni, ezért mielőbb érdemes ingyen letölteni innen: http://shadermap.com/downloads/_bin/ShaderMapDEMO_v2_1_1.exe
Már csak azért is érdemes letöltenünk a Knald-ot, mert mi használhatjuk ezt a szoftvert, de sajnos csak Windows 7 operációs rendszer alatt. Ideális eszköz lehet, melyet a Blender és a GIMP mellett nagyon jó eredménnyel használhatunk majd. 70
MapZone2 Nagyon érdekes szoftver, de sajnos már évek óta leálltak a fejlesztésével. Segítségével az éleken automatizált festéklepattogzásokat tudunk létrehozni. Bár automatizáltan hajtja végre a műveletet, de az egyes jellemzői természetesen manuálisan is paraméterezhetőek. Voltaképpen procedurális textúrák alkalmazásával hozza létre az esetenként igencsak elképesztő eredményeit, ráadásul semmibe sem kerül! A későbbiekben erre a szoftverre is szükségünk lesz majd, ezért érdemes letöltenünk az alábbi webhelyről: http://www.mapzoneeditor.com/index.php?PAGE=DOWNLOAD
SSBump Generator Egy nagyon aprócska kis szoftver, mely szerintem az egyik leginkább életképes alternatívánk lehet a Blenderen kívüli textúraszerkesztési munkánkban, természetesen a GIMP mellett. Előnyei közé tartozik a kis mérete és hogy még csak telepíteni sem kell. Képes mindenre, amire szükségünk lehet, és mindezt teljesen ingyen. Ellene szól viszont, hogy évek óta nincs már fejlesztve, valamint 3D-s előnézeti képet sem tud mutatni... Mindezek ellenére hamarosan már talán használni is fogjuk. Itt elérhető: http://sourceforge.net/projects/ssbumpgenerator/files/SSbump_N ormal%20Generator%205.3/SSbump_Generator_5_3_Bugfix.zip/download
71
009 – Ambient Occlusion, Normal-map és egyszerű élkopás textúrák létrehozása Bake-léssel Példánkban egy egyszerű modellen mutatjuk be, hogyan kell egyszerűen elkészíteni egy objektum környezeti fényei által keltett árnyékok térképét (Ambient Occlusion-map). Ez a modell lesz majd az is, amit majd a későbbiekben szeretnénk kopott, lepattogzott festésű, karcolt felülettel ellátni. Persze most még nem állunk neki hogy a modell textúrájának anyagait (Shaders) is szétboncoljuk, és egyenként létrehozzuk. Majd a GIMP képszerkesztő programon belül fogjuk majd keverni őket a későbbiekben. Eleinte tehát csak a GIMP-ben létrehozott térképeket (Map) fogjuk majd megjeleníteni az egyszerű modellünkön. Most tehát még mindent úgymond kézzel fogunk majd megfesteni és semmiféle csomópont alapú keverést nem fogunk alkalmazni a munkánkban.
Ezen az egyszerű példán keresztül tanulunk meg majd úgy gondolkodni, illetve oly módon levezetni magunkban az egyes folyamatokat, ahogyan azt textúrázás közben okvetlenül szükséges. Ugyanis tökéletesen mindegy, hogyan hívják azokat a szoftvereket, amelyeket felhasználunk, az egyes munkafolyamatok lényegét tekintve változatlanul ugyanazok lesznek. Emiatt ismernünk kell az egyes folyamatokat és azoknak a megfelelő végrehajtási sorrendjét is. A cél tehát ugyanúgy egy élethű, minél realisztikusabb megjelenésű modell megalkotása, de az ehhez felhasznált szoftveres eszközök amelyek révén ezt elérhetjük, igencsak eltérhetnek egymástól. Minél több tényező hatását vesszük figyelembe modellünk textúráinak elkészítése során, kellő precizitással és finomhangolással adagolva az egyes apró részleteket, annál közelebb kerülhetünk a a végeredmény fotorealizmust súroló élethűségéhez. A textúrakészítés fő célja leginkább úgy határozható meg, hogy a számítógéppel generált steril geometriájú modell megjelenítését a lehető legnagyobb mértékben igyekszünk eltolni a valós anyagi állapotokkal rendelkező, fizikai valójában is kézzel fogható tárgyak irányába. Ez pedig annyit tesz, hogy gondolatban végig kell követnünk a modellezett tárgy „életét”, hogy mi minden történhetett vele. Odaverődött valamihez, megkarcolta valami, megégett, megázott, megsütötte a perzselő nap, és hasonlók....
72
Környezeti árnyékolás-textúra (AO-texture) készítése Ha már kiválasztottuk esetleg elkészítettük az egyszerű példamodellünket, készítsük el annak UV-térképét (UV-map), majd ezt egy szimpla UV-rácsot (UV-gird) felhasználva ellenőrizzük is le a biztonság kedvéért. Az elnevezésekre természetesen mindvégig nagyon figyeljünk oda, mert ezzel a későbbiekben a kavarodásoknak könnyen elejét tudjuk venni. A Blenderben a szerkesztő módban (Edit Mode) álló 3D nézetablak (3D-view) mellé nyissunk meg egy képszerkesztő ablakot is (UV/Image Editor) és az objektum kijelölése után annak az UV térképe alá hozzunk létre egy új képet (New Image). Egy szimpla fekete kép bővel elég lesz a céljainknak, de minél nagyobb képméretet használunk, annál finomabb végeredményt kapunk majd. Kezdetben most a 2048x2048 képméret is megfelelőnek mondható, de a jövőben ennél jóval nagyobb méretű képeket is érdemes lesz majd használnunk. Nevezzük el ezt a képet most „AOtextura_001”-nek. Esetleg a későbbiekben 4096x4096, vagy az ennél is nagyobb felbontás is szükséges lehet. Ez nagyon sokat fog majd számítani az elkövetkezendő végeredményeink tekintetében, hogy az milyen részletességgel rendelkezik majd. Minél nagyobb információtartalmú forrásokkal kell majd esetenként dolgoznunk ez okból kifolyólag. Mindez azonban a messze lévő, vagy részleteit tekintve elhanyagolható dolgokra nem annyira vonatkozik, de a lényeges és előtérbe helyezett objektumokra hatványozottan!
A Blender 3D-nézet (3D-View) ablakában dolgozva használjuk a GLSL megjelenítési mód mellett a Texture Solid nézetet is a hozzá tartozó jelölőnégyzet használatával. Ezeket a jobb oldali eszköztár ablakban [N] találjuk meg.
73
Az Ambient Occlusion (AO) vagyis környezeti fény textúra generálásához legelőször a Blender által alkalmazott AO beállításokat kell megfelelően parametrizálnunk. Ehhez legalább egy lámpára mindenképpen szükségünk lesz, ami legyen most a példánkban egy Hemi típusú fényforrás, amit most nevezzünk el egyszerűen csak „Lámpa”-nak. A tulajdonságok ablak (Properties) világ paneljén (World) a környezeti fények (Ambient Occlusion) csoportban aktiváljuk a Blenderben az AO használatát a központi jelölőnégyzet bekapcsolásával, az AO keverési módját pedig állítsuk Multiply-ra (szorzás). A világ panel (World) Gather csoportjában folytatjuk ezután a környezeti fényeink (AO) parametrizálását. Nagyon fontos, hogy a távolság (Distance) beállításánál vegyük figyelembe a modellünk, illetve az azon lévő részletek méreteit. A Blender ehhez saját mértékegységet használ, amit nevezzünk egyszerűen csak Blender Egységnek (BE) a továbbiakban. A legtöbbször nagyon nagy hiba az alapértelmezetten beállított 10 BE AO távolságot (Distance) alkalmazni a Blenderben a környezeti árnyékolás kiszámíttatásához. Komplexebb modellek esetében félelmetesen sok felesleges számítási műveletet kell ilyenkor elvégeznie a programnak, amiket ha elhagyunk, nagyon sok időt és energiát tudunk megtakarítani.
Tehát van egy már kiterített azaz „kiúvézott” modellünk a Blenderben, szerkesztő módba (Edit Mode) kapcsolt 3D nézet (3D-View) ablakban, és mellette ott van megnyitva egy képszerkesztő (UV/Image Editor) ablak is benne a modell UV-térképével (UV-map), alatta egy 2048x2048-as méretű AO-textura_001 nevű fekete képpel. A világ panel (World) Gather csoportjában feljebb is vehetjük az Ambient Occlusion (AO) minőségét a Samples paraméterező használatával a szebb eredmény érdekében, de esetleg a Constant QMC megjelenítést is alkalmazhatjuk az Adaptive QMC helyett.
A Render panel Bake (beégetés) csoportjában a Bake-elési módot (Bake Mode) állítsuk a környezeti fényekre (Ambient Occlusion). A Margin paraméterezőt pedig vegyük le 0-ra, mert a teljes 2048x2048-as képméretet szeretnénk kihasználni, majd a Bake gomb lenyomásával el is 74
indíthatjuk a beégetési (Bake-elési) folyamatot, amit a Blender képszerkesztő (UV/Image Editor) ablakában mindvégig nyomon is követhetünk.
A kész AO-textúránk képét minden alkalommal tanácsos elmenteni, mert nagyon sok esetben szükséges leellenőrizni a kész textúra finomságát és megfelelőségét. Jelen esetben például az „AOBakeTex_001.png” fájlnévvel kezdtük a Bake-elés során létrejött képek mentését. Nagyon sokszor többször is végre kell hajtatnunk a Blenderrel az AO-textúránk Bake-elését eltérő beállításokkal, míg végre a megfelelő minőségű végeredményt megkapjuk. Legtöbbször a távolsági értékek (Distance) szorulnak módosításra, de nem egy esetben szükségünk lehet az árnyékok elhalásának módosítására is a Falloff paraméterező aktiválásával és használatával. Az elhalás (Falloff) erőssége a Strenght paraméterező segítségével adható meg, és a maximális értéke 1.000 lehet. Gyakran 5-6 változatot is kell készítenünk tehát a környezeti árnyékokat ábrázoló AO-textúránkból mire elégedettek lehetünk. Ez a jelen esetben az AO-BakeTex004.png kép esetében következett be.
75
Normal-map-ok (felületi normálisok térképe) Bake-elése Erre az eljárásra leginkább nagy poligonszámú, összetettebb modellek esetében lehet szükség, amelyek sok apró részlettel, felületi egyenetlenséggel rendelkeznek. Legtöbbször kövek, sziklák esetében, illetve organikus modellezés során lehet rá szükségünk. Gépek esetében a karcolások illetve a vastagabb festékrétegek szimulált megjelenítésekor alkalmazzuk jó eredménnyel abban az esetben, ha extrém részletgazdag modell létrehozása a célunk. A Normal-map-ek Bake-elésére (Felületi normálisok textúrába égetése) akkor is nagyon hasznos lehet, ha egy komolyabb felépítésű modellt, vagy annak egy részletét egyetlen sík lapra (Plane) vetítve szeretnénk megjeleníteni abból a célból, hogy radikálisan le tudjuk csökkenteni a renderelési időt. Filmes irányultság esetén ezt a módszert inkább mellőzik, de játékok készítésekor ez egy igenis hasznos és életképes eljárás az erőforrásigény csökkenésének eléréséhez, azaz a játékok optimalizálásához. Általában tehát a Normal-map-eket (felületi normálisok térképe) csak nagyon ritka esetekben szoktuk textúrába égetve felhasználni. Közelről nézve ugyanis igencsak látszik, hogy csak egyetlen sík felületre vetített képről van szó csupán a felhasználása során. Élkopás textúrák készítése Bake-eléssel Ez a feladat Plug-inek és szkriptek felhasználásával nagyon professzionális módon megoldható, de most egy nagyon egyszerű módszert fogunk használni és bemutatni, amihez nem szükséges semmit sem hozzáadni a Blenderhez. Semmit sem kell letölteni, illetve feltelepíteni hozzá. A környezeti árnyék textúrák Bake-elésekor (AO-textúrák) készítése során az árnyékok az élek mentén jönnek létre, az élkopások megjelenítéséhez viszont nekünk ennek pont az ellenkezőjére lesz szükségünk az élek kopásának szimulálásához a későbbiekben. Egész pontosan az a célunk, hogy a majdani kopási mintázat az éleket kövesse majd.
76
Lépjünk a Blender 3D-nézet ablakában (3D-View) drótvázas nézetbe (Wire View) a [Z] billentyűvel. Voltaképpen arról van szó, hogy az objektum, vagyis jelen esetben a modellünk belső, fonák oldalára viszonyítva kell alkalmaznunk a környezeti fények használatát, tehát az AO árnyékolást. Egy egészen egyszerű, de annál meglepőbb módszert kell alkalmaznunk. Ez gyakorlatilag abban merül ki, hogy voltaképpen ki kell fordítani a modellünket, és így kell egy képbe égetni (Bake-elni) a környezeti fények (Ambient Occlusion) árnyékainak AO-textúráját. Szerkesztő módba (Edit Mode) kapcsolva [Tab] a Blender 3D-nézet (3D-View) ablakát, kapcsoljuk be a felületi normálisok grafikus megjelenítését. Ezt a jobb oldali eszköztár ablakban [N] a Normals csoport Face jelölőnégyzetével tehetjük meg. Ekkor a felületi normálisok iránya láthatóvá válik. A modellünk kifordításához a felületi normálisok irányát át kell fordítanunk pontosan 180 fokkal. Erre legegyszerűbben a 3D-nézet ablakban (3D-View) a bal oldali eszköztárban [T] van lehetőségünk. Itt a Normals csoportban a Flip Direction (irány átfordítása) gomb segítségével minden oldallap (Face) felületi normálisának az iránya megfordul. Fontos, hogy ehhez a teljes modell ki legyen jelölve. Innentől kezdve a Blender már a modell belső felületét fogja figyelembe venni az AO-textúra képbe égetésekor (Bake-elés).
Mielőtt azonban a Bake gombbal elindítanánk a Bake-elés folyamatát, a képszerkesztő (UVImage Editor) ablakhoz adjunk egy új fekete képet az előzővel megegyező (2048x2048-as) méretben. E természetesen nyugodtan lehet az AO-textúránk elkészítésekor már alkalmazott AOtextura_001 nevű képünk is. Ezután ismételten indítsuk el a beégetési folyamatot (Bake-elés). Akárcsak az AO textúránk Bake-elése során, úgy itt is könnyen előfordulhat, hogy elsőre nem leszünk elégedettek a kapott eredménnyel, és a beállítások módosítására lesz majd szükség. A legtöbb esetben viszont elmondható, hogy a környezeti fények (Ambient Occlusion) Bake-elésekor alkalmazott távolsági érték (Distance) tizedrésze szükséges. Ez jelen esetünkben 0,040 BE volt a Distance paraméterezőben. A köztes Bake-elési eredmények képeit itt is célszerű egyenként elmenteni például PNG formátumú képfájlba. Amikor már úgy látjuk, hogy megfelelő minőségű élkopás textúrát sikerült beleégetnünk a képbe, fordítsuk vissza a modellünk felületi normálisait ugyancsak a Flip Direction (irány átfordítása) funkciógomb használatával. 77
Gondosan archiváljuk a megfelelő képfájljainkat, majd mentsük el a modellünket a biztonság kedvéért még egyszer, és exportáljuk ki OBJ formátumba is, mert a későbbiekben a Knald szoftverrel majd ezt a formátumot fogjuk majd használni. Sajnos a Knald ugyanis a BLEND fájlokkal nem boldogul.
Végezetül a modellünk UV-térképét (UV-map) is exportáljuk ki egy PNG formátumú UVLayout képfájlba későbbi felhasználásra. Fontos, hogy itt is tartsuk meg a kezdeti 2048x2048-as képméretet.
78
79
010 – A diffúz textúra (Diffuse Texture) elkészítése GIMP-ben Mint azt már jól tudjuk, a diffúz textúrán a tárgyak színezetét értjük, függetlenül attól, hogy az a festék színe, vagy esetleg valamiféle szennyeződés. Mielőtt azonban nekiesnénk a GIMP-nek, nem árt, ha előkészítjük a legfontosabb hozzávalókat. Szükségünk van tehát a modellünk előző fejezetben leírt módhoz hasonlatosan elkészített környezeti árnyékolás (Ambient Occlusion) textúrájára (AO-map), az élkopás textúrára (Edge-map) és az UV-Layout képére. Ezeken felül már csak néhány kosz (Grunge), karcolás, kopás, lepattogzás, valamint a kaparó ecsetünk megléte szükséges ahhoz, hogy jó esélyünk legyen a munkánk sikerére.
Indítsuk el tehát a GIMP-et, és hozzunk létre benne egy új fehér képet [Ctrl+N] akkora méretben, amekkorában az eddig kész három textúránkat készítettük, Ez a méret tehát jelen esetünkben, mint arra az előző fejezetből még emlékezhetünk, 2048×2048 pixel. Ezt követően a Környezeti árnyék (AO). Az élkopás (Edge) textúráinkat (Map), valamint az UV-Layout-unkat is nyissuk meg ebben a képben új rétegként [Ctrl+Alt+O]. A háttér réteget nyugodtan töröljük ki, de nagyon figyeljünk oda az egyes rétegek pontos elnevezésére, mert máskülönben könnyen belezavarodhatunk majd a rétegszerkezetbe. Mentsük is el rögtön a képünket mondjuk SFBlokk_difftex001.xcf névvel. Az xcf a GIMP saját fájlformátum típusa, mely lehetőséget biztosít a teljes rétegszerkezet tárolására annak minden tartalmával és jellemzőjével egyetemben. Munkánk során érdemes a fájlnév számozását növelve fázismentéseket végezni arra az esetre, ha valamit nagyon elrontottunk volna, vagy ha netán fellázadna ellenünk a technika. Kopott fémanyag szerkezetének felépítése Hozzunk létre egy új, FÉM_BAZIS nevű réteget [Ctrl+Shift+N], és töltsük ki valami semleges, szürke színnel. Ez lesz majd az a szín, ami a fémünk színét fogja majd megadni. Ezt követően egy újabb réteget is hozzunk létre [Ctrl+Shift+N], mondjuk GRUNGE_01 névvel, de ezt viszont hagyjuk meg átlátszónak (Transparent). A festőecset eszközt használva válasszunk egy szimpatikus koszoló (Grunge) ecsetet, aminek a méretét úgy válasszuk meg, hogy a 2048×2048 80
pixeles képméret nagyjából egytized részét tegye ki. Ez jelen esetben a 815×683 alapmérető kosz04 ecset használata mellett a 800-as ecsetméretet jelenti.
Fekete festő/előtérszínt használva véletlenszerűen fessük be a GRUNGE_01 nevű átlátszó rétegünket, majd ezt követően adjunk hozzá egy fehér rétegmaszkot. Fessünk a GRUNGE_01 réteg maszkjára is ugyanezzel az ecsetbeállítással és festőszínnel, de a láthatóságát (Opacity) vegyük vissza 75%-ra. Ezzel a kis trükkel némileg kitakartunk a GRUNGE_01 rétegünkből, és sokkal véletlenszerűbb, élethűbb hatást értünk el. Ezzel a réteggel már csak annyi a teendőnk, hogy a teljes réteg láthatóságának mértékét (Opacity) nagyon erősen visszavesszük, mondjuk 10% alá. Mondjuk 8%-ra.
81
Hozzunk létre egy újabb átlátszó (Transparent) réteget [Ctrl+Shift+N], amit nevezzünk el az egyszerűség kedvéért GRUNGE_02-nek. Erre a rétegre is fekete színt használva fessünk, de használjunk lehetőség szerint egy másik koszoló ecsetet, és az ecset láthatóságát (Opacity) vegyük le 70%-ra.
Ehhez a réteghez is adjunk egy fehér rétegmaszkot, amire 75%-os láthatósággal fessünk ugyanezzel az ecsettel, ha pedig elértük a kellő eredményt, a GRUNGE_02 réteg láthatóságát (Opacity) is vegyük le 10%-os értékre.
Egy újabb átlátszó (Transparent) réteget hozzunk létre [Ctrl+Shift+N], amit stílszerűen nevezzünk GRUNGE_03-nak, és váltsunk vissza arra az ecsetre, amit a GRUNGE_01 rétegünk 82
megfestésére használtunk. 100%-os láthatóságra állított ecsettel dolgozzunk, viszont fehér festőszínt alkalmazzunk, ez úgyis az alapértelmezett háttérszín a GIMP-ben. Igyekezzünk a GRUNGE_03 rétegre is véletlenszerűen ráfesteni. Ezt követően adjunk ehhez a réteghez is egy ugyancsak fehér rétegmaszkot, és fekete színnel. 70%-osan látszódóan (Opacity) ugyanezzel az ecsettel fessünk ki belőle, amennyire szükséges.
Próbáljuk úgy kialakítani a GRUNGE_03 rétegünk mintázatát, hogy ne jelenjenek meg vakítóan fehér pontszerű területek, mert ezek csúnyán megtörhetik a leendő textúránk valószerűségének látszatát. Egy szabálytalan, hullámos és éles szélű ecsetre váltva véletlenszerű dőlésszöget és méretet lehetővé tevő ecsetdinamikai beállítások mellett fessünk tovább a rétegmaszkra, és ha elégedettek vagyunk a végeredménnyel, a GRUNGE_03 réteget állítsuk át Overlay (Rávetítés) rétegmódba, a láthatóságát (Opacity) pedig vegyük le mondjuk 20%-os értékre.
83
Szükségünk van egy negyedik átlátszó rétegre is, ami most a GRUNGE_04 lesz, és erre a rétegre az előbbiekben már használt hullámos szélű ecsetet használva fehérrel, 100%-os láthatóság (Opacity) mellett festünk. Az ecsetdinamikát úgy állítsuk be, hogy az ecset dőlésszöge és mérete is egyaránt véletlenszerű legyen. Végül aztán a GRUNGE_04 réteg láthatóságát (Opacity) is vegyük le, méghozzá igencsak drasztikus mértékben, mondjuk 5%-ra.
Ezzel az egyszerű rétegszerkezettel tehát sikerült felépítenünk egy kopott fémfelülethez hasonló hatású képet. Ezt a fém-bázisképet érdemes külön is elmenteni xcf formátumban, mondjuk FÉMALAP_SZERK.XCF fájlként, hátha később még szükségünk lesz rá. A további teendőnk a fémszerkezetet alkotó öt réteggel (FEM_BAZIS + 4db GRUNGE), hogy kikapcsoljuk a három, előzőleg elkészített textúra ( AO-map, Edge-map, illetve az UV-Layout) képének láthatóságát, és a GIMP rétegkezelő ablakában a helyi menüből [BEG] a Látható Rétegek Összefésülése (Visible Layers Merge) menüparancsot használjuk. Ezzel egy rétegre kerül minden, ami korábban az öt rétegen volt, és egy új, normál rétegmódban lévő 100%-os láthatóságú (Opacity) rétegbe integrálódik minden. Gyakorlatilag az összes GRUNGE réteg beleépül a FEM_BAZIS rétegbe, a rétegmaszkjaikkal együtt.
84
A jobb végső hatás kedvéért a GIMP Színek / Fényerő-Kontraszt (Colors / BrightnessContrast) menüparancsát használva csökkentsük a réteg kontrasztosságát −70-re, a fényerejét pedig −30-ra.
Akkor mondhatjuk nagyjából jónak a nyers fém-képünket, ha az megfelelően kontraszttalannak tűnik, és a mintázata is elég jellegtelen hatású. A kép végső dinamikáját a Színek / Görbék (Colors / Curves) menüparancsot használva állíthatjuk be a legpontosabban.
85
Karcolások hozzáadása A FEM_BAZIS réteg fölé hozzunk létre egy új, átlátszó réteget, amit nevezzünk el például KARC_01-nek. Ezután válasszunk ki egy szimpatikus karcolás ecsetet, aminek a méretét akkorára állítsuk, hogy a képterületnek nagyjából 5%-át töltse be. E esetünkben egy 512×512 pixel méretű ecset esetében körülbelül 350-es beállított értéket jelent festő (előtér) színnek állítsuk be a fehéret.
Adjunk a KARC_01 rétegünkhöz egy rétegmaszkot, és egy másik karcolás ecsetre, és fekete festő (előtér) színnel véletlenszerűen fessünk rá úgy, hogy egy irányban haladva, satírozó módszerrel használjuk az ecsetet. Ezzel javítjuk a karcolódási hatás a KARC_01-es rétegen.
86
Ezek után a réteg láthatósági értékét (Opacity) vegyük le 60%-ra, a rétegmegjelenítési módot pedig tegyük át Overlay-re (Rávetítés). Ezzel a réteggel szimuláljuk a fémfelület apróbb felületi karcolódásait.
A nagyobb méretű felületi karcolódások létrehozásához egy újabb átlátszó (Transparent) rétegre lesz szükségünk. Legyen ez a KARC_02, és egy másik karcolás ecsetet választva, nagyobb méretben, ami mondjuk legyen a kép méretének durván egy ötöd része, fekete festőszínt (előtérszín) használva teljesen véletlenszerűen festünk.
Adjunk a KARC_02 rétegünkhöz is egy rétegmaszkot, majd ugyanezzel az ecsettel, ugyanezekkel a beállításokkal és színnel véletlenszerűen fessünk a rétegmaszkunkra is. Ha késznek 87
érezzük a festést. A KARC_02 réteg láthatóságát (Opacity) is vegyük lejjebb. Ez példánkban mintegy 30%-ot jelentett.
Ezzel tehát, hogy létrehoztuk a nyers fémfelületet, és hozzáadtuk az ezen keletkezett karcolásokat, a modell legalsó anyagának diffúz képe már késznek tekinthető. Csakhogy ez még csak a legalsó anyagréteg! Festékréteg létrehozása Adjunk egy új réteget a képünkhöz, ami legyen kiindulásképpen fehér, és nevezzük el FESTÉS-nek. Ezután a GIMP színkezelőjét használva könnyedén kiválaszthatunk egy számunkra szimpatikus színt, és ezt az új rétegen egyszerűen kitölthetjük vele [Ctrl+,] [Ctrl+.]. Arra azonban az élethűség érdekében ügyeljünk, hogy kerüljük a nagyon rikító, magasan szaturált (telített) színek használatát, mert ez rajzfilmes, gyerekrajz szerű hatást fog majd inkább kelteni. Igyekezzünk fakóbb, sötétebb tónusokat alkalmazni a festőszínek megválasztásakor.
88
Példánkban viszont egy katonai jármű alkatrészét próbáljuk meg lemodellezni, de ehhez speciális terepszínű festés illik. Szerencsénkre a GIMP rendelkezik egy elég jól használható kamuflázs generátor szkripttel, ami az alapértelmezetten telepített GIMP verziónkban is helyet kapott. A kamuflázs-generátor szkriptet a Fájl / Létrehozás / Minták / Kamuflázs menüparancson keresztül érhetjük el. A szkript paraméterezőablaka segítségével megadhatjuk azt a három színt, ami majd a kamuflázst (rejtőszín) építi majd fel. A szemcsézettség paraméterezővel pedig arra lehetünk hatással, hogy a foltok a kép egészéhez mérten mekkorák legyenek, illetve milyen sűrűen helyezkedjenek el. A Simítás jelölőnégyzet a foltok széleit mossa el, a lapítás pedig a kamuflázs létrehozását követően érintetlenül hagyja az azt alkotó három színréteget.
89
Sajnos a kamuflázs generátor szkriptünk csak maximum 1000×1000 pixeles méretű képeket tud létrehozni, ezért emiatt a simítás jelölőnégyzetét is nyugodtan aktívvá tehetjük. A szkript lefutását követően egy új kép nyílik meg a GIMP-ben, és ennek átméretezése 2048×2048-ra legyen az első feladatunk. Ezt a Kép / Kép átméretezése (Image / Resized Image) menüpont segítségével valósíthatjuk meg. Érvényesítsünk a frissen átméretezett kamuflázsunkra egy Gauss-elmosást 2 pixeles értékkel, majd a kép dinamikáját is módosítsuk némileg úgy, hogy a fényerőt −100 , a kontrasztot pedig −10 egységgel vesszük alacsonyabbra.
Már csak annyi a teendőnk, hogy a kamuflázsunkat kijelöljük [Ctrl+A], vágólapra helyezzük [Ctrl+C], és a fémbázis képünk FESTÉS rétegére beillesztjük [Ctrl+V] és ezen le is horgonyozzuk.
90
Festéklekarmolódások megfestése Hozzunk létre egy új átlátszó (Transzparens) réteget a FESTÉS rétegünk felett, és nevezzük el mondjuk KARMOL_01-nek. Válasszunk ki egy karcolás ecsetet, aminek a méretét a kép egészéhez viszonyítva mintegy 10%-osra igazítsuk be. Fehér festőszínt használva véletlenszerűen fessünk a KARMOL_01 rétegre.
Adjunk hozzá egy fehér rétegmaszkot, és ugyanezzel az ecsettel és beállításokkal, de már fekete festőszínnel fessük meg a maszkot is, hogy megtörjük a KARMOL_01 réteg szabályosságát.
91
Állítsuk ezután a rétegmódot Screen-re (kivetítés), a láthatóságát pedig (Opacity) állítsuk alacsony, mondjuk 20%-os értékűre.
Napfény okozta fakulás szimulálása Egy új transzparens (átlátszó) réteg létrehozása után azt nevezzük el NAPFAKULÁS-nak, és egy kosz ecsettel (Grunge) fessünk rá fekete festőszínnel véletlenszerűen úgy, hogy az ecset valós mérete legalább a kép felével egyezzen meg.
A réteg keverési módját állítsuk át Saturationra (telítettség), a láthatóságát (Opacity) pedig 20%-os értékre. 92
Hozzunk létre egy új ÜRES átlátszó (Transzparens) réteget mozgassuk a KAROM_01 réteg felé, majd olvasszuk is össze ezeket. Így a KAROM_01 rétegbe integráljuk a rétegmaszkot, mivel most egy új rétegmaszkra lesz majd szükségünk hamarosan.
A NAPFAKULÁS rétegen alkalmazzuk a GIMP rétegkezelőjének helyi menüjében fellelhető Alfa-csatorna kijelöléssé alakítása parancsot, majd a KAROM_01 réteghez adjunk hozzá ismét egy rétegmaszkot, de a létrehozáskor a kijelölést vegyük figyelembe (Selection), és egyúttal a létrejöttekor invertáljuk is a kijelölésünket az Invert Mask jelölőnégyzettel.
93
Felületi piszkolódás hozzáadása A KARMOL_01 réteg felett egy új átlátszó (Transzparens) réteg hozzáadása után, amit KOSZ-nak neveztünk el, egy szimpatikus koszoló (Grunge) ecsettel fekete színnel felfestjük a koszolódásokat. Használhatunk természetesen többféle ecsetet is a koszolódás létrehozására. Ezután a rétegmódot állítsuk Multiply-ra (Szorzás), a réteg láthatóságát pedig 20% körüli értékre.
Ezután a KOSZ rétegen alakítsuk át az alfa-csatornát kijelöléssé, és a NAPFAKULÁS réteghez adjunk egy kijelölés alapú, invertált (átfordított) rétegmaszkot. Olajfolt felvitele Új OLAJFOLT névvel hozzunk létre egy transzparens (Átlátszó) réteget, majd a hullámos szelű éles ecsettel fessük be feketével.
94
Ezután egy Gauss elmosást végezzünk a rétegen 200 pixeles értékkel, majd a réteg megjelenítési módját állítsuk szorzásra (Multiply) a láthatósági mértékét (Opacity) pedig állítsuk 10%-ra.
95
Ezeket a lépéseket követve felépítettünk egy komplett festett kopott, régies hatású napszítta, foltos felületet hoztunk létre. Érdemes erről az állapotról egy külön mentést készíteni, mondjuk KOPOTT_FESTÉS.XCF néven. Ennek a sok rétegnek többek között még az is az értelme, hogy a későbbiekben majd a csillanást (Specularity) és a felületi egyenetlenségeket is ezek fogják majd vezérelni úgy, hogy figyelembe veszi majd a karcolódásokat és a koszolódást is. Ráadásul a FESTÉS rétegünk tartalmát tetszőlegesen cserélgethetjük, és a többi rétegen és a maszkjaikon is szabadon alakíthatunk, ha arra van szükség. Ha homogén színeket alkalmazunk a FESTÉS rétegen, és az így kapott eredmény is elfogadható, akkor jól dolgoztunk eddig. A környezeti fény textúra (AO-map) beépítése Az AO-Tex nevű rétegünket vigyük a rétegszerkezetünk legtetejére, közvetlenül az OLAJFOLT fölé, és állítsuk át a réteg megjelenítési módját szorzásra (Multiply). Így a festett, kopott felületeken csak a már korábban textúrába égetett környezeti árnyékok fognak látszani. Most még azonban nem lesz szükségünk a környezeti árnyékok megjelenítésére, ezért az AO-Tex réteget helyezzük vissza az egész rétegszerkezetünk legaljára.
A kopások kidolgozása Az Élkopás_TEX nevű rétegünket helyezzük a rétegszerkezetünk legtetejére, és hogy ellenőrizzük, jó helyen van-e, egy kicsit állítsuk a rétegmódját rávetítésre (Overlay), viszont ne felejtsük ezután a rétegmódot Normal-ra visszaállítani! A Színek / Invertálás (Colors / Invert) menüparancsot használva fordítsuk át az Élkopás_Tex 96
rétegünk színkészletét, és ha az élkopások vonalai fehérre váltak, kezdhetjük is a munkát.
Első dolgunk a Blenderrel generált élkopás textúra szabálytalanná tétele lesz, mert ez igencsak életszerűtlenül szabályos. Erre a célra a GIMP-ben első körben az automatikusan működő eszközöket használjuk. Ezt a feladatot persze elvégezhetnénk sokkal egyszerűbben is célszoftverek használatával (MapZone), de mi most ezt is a GIMP képszerkesztővel fogjuk megcsinálni. Elsőként a Blenderrel generált élkopás textúra széleit kell kicsit összekuszálnunk, amire a GIMP görbítés (Warp) szűrője a leginkább megfelelő eszköz. Ezt a Szűrők / Leképezés / Görbítés (Filters / Map / Warp) menüútvonalon érhetjük el. Itt elég sokat kell játszadoznunk a paraméterekkel a kellő hatás elérése érdekében, de az alapértelmezetten megjelenő értékek egyáltalán nem megfelelőek. Ha jól dolgoztunk, akkor a szűrő érvényesítése után az élkopás textúra szélei jól összekavarodnak.
97
Ezután egy másik szűrőt használunk, amit a Szűrők / Zaj / Szórás (Filters / Noise / Spread) menüparanccsal indíthatunk el. Állítsuk a szórás szűrőt 2 pixeles értékre, majd érvényesítsük.
Mivel az így létrejött eredmény kissé pixeles lesz, muszáj egy kicsit elmosnunk, mondjuk 3 pixeles X-Y irányú Gauss-elmosással.
98
A szürke képpontokat kell fehérré varázsolnunk. Ezt a színszinteket módosítva könnyedén elvégezhetjük.
Ha eddig már eljutottunk, tegyünk láthatatlanná minden egyes réteget, és csak azokat kapcsoljuk vissza, amelyek a festés kialakításában játszanak szerepet. Ezek példánk esetében a FESTÉS, KARMOL_01, KOSZ, NAPFAKULÁS, és az OLAJFOLT rétegek. Mivel azonban ezekre a rétegekre a későbbiekben a csillanás térképek (Specular map) és a domborzati térképek (Bump-Map) elkészítéséhez egyaránt szükség lesz, nem olvaszthatjuk csak úgy egyszerűen a látható rétegek összevonása (Visible Layers Merged) paranccsal, mert akkor elveszítjük az eredeti rétegeket. Annak érdekében, hogy ezt elkerüljük, egy másik megoldást kell keresnünk a látható rétegek összeolvasztására az eredeti alkotórétegek megtartása mellett. Ez a parancs a Szerkesztés / Látható másolása (Edit / Copy Visible) menüútvonalon, vagy a [Shift+Controll+C] billentyűparanccsal adható ki. Ilyenkor az aktuális kép állapota a memóriába fényképeződik. Nekünk csak egy új réteget kell létrehoznunk, mondjuk FESTES_TELJES névvel, és miután a 99
kimásolt grafikai tartalmat a rétegre illesztjük [Ctrl+V]. Ne felejtsük a beillesztett tartalmat a FESTES_TELJES réteghez horgonyozni!
Kapcsoljuk ki a FESTES_TELJES réteg létrehozásához használt rétegeket, azokat pedig, amelyeket a fémalap képének létrehozásához használtunk (FÉM_BÁZIS, KARC_01, KARC_02), kapcsoljuk be. Az Élkopás_Tex rétegünket jelöljük ki teljes egészében [Ctrl+A] és a tartalmát másoljuk a vágólapra [Ctrl+C], majd a FESTES_TELJES rétegünkhöz adjunk egy fehér rétegmaszkot, és illesszük be [Ctrl+V] az Élkopás_Tex réteg grafikai tartalmát, majd invertáljuk azt a Színek /Inverálás (Colors / Invert) menüparanccsal.
100
Munkánk eredményeként az élkopások alatt láthatóvá fog válni az általunk létrehozott karcos fémanyag képe. Ez ideális lehetőséget nyújt számunkra, hogy korrigáljunk a fémalapunk megjelenésén, ha ezt indokoltnak érezzük.
Az élkopás megjelenésének finomítását a FESTÉS_TELJES rétegünk maszkján feketével festve végezhetjük el, egy kaparó ecsetet, kis méretben használva. Ne feledjük a véletlenszerű méretet és dőlésszöget beállítani. Érdemes kisebb ecsetmérettel dolgozni a nagyobb élethűség érdekében még akkor is, ha ez elég pepecselős munkának tűnik. Arra is érdemes figyelemmel lenni, hogy egyes jellegzetes helyeken, mint a kiálló élek, illetve a sarkok, erősebben szokott jelentkezni az élek kopása. Emiatt az ilyen helyeken kicsit jobban rá kell dolgoznunk a FESTÉS_TELJES réteg maszkjára a fekete festéssel. Ha már megfelelőnek találjuk az élkopásaink kialakítását, váltsunk egy kosz, vagy esetleg egy lepattogzás ecsetre, és továbbra is a FESTÉS_TELJES réteg maszkjára feketével festve dolgozzunk tovább.
101
Így alakítsuk ki az egyéb jellegű felületi kopásokat, illetve lepattogzásokat. Arra vigyázzunk, hogy ne vigyük a koptatást túlzásba, illetve érdemes egymás után akár többször is másik ecsetre váltani. Mielőtt azonban ehhez a munkafázishoz hozzálátnánk, érdemes egy újabb biztonsági mentést is készítenünk a munkafájlunkról továbbra is XCF fájlformátumot használva. Az igazat megvallva, ez amilyen egyszerűen hangzik, annyira nem egyszerű feladat. A kellő végeredmény eléréséig egymás után akár többször is vissza kell festenünk fehér színnel a FESTÉS_TELJES réteg maszkjára. Minden esetre elegendő időt kell rááldoznunk a munkánkra, illetve azt is figyelembe kell vennünk, milyen módon keletkezhettek a festéklepattogzások és a kopások.
Ahhoz viszont, hogy kellően véletlenszerűbb legyen a modellünkön a festékréteg hiánya, muszáj egy újabb lepattogzás-réteget is létrehoznunk. Hozzunk létre egy új, fehér réteget, és nevezzük el mondjuk FESTÉKKOPÁS-nak. Ezt követően a Szűrők / Megjelenítés / Felhők / Köd (Filters / Render / Clouds / Fog) menüútvonalon elérhető köd-szűrőt érvényesítsük úgy, hogy megfeleljen a kapott eredmény a lepattogzásokról való elképzeléseinknek.
102
Ekkor létrejön egy új réteg, amit össze kell olvasztanunk a FESTÉKKOPÁS nevű rétegünkkel. A köd szűrő felhőszerű mintázatot fog létrehozni, amit elég pontosan parametrizálhatunk Ezt követően korrigáljuk a színszinteket (Levels), és mossuk el 5 pixeles beállítású Gauss-elmosással. A FESTÉKKOPÁS réteg tartalmát. Ezután még valamilyen koszoló (Grunge) ecsettel kicsit fessünk még bele, persze teljesen véletlenszerűen fekete és fehér festő (Előtér) színeket szükség szerint váltogatva használva. Utána még ha úgy érezzük, korrigálhatjuk a színszinteket is.
A következő feladatunk a festékkopásokkal kapcsolatban még az, hogy az élkopásokat és az utólag létrehozott véletlenszerű kopásokat egyesítsük. Ezt úgy tehetjük meg, hogy a FESTES_TELJES rétegünk rétegmaszkjának tartalmát vágólapra másoljuk [Ctrl+C], és egy új rétegként beillesztjük [Ctrl+V]. A hozzáadott rétegen nevezzük el ÉLKOPÁSMASZK-nak., és mozgassuk a rétegszerkezetünk legtetejére. És a rétegmódját állítsuk át szorzásra (Multiply). Így a két fekete fehér réteg amik egymás alatt vannak, úgy adódik össze, hogy a fekete képpontjai mindkettőnek látszódnak.
103
Ezt a két réteget olvassuk össze egymással, majd az ily módon megváltozott FESTÉKKOPÁS réteg teljes kijelölése után [Ctrl+A] a grafikus tartalmat a vágólapra másoljuk [Ctrl+C], majd beillesztjük [Ctrl+V] a FESTÉS_TELJES réteg maszkjába. A FESTÉKKOPÁS rétegre innentől már nem lesz szükségünk, úgyhogy egyelőre azt is kikapcsolhatjuk.
Ahová eddigi munkánk során eljutottunk, az az, hogy egy régi kopott festett fémalkatrésznek a diffúz szín textúráját (Diffuse Color Texture) készítettük el. Innentől már csak ki kell exportálnunk a GIMP-ből [Shift+Ctrl+E] a megfelelő képformátumban (PNG). Ezt a régebbi, 2.8 előtti GIMP verziók esetében egyszerű mentés másként [Ctrl+Shift+S] paranccsal tehettük meg. A végeredmény viszont bármely esetben ugyanaz. A képmentéseinkből javasolt egy olyan verziót is menteni, amelyiken megjelenítjük a környezeti árnyékolást is. Ez jelen esetben az AO-Tex rétegünkön található, melyet szorzó rétegmódba (Multiply) állítva tudunk megfelelően hozzáadni a Diffúz szín textúránkhoz. Kísérleti jelleggel tanulságos lehet, egy másik színnel helyettesítve a kamuflázs mintázatunkat, egy tesztverziót is készíteni, és a Blenderben ezt is kipróbálni.
104
A textúra matricázása A matricáról alapban mindenkinek egy ragacsos hátoldalú képecske jut az eszébe, de a 3D világában ennél sokkal de sokkal többről van szó. A matricák (Decals) azok a jellegzetes motívumok, melyek létfontosságúak lehetnek a modellünk pontos beazonosításában. Ilyenek a feliratok, jelzések, ábrák, valamint az utólagos grafikai dekorációt alkotó elemek. Ha jól sikerült a textúránk, ügyes matricázással még egy kis plusz életet is lehelhetünk a modellünkbe. Még valószerűbbé, élethűbbé tehetjük vele. A matricák létrehozásához használhatunk használhatunk fotókat, illetve ezek részleteit, de mindent megrajzolhatunk magunk is a GIMP képszerkesztőt használva. Első lépésben konkretizálnunk kell, mi is az amit le szeretnénk modellezni, mert ez nagyban befolyásolja a majdani matricánk jellegét. A feliratokat, a színvilágot és sok más egyéb apróbb dolgot. Mi példánkban egy katonai jármű oxigén utántöltő csatlakozójának a fedőlapját szeretnénk élethűen modellezni, ehhez pedig a feliratok csaknem elengedhetetlenek. Példáknak megtekinthetünk hasonló feliratokat valós járműveken is. Igyekezzünk a feliratok nyelvezetét úgy megválasztani, hogy lehetőleg valami nagyon ismert nyelvet válasszunk (Angol, Német, Orosz) és kerüljük azt is, hogy a matricánk grafikája nagyon elüssön a textúránk színvilágától. Jelen esetben az „Oxigén csatlakozó” (Oxigen changer), „Kenőanyagot használni tilos” (To use a lubricant prohibited!), „Kifelé nyílik” (Open outwards). Ezen felül egy O2-logo és figyelmeztető és irányjelző nyilak is szükségesek. Miután nagy vonalakba kigondoltuk mit szeretnénk matricaként létrehozni, kezdhetjük is a munkát.
Legelső dolgunk az legyen, hogy láthatóvá tesszük az UV-Layout réteget, és a képünk rétegszerkezetének legtetejére mozgatjuk. Erre azért van szükség, hogy a matricák egyes elemeit pontosabban tudjuk majd pozicionálni a textúránk képe felett. Ezt követően hozzunk létre egy új képet [Ctrl+N] a GIMP-ben, nem sokkal kisebb méretben, mint maga a képünk mérete. Ez most 1600×1200 képpontot jelent. A képünk csak alfa csatornát tartalmazzon, azaz legyen átlátszó, és egyből mentsük is LOGO.XCF néven. Az időnkénti mentésekről természetesen ne feledkezzünk meg! 105
A négyszög kijelölő eszközt használva jelöljünk ki egy 1600×200 pixeles sávot a képünkön, majd töltsük ki fehér színnel. Ezután a kijelölésünk magasságát csökkentsük 150 pixelre, és igazítsuk az imént létrehozott fehér csíkunk közepére. Hozzunk létre egy új, átlátszó (Transzparens) réteget, és töltsük ki valami nem túl élénk, de világos kék színnel (3596a4), és érvényesítsünk rá egy 5 pixeles Gauss elmosás (Gaussian blur) szűrőt. Ezután a szöveg eszközre váltva hozzunk létre egy OXIGEN feliratot tartalmazó réteget. Használjunk fehér szövegszínt, és növeljük meg a karaktertávolságot is. Példánkban a Square721 BT karaktertípust használtuk 130-as karaktermérettel és 150-es karaktertávolsággal. Igazítsuk az „OXIGEN” feliratunkat a kék csík közepébe, majd ugyanezt a betűkészletet alkalmazva egy új szövegréteget hozzunk létre, mely csak egyetlen egy kettes számjegyet tartalmaz. Ennél a szövegrétegnél viszont egy fakóbb sárgás karakterszínt válasszunk (e1c83f), és a karakter méretét csökkentsük 80-ra, és a réteget mozgassuk az „OXIGEN” felirat O-betűjének indexébe.
Állítsuk be előtérszínnek a már használt sárgás színünket (e1c83f), majd válasszuk ki a színkijelölő eszközzel az O-betűt és töltsük ki vele. Olvasszuk össze a két szöveges réteget, majd érvényesítsük az így létrejött, immár csak grafikusan szerkeszthető rétegre is a Gauss elmosás (Gaussian blur) szűrőt szintén 5 pixeles értékkel. Fésüljük egy réteggé a képet, és a rajzvászon magasságát csökkentsük 200 pixelre, majd a központosítás ellenőrzése után exportáljuk ki egy külön képfájlba [Ctrl+E] mondjuk OXIGENLOGO.PNG néven.
A nyilak elkészítéséhez ugyancsak hozzunk létre egy új transzparens képet, mely esetünkben bőven elég ha 400×300 pixel méretű. Mentsük is el ALAPNYIL.XCF néven, még mielőtt dolgozni kezdenénk vele.
106
Mivel a nyilak olyan alakzatok, melyeken kínosan látszik ha pontatlanok, vagy ha hevenyészetten vannak csak megszerkesztve, egy újabb eszközt kell bevetnünk, amellyel ezt elkerülhetjük
Ezt a remek eszközt a Szűrők / Megjelenítés / GFig (Filters / Render / GFig) menüútvonalon érhetjük el. A használatával pedig szépen, szimmetrikusan rajzolhatunk. A GFig ideális rajzolóeszköz az ilyen feladatok elvégzésére. A GFig ablakban válasszunk ki egy kis méretű, mondjuk 3×3-as ecsetet, és ezzel rajzoljuk meg a nyilunkat.
107
Amikor úgy érezzük, készen vagyunk a rajzolással, érvényesítsük a szűrőt. Erre az elkészített rajz meg fog jelenni egy új, GFig nevű rétegen.
A szín szerinti kijelölő eszközt használva minden fekete színt jelöljünk ki, és az így létrejött többszörös kijelölést növeljük meg 4 pixellel. Hozzunk létre egy új réteget, és válasszunk ki egy kicsit élénkebb, de nem rikító sárgás színt (eab209) amivel az új rétegen kitöltjük a kijelölést. Olvasszuk össze a két réteget, majd érvényesítsünk rá egy Gauss elmosás (Gaussian blur) szűrőt. A Kép / Zealous vágás menüparanccsal vágjuk le a felesleges képszéleket, majd az így kapott képet exportáljuk ki [Ctrl+E] illetve a 2.8-asnál régebbi GIMP verziók esetében mentsük el [Ctrl+S] ALAPNYIL.PNG néven.
A továbbiakban ismét a bázisképen dolgozunk tovább, ahol az OXIGENLOGO.PNG illetve az ALAPNYIL.PNG képeket új rétegként nyitjuk meg [Ctrl+Alt+O]. A két képréteget méretezzük át ha kell, de mindig csak egyszer, mert máskülönben jelentős képminőség romlással kell számolnunk. Másoljuk amennyiszer szükséges, és a kellő transzformációk után, ami jelenleg egyszerű forgatásban merült ki, ugyancsak mozgassuk a rendeltetési helyükre. Az egyes képtípusokat olvasszuk össze egy-egy külön, saját rétegbe, majd kapcsoljuk ki az UV-Layout réteg láthatóságát is. Az egyes matrica rétegek színszintjeit illesszük a textúrához illeszkedő mértékben a színtek (Levels) módosításával. Végül a szöveg eszközt használva hozzunk létre minden feliratnak egy-egy szövegréteget. És mikor már úgy látjuk, minden a helyén van, az összes hozzáadott réteget egymás után 108
összeolvasztunk, és egy MATRICA nevű rétegen tárolunk. Persze nagyon fontos az is, hogy ezt a MATRICA nevű réteget kép méretűvé alakítsuk a GIMP rétegkezelő ablakának helyi menüjén keresztül.
Így viszont még igencsak feltűnően sértetlenek a MATRICA rétegünk grafikai elemei a kopott festésünkhöz képest. Ezt úgy javíthatjuk ki, hogy a MATRICA réteghez is adunk egy rétegmaszkot, majd a FESTÉS_TELJES réteg maszkját kijelölt [Ctrl+A] és vágólapra helyezett [Ctrl+C] tartalmát ide beillesztjük [Ctrl+V].
Ezután egy kopott ecsettel véletlenszerűen fehér festőszínt (előtérszín) használva visszafestünk a maszkon annyit, amennyi csak szükséges. 109
Ezt a módszert követve könnyedén rekonstruálhatjuk egy tárgy létezése során azon létrejövő apróbb sérüléseket, és jellegzetességeket, melyekre egyszerűen csak modellezés közben semmiféle lehetőségünk nincsen, csupán textúrázáskor. Munkánk végeztével okos dolog többféle változatot kiexportálni a kész textúrát tartalmazó XCF képfájlból. Egy olyat, amely csak a festett kopott fémfelületet tartalmazza mondjuk SF-Blokk_DiffuseColor_alap.png néven, egy olyat, ahol a matricák is jelen vannak például mint SF-Blokk_DiffuseColor_Matrica.png, valemint egy olyat is, amely tartalmazza a textúrába égetett környezeti árnyékokat is. Ez mondjuk például lehet egy SF-Blokk_DiffuseColor_Matrica_AO.png képfájl is.
110
Ha mindezt sikeresen elvégeztük, készítsünk az egész textúraszerkezetet magában foglaló biztonsági mentést is, az esetleges későbbi újrahasznosításra gondolva. Vigyázzunk, hogy a GIMP saját formátumát (XCF) használjuk, nehogy elvesszen valami. Ezt a fájlt jelen esetben mi SFBlokk_diffusetex_Complete.xcf néven mentettük el. A továbbiakban Blenderben feltextúrázva a modellünket már meg is tekinthetjük is a munkánk eredményét.
111
011 – Domborzati térkép (Bump-map) textúra készítése GIMP-ben A bonyolultabb diffúz színezettel rendelkező modellek esetében a diffúz szín textúra (Diffuse Color Texture) a színezet egy az egyben történő felhasználásával létrehozott egyszerű domborzati térkép (Bump-map) a legtöbbször nem megfelelő, mert sokszor irreálisan fals végeredményt kapunk. Tehát a telítetlen színezettel felhasznált diffúz szín textúra nem lesz megfelelő, mert az egyes összetevők egymás feletti elhelyezkedése is összekeveredhet. A fehér feliratok irreálisan kiemelkedhetnek, a fekete részletek pedig durván belesüllyedhetnek a felületbe. Így tehát nagyon félresikerült textúrázási végeredményt érhetünk csak el. Persze, ha szerencsénk van, itt-ott jól is elsülhet ez a próbálkozás, de a hibalehetőség ennél az elnagyolt megoldásnál kiugróan magas.
Nyissuk meg a diffúz textúra (Diffuse Color Texture) készítéséhez felhasznált XCF formátumban archivált forrásképet, de mentsük el más néven is, nehogy felülírjuk véletlenül az eredeti fájlt. Mi ebből a megfontolásból a SF-Blokk_diffusetex_Complete.XCF forrásfájlunkat SF-Blokk_Bump-map_Work_001.XCF-re neveztük át. Elsőként azt kell átgondolnunk, mielőtt bármit is csinálnánk, hogy a modell felületén az egyes rétegek milyen sorrendben helyezkednek el. Példánkban a legalsó rétegen a karcos fémfelület található, felette a festékréteg és a feliratok, ezek felett pedig a felületi szennyeződések és a koszréteg.
112
Kezdetnek szüntessük meg minden egyes réteg láthatóságát és el kell döntenünk, mely rétegekre lesz szükségünk, és melyekre nem. A domborzati térképet (Bump-map) a környezeti árnyékolás semennyire sem befolyásolja, ezért az AO_Textura_004.png rétegre nem lesz szükségünk. Ugyanezen okból kifolyólag a MATRICA rétegünk sem fog majd kelleni, mert az itt található grafikai elemek a festékréteggel gyakorlatilag egy síkban helyezkednek majd el. Az OLAJFOLT réteg sem kell majd, mert az olaj csak filmként vonja be az alatta lévő felületet. A napfény által kiszívott festék magassága sem változik meg a környezetéhez képest, ezért a NAPFAKULÁS rétegünk is kikapcsolva marad. Jelen példánk esetében hat réteget fogunk használni a domborzati térképünk létrehozásához, mert csak ezek tartalma olyan, ami befolyásolhatja a modellünk felületén az apróbb egyenetlenségeket. Célszerűbb alulról felfelé haladva felépíteni a domborzati textúránk (Bump-map Texture) képét, már csak a könnyebb követhetőség kedvéért is. FÉM-BAZIS réteg: Ez a rétegünk tartalmazza a nyers fémre jellemző szürkés színárnyalatú mintázatot, de mivel semmi olyasmi nincs rajta, ami a felületi domborzatra akár csak a legcsekélyebb mértékben is kihatna, akár törölhetnénk is. Csakhogy meg kell tartanunk, mert ez lesz a domborzati térképünk (Bump-map) létrehozásához elengedhetetlenül szükséges alapszinti réteg. A jelenlegi tartalmára természetesen nem lesz most szükségünk. Ehelyett ez a réteg fogja majd megadni a Bump-map textúránk középmagassági szintjét.
Most tehát akár ki is jelölhetjük a FÉM-BAZIS réteg tartalmát [Ctrl+A], és nyugodt szívvel ki is törölhetjük [Ctrl+X]. Ezután a GIMP színkezelőjét használva állítsunk be előtérszínnek egy színezet nélküli, 50%-os telítettségű (Value) szürke színt (808080), majd ezzel az előtérszínnel töltsük ki a rétegünket [Ctrl+,]. Azért ez a szürke szín lesz az alapmagassági szín, mert lévén, hogy a domborzati térkép textúrák (Bump-map Texture) érték alapúak, így az 50%-osan telített szürkéhez képest a világosabb színek magasabb területek, a sötétek pedig alacsonyabb területként lesznek majd megjelenítve.
113
KARC_01 réteg: Itt találhatóak az alig tapintható finomságú felületi karcolódások a fém felszínén. Mivel ezek alig mélyednek bele a fém felületébe, a magasságuk csak nagyon csekély mértékben tér el az alapsíktól, aminek okán a színük is csak egy kicsit lehet sötétebb annál. Mivel azonban erre a rétegre alapból fehér színnel festettünk, legelőször invertálnunk kell az itt található grafikai tartalmat a Színek / Invertálás (Colors / Invert) menüparanccsal, majd a rétegmódot állítsuk át rávetítésről (Overlay) szorzásra (Multiply).
A réteg láthatóságát (Opacity) pedig oly mértékben változtassuk meg, hogy már majdhogynem olvadjon bele a FÉM_BAZIS réteg szürkeségébe, és csak egy kicsivel legyen sötétebb annál. Ez a láthatósági mérték példánk esetében a KARC_01 rétegen csak 7%. 114
KARC_02 réteg: A mélyebb fémfelületi karcolásokat hordozó réteg. Az itt megjelenő felületi karcoknak mélyebbeknek kell lenniük, ezért sötétebb színezetet is kell ehhez használnunk. Szerencsére erre a rétegre eredetileg is feketével festettünk, ezért invertálásra most nincs szükségünk. Itt megtarthatjuk a réteg eredeti normál (Normal) rétegmódját, és csak a láthatóság (Opacity) beállításával kell meghatároznunk a mintázat telítettségét. Ez a mérték példánk esetében 30% volt.
FESTÉS réteg: Nos, igen… Ez a réteg a domborzati térkép (Bump-map) szempontjából igencsak érdekes lesz most számunkra. Magának a festéknek a színezete ugyanis domborzatilag tökéletesen semleges számunkra. Viszont az már cseppet sem az, hogy hol van festék a fémen, és hol nincs. A festett fémfelület ugyanis simább, mert a festék elfedi a karcokat ha mondjuk már újrafestett gépalkatrészről van szó. A festéknek viszont emiatt is egy minimális szinten ki kell állnia az alatta húzódó fémfelület síkjából.
115
A FESTÉS réteget tehát kapcsoljuk be, majd a GIMP színkezelőjét használva válasszunk ki egy kicsit világosabb szürke előtérszínt annál, mint amit a FÉM_BAZIS rétegünk kitöltéséhez használtunk. Mi erre a célra az 55% értékű (Value) szürke színt választottuk (8c8c8c).
Ezzel a színnel töltsük ki a teljes FESTÉS rétegünket [Ctrl+,], és adjunk hozzá egy fehér rétegmaszkot is.
Ezután FESTÉS_TELJES réteg maszkját jelöljük ki [Ctrl+A] majd másoljuk ki vágólapra [Ctrl+C] és illesszük be a vágólapról a FESTÉS réteg maszkjába [Ctrl+V], majd horgonyozzuk is le ide a lebegő kijelölést. 116
Ennek eredményeként csak azokon a területeken lesz majd érvényes a festék szintjét jelentő szürke, ahol a festék diffúz kamuflázs színezete is látható. Így a nyers fémfelületen létrehozott karcolások is a festékréteg alá kerültek.
KARMOL_01 réteg: Ezt a réteget is kapcsoljuk be, mert itt olyan apróbb karmolások, karistolások vannak rajta jelen, melyek a festékréteg megkopása után keletkezhettek, vagyis mind a fém, mind pedig a festék felületén jelen vannak, még ha csak egy kicsit is. Ezek a kis kopások viszont magasságban már érzékelhetőek, ezért a domborzati térkép (Bump-map) létrehozása során figyelembe kell venni őket.
117
Mivel azonban karcokról van szó, itt is negatív irányú, azaz mélyedés szerű domborzati képződményekkel állunk szemben. Csakhogy mi a KARMOL_01 rétegre eredetileg fehérrel festettünk, ezért át kényszerülünk fordítani a réteg grafikai tartalmának a színezetét. Erre a Színek / Invertálás (Colors / Invert) menüparancs ismét remek eszköz lehet. A KARMOL_01 réteg megjelenítési módját pedig kivetítésről (Screen) állítsuk át rávetítésre (Overlay) hogy jól láthatóan kirajzolódjanak a felületi karistolódások. A réteg láthatóságának (Opacity) szabályozásával állítsuk be hogy halványan kivehető legyen a szürkesége a FESTÉS réteg felett is. Ez az érték példánk esetében 45% volt. KOSZ réteg: Mivel itt jelenítjük meg a felületi szennyeződéseket, e réteg tartalmának minden egyéb felett kell elhelyezkednie a domborzati térkép textúrán (Bump-map Texture). Ehhez pedig arra van szükségünk, hogy minden grafikai tartalom, amely ezen a rétegen található, a többinél kicsivel világosabb legyen.
Viszont mivel eredetileg erre a rétegre is fekete színnel festettünk, legelőször itt is invertálnunk kell a színeket a Színek / Invertálás (Colors / Invert) menüparancsot használva. A KOSZ réteg keverési módját szorzásról (Multiply) állítsuk át rávetítésre (Overlay), majd a réteg láthatóságának (Opacity) módosításával hozzuk létre a koszréteg magasságának nagyjából megfelelő szürke színezetet a szennyezett képterületen. Ez jelen példánkban 10%-os láthatóságot jelentett.
118
Mindezek során létrehoztunk egy nyers domborzati térkép textúrát (Bump-map Texture), pontosabban ennek a szerkezetét. Végezzünk el egy biztonsági mentést, majd a Szerkesztés / Látható másolása (Edit / Copy to Visible) [Shift+Ctrl+C] menüparancsot használjuk. Az így vágólapra másolt tartalmat illesszük be egy új rétegen a bázisképünkbe [Ctrl+V].
119
Ezt az új réteget nevezzük el mondjuk BUMP-MAP_TELJES01-nek. Mivel a domborzati térképek (Bump-map) érték alapú textúrákat használnak, ahol a fehér szín jelenti a legmagasabb, a fekete pedig a legalacsonyabb részeket jelenti, a most létrehozott textúránk viszont elég szürkés. Hogy kontrasztosítsuk kicsit, aminek következtében látványosabb eredményt fog hozni, a Színek / Szintek (Colors / Levels) menüparancsot használva úgy korrigáljuk a színszinteket, hogy a teljes felhasználható színtartományt felhasználjuk.
Innentől már csak ki kell exportálnunk a képet [Ctrl+E] egy Blender által is használható képfájlba. Esetünkben ez legyen a SF-Blokk_GIMP_Bump-map01.PNG képfájl. A GIMP 2.8asnál korábbi verzióinál még a jó öreg Mentés másként [Ctrl+Shift+S] parancsot kell használnunk. Aztán már csak annyi a dolgunk, hogy a Blenderben a diffúz textúra (Diffuse Color Texture) mellett leellenőrizzük a frissen elkészült domborzati térkép textúránkat (Bump-map Texture) hogy minden a kellő helyen van-e.
120
121
012 – Csillanási térkép (Specular-map) létrehozása GIMP-ben Csillanási térképet (Specular-map) elkészítése közben, főleg bonyolultabb modellek esetében, a lényegét tekinve hasonló alapelveket követve kell dolgoznunk, mint a domborzati térképek (Bump-map) esetében kellett. A fehér szín viszont ebben az esetben nem a legmagasabb kiemelkedést, hanem a legerősebben csillanó felületet jelenti, a fekete pedig azokat a területeken, amik egyáltalában nem csillognak. A munkánk kiindulási alapját ezúttal is ugyanaz a domborzati textúra (Bump-map Texture) elkészítése során létrehozott és esetünkben SF-Blokk_Bump-map_Work_001.XCF képfáj fogja adni, amit gondosan archiváltunk.Természetesen ismét nyissuk meg ezt a fájlt a GIMP-ben, és mentsük is el azonnal mondjuk SF-Blokk_Spec-map_Work_001.XCF néven. Most is e fájl rétegszerkezetét lekövetve fogunk dolgozni.
A fájl megnyitását követően minden egyes réteg láthatóságát kapcsoljuk ki, és majd alulról felfelé haladva fogjuk lassan felépíteni a csillanási térképünket (Specular-map). A fémalap anyagunkért felelős felületét tartalmazó FÉM-BAZIS réteg most tehát egy szürke színnel van kitöltve. Ez, mivel 50%-os átmenetet jelent a fehér és a fekete között, nagyjából 50%osan is lesz majd csilogó felület. Csakhogy mi most fényesebb fémet szeretnénk létrehozni, és ehhez világosítanunk kell a FÉM_BAZIS réteget kitöltő 808080 HTML jelölésű szürkénken. Ezt a célkitűzésünket most a Színek / Görbék (Colors / Curves) menüparancsot használva érhetjük el. Így most egy bcbcbc HTML jelű világosszürke színt hoztunk létre.
122
Csakhogy magának a fémnek a felületi síkján karcolások is találhatóak, melyeknek megvannak a maguk csillanási sajátosságai Ezek közül számunkra most az a leginkább szem előtt tartandó, hogy a régebbi keletű karcolások kicsit mattabbá teszik a felületet, azaz ott csökken a csillogás mértéke, míg az újabb keletű, vagy mélyebb karcolások esetenként sokkal fényesebb felületet adnak, mint ami magára az alapfelületre jellemző.
123
Mostani példánk esetében induljunk ki abből, hogy a KARC_01 rétegen található finomabb horzsolások a régebbiek, a KARC_02 réteg mélyebb felületi sérülései pedig egészen újak. Mindezek értelmében a KARC_01 réteg által megfestett területeken a fémfelületnek kevésbbé lehet csillogóbb az anyaga, azaz valamivel sötétebbnek kell lennie annál a szürkénél, mint ami a FÉM_BAZIS rétegen található. Szerencsére erre a rétegre feketével van festve, és ráadásul még szorzó (Multiply) keverési módra is van állítva, ezért bőven elegendőa sötétítéshez, ha a KARC_01 réteg láthatóságát (Opacity) kicsit magasabbra, mondjuk 20%-ra vesszük. A KARC_02 réteg esetében viszont sajnos már egyáltalán nem ilyen egyszerű a dolgunk, hiszen itt fényesebb felületre lesz szükségünk az erősebb csillanás definiálásához és ide eredetileg feketével van festve a karcolások mintázata. Ezért itt át kell fordítanunk a réteg színezetét a Színek / Invertálás (Colors / Invert) menüparanccsal, hogy olyanná váljon mintha fehérrel festettünk volna.
Innen már elegendő ha a KARC_02 rétegünk láthatóságát (Opacity) magasabbra vesszük, és az itt elhelyezett karcolási rajzolat világosabbá válik. Arra azonban mindvégig ügyeljünk, hogy a réteg keverési módját ne állítsuk el normál (Normal) módról. Példafájlunkban a KARC_02 réteg láthatóságát (Opacity) 80%-ra állítottuk be.
124
Ezután kapcsoljuk be a FESTÉS réteg láthatóságát is. Ezen a rétegen adjuk meg a festett fémfelület csillanásának mértékét. Most ez a rétegünk elméletileg a 8c8c8c HTML jelölésű szürke színnel van kitöltve, és egy rétegmaszk határozza meg, hol látszódik majd a festék a fémfelület felett.
Ez a szürke azonban nagyon világos, és bár igaz, hogy a régi festék is csillog valamennyire, de azért nem ennyire. Ahhoz pedig, hogy drasztikus mértékben csökkentsük a csillogás mértékét, a FESTÉS réteg grafikai tartalmát sötétebbé kell varázsolnunk.Erre leghatékonyabb eszköznek jelen esetben megintcsak a Színek / Szintek (Colors / Levels) menüparancsa bizonyult, aminek segítségével sötétítettük a festék csillanását magadó szürkéknet a majdnem fekete színre. Ezzel az volt a célunk, hogy a festett fémfelület jóval kisebb mértékben csillogjon.
125
A festett fémen és a kilátszó fémen egyaránt látszódó újabb finom felületi sérülések, melyek a KARMOL_01 rétegünkön vannak, viszont megintcsak kicsivel jobban kell hogy csillogjanak.
Ezért ennek a rétegnek is fordítsik át (invertáljuk) a színezetét a Színek / Invertálás (Color / Invert) menüparanccsal, majd a réteg keverési módját állítsuk át normálra (Normal). A láthatóság mértékét pedig megnövelhetjük mondjuk 75%-ra. Mindezeket követően viszont nem a soron következő KOSZ rétegen dolgozunk tovább, hanem a MATRICA rétegen, mivel fizikailag ez helyezkedik el közvetlenül a festett fém felületén. Éppen ezért a MATRICA réteget mozgassuk is át a KARMOL_01 réteg fölé.
126
Bizonyos szinten itt is hasonlóan kell eljárnunk, mint a FESTÉS réteg esetében, mikor a domborzati térkép textúrát (Bump-map Texture) készítettük. Mikor ugyanis bekapcsoljuk a MATRICA réteget rögtön láthatjuk, hogy a réteg RGB színinformációkat is tartalmaz, vagyishogy nem szürkeárnyalatos. Viszont a csillanási térkép elkészítéséhez még színek nélkül sem felel meg számunkra a réteg tartalma, mert az egyes színárnyalatok telítettségi foka is eltérne, ami a csillanás rendereléskor azonnal szembetűnő csillanási hibát eredményezne a modellünkön. Nekünk mindösszesen azt kell figyelembe vennünk, hogy a MATRICA rétegen hol láthatóak grafikai elemek, illetve hogy hol nem. Ezt úgy tehetjük meg, hogy a MARTICA rétegen a GIMP rétegkezelőjének helyi menüjét használva kijelöljük az alfa-csatornát.
Ezt követően a GIMP színkezelőkén keresztül állítsunk be előtérszínnek egy egyszer már alkalmazott közepes telítettségű szürke színt, és ezzel töltsük ki a kijelölést a MATRICA rétegen [Ctrl+,]. Ha megszüntetjük a kijelölést [Ctlr+Shift+A], már látszik, hogy mivel ez a terület világosabb mint a festett fém, annál jobban fog csillogni.
127
A nyers fémfelületnél pedig kevésbbé lesz csillogóbb a felülete. Mi viszont azt szeretnénk, ha a MATRICA réteg feliratai ne csillogjanak jobban, mint a festék, ezért a Színek / Szintek (Colors / Levels) menüparancs használatával a MATRICA réteg szürkéjét beleolvasztjuk a FESTÉK réteg szürkéjébe úgy, hogy a MATRICA réteg 100%-os láthatósága (Opacity) és a normál (Normal) rétegkeverési módja változatlan marad. Így a festett fém, és a feliratok egyformán fognak majd csillogni a Csillanási térképünk (Specular-map) használatakor. A következő szempont, amit bele kell integrálnunk a most készülő csillanási térképbe (Specular-map) az az, hogy a nap által kiszívott festékfelületek kicsit mattabbá válnak a környezetüknél.
Ezeket a foltos területeket a NAPFAKULÁS réteg tartalmazza, amit ugyancsak nem használtunk fel a domborzati textúra (Bump-map Texture) létrehozásakor, és a diffúz szín textúra (Diffuse Color Texture) felépítésekor telítettség (Saturation) rétegmódban hoztunk létre. Ennek okán most hiába kapcsoljuk be a NAPFAKULÁS réteget, nem látunk semmi változást. Hogy mégis láthatóvá váljon, a réteg tartalma színek használata nélkül is, állítsuk a rétegkeverési módját szorzásra (Multiply) a láthatóságának (Opacity)mértékét pedig elenyészően alacsonyra, mondjuk 5%-ra. De ezzel még nincs vége, mert a nap csak a festést tudja fakóbbá tenni, a fém színét nem igazán. Ennek okán a GIMP rétegkezelőjének helyi menüjén keresztül alkalmazzuk a már meglévő rétegmaszkot a NAPFAKULÁS rétegen.
128
Ekkor a maszk tartalma végérvényesen egybeolvad a réteg tartalmával. A FESTÉS réteg maszkját teljes egészében jelöljük ki [Ctrl+A] majd másoljuk ki a memóriába [Ctrl+C]. Hozzunk ezután létre egy új rétegmaszkot a NAPFAKULÁS rétegen, majd illesszük be a vágólapról az oda másolt tartalmat [Ctrl+V] és horgonyozzuk is le azt. Így már csak a festett fémrészeken fog megjelenni a napfény fakító hatásának eredménye Munkánkat azzal folytatjuk, hogy az olajjal szennyezett felületek fényességét is megpróbáljuk beleilleszteni a csillanási térképünkbe.
Az olajos felületek ugyanis jobban visszaverik a fényt. Kapcsoljuk be tehát az OLAJFOLT réteget is, majd a Színek / Invertálás (Color/ Invert) menüparancsot alkalmazva fordítsuk át a színezetét.
129
A rétegkeverési módját pedig állítsuk át szorzásról (Multiply) rávetítésre (Overlay), a láthatóságának mértékép (Opacity) pedig állítsuk alacsonyra, mindjuk 10%-ra.
Csillanási térképünk (Specular-map) legfelső rétege a valóságban legtöbbször az aktuális szennyeződés, és koszok, melyet jelen példánkban a KOSZ réteg tartalmaz. Mivel ez a legfelső réteg, húzzuk az OLAJFOLT réteg fölé és kapcsoljuk is be. Mivel a kosz lefedi az alatta lévő részeket, csökkenti is azoknak a csillanási (Specular) értékét, azaz sötétebb kell legyen a csillanási térkép textúrán (Specular-map Texture). Ennek a sötétítésnek a mértékét egyszerűen csak a KOSZ réteg láthatóságának (Opacity) változtatásával a rávetítés (Overlay) rétegkeverési módot meghagyva könnyűszerrel befolyásolhatjuk. A KOSZ réteg láthatóságát (Opacity) példánkban 20%-ra állítottuk be.
130
Ezt a munkafolyamatot követve sikerült felépítenünk egy összetett, több körülményt és tényezőt egyaránt szemmel tartó csillanási térkép (Specular-map) rétegszerkezetét, amit célszerű is archiválnunk. Már csak az összes látható rétegről kell egy másolatot készítenünk a vágólapra a [Ctrl+Shift+C] billentyűparancs, vagy a Szerkesztés / Látható másolása (Edit / Copy to visible) menüútvonal használatával, majd ezt illesszük is vissza a képünkbe [Ctrl+V] és hozzunk is létre neki egy új réteget, például SPEC-MAP_TELJES01 névvel. Természetesen az eredeti rétegeket meghagyjuk, mert ezeken keresztül akár a teljes textúra-összetevő rendszerünket újra tudjuk hangolni a későbbiekben ha szükséges. Mivel az így kapott kép nem fedi át a teljes színátmeneti skálát a fekete és a fehér között, a Szinek / Szintek (Colors / Levels) menüparancson keresztül elérhető eszközzel állítsuk be úgy a színszinteket, hogy a teljes színtartományt igyekezzük kihasználni.
Ezután exportáljuk ki a kész textúránkat [Shift+Ctrl+E] egy képfájlba, hogy a Blenderben is fel tudjuk használni. Hogy ne legyen keveredés, adjuk a képünknek mondjuk a SFBlokk_GIMP_Spec-map01.PNG fájlnevet. A 2,8-asnál korábbi GIMP verziók esetén egyszerűen csak másként kell elmentenünk a képfájlt [Ctlr+Shift+S]. Ha a diffúz textúránkba beleégettük Bake-léssel a környezeti árnyékok textúráját (Ambient Occlusion Texture), akkor az tartalmazó AO-Textura_004.png rétegünket húzzuk a SPECMAP_TELJES01 rétegünk felé és kapcsoljuk be. Hagyjuk a rétegmódját szorzáson (Multiply), valamint a láthatóságát se változtassuk meg, hanem hagyjuk 100%-on. Erre azért van szükség, mert a környezeti árnyékok miatt az árnyékolt részeken csökken az anyagok csillogási (Specular) képessége. Így is exportáljunk egy képfájlt mondjuk SF-Blokk_GIMP_Spec-map01_AO.PNG néven. Az így elkészített csillanási textúránkat a Blenderben egy új textúrába betöltve máris kipróbálhatjuk a modellünk felületén. Ne feledjük, hogy a tulajdonságok ablak (Properties) anyagtulajdonságok paneljén (Material) a csillogás (Specular) értékét vegyük le 0.000-ra, a textúra panelen (Texture) pedig az Influence csoportban a Color paraméterező helyett a Specular Intensity (Csillanás intenzitás) paraméterezőt használjuk. GLSL nézetben a 3D nézeti ablakban (3D view) máris láthatjuk a munkánk eredményét, főleg ha a Diffúz szín (Diffuse Color), a domborzati térkép (Bump-map) és a csillanási térkép (Specular-map) textúráinkat együtt jelenítjük meg a modellünk felületén. Még egy-egy próbarendert is készíthetünk.
131
Ezeknél természetesen mind a három fő textúraréteget meg kell jelenítenünk a teljes hatásért. Diffúz szín textúra (Diffuse Color Texture) – Diffuse Color : 1,000 Domborzati térkép textúra (Bump-map Texture) – Geometry Normal : 0,005 Csillanási térkép textúra (Specular-map Texture) – Specular Intensity : 0,600
132
013 – Normal-map (Felületi normális térkép) létrehozása az SSBump Generator szoftver használatával A Normal-mapok létrehozása és alkalmazása mindig kényes téma a 3D modellezés világában. Van ugyanis, ahol egyáltalán nincs rá szükség, mert bőven elég egy jól elkészített Bump-map (domborzati térkép) textúra. Máskor meg pont fordítva van. Felületi normális térképet (Normal-map) létrehozhatunk ugyan a GIMP-el is (Lásd: Blender Kódex 02. 191. oldal - 105. fejezet), de sokkal jobb eredményt érhetünk el ha erre a feladatra célszoftvert használunk. Ráadásul egy összetettebb geometriájú modell esetében egy textúra generátor szoftver alkalmazása még a munkánkat is gyorsíthatja. Sok textúra generátor létezik, de sajnos a legtöbb nem ingyenes, illetve csak próbaverzió. Jelen esetben például a Knald-ot szerettük volna használni, de az ingyenesen letölthető Open Beta verzió sajnos 32 bites Windows operációs rendszereken (sem XP-sem WIN7) nem működött, és még Ubuntu alatt WINE emulátorban sem sikerült futtatnunk. Így hát egy másik eszköz után kellett néznünk, amivel elkészíthetjük a saját Normal-mapunkat. Választásunk a tökéletesen ingyen, mindenféle megkötés nélkül hozzáférhető és használható SSBump Generator nevű szoftverre esett. Ingyenességén kívül még az is mellette szól, hogy a hagyományos „vindózos” értelemben szólva nem is kell telepíteni. Annyit kell csak tennünk, hogy létrehozunk egy mappát, majd az internetről letöltött Ssbump_Generator_5_2_BUGFIX2.zip fájl tartalmát ide kicsomagoljuk. Ezt követően innen a SSBump_Generator_5_3.exe fájlról az asztalra kihelyezünk egy parancsikont (Linux esetében egy indítót), és máris kezdhetjük vele a munkát.
133
Természetesen ennek szoftvernek is megvannak a maga kis hiányosságai és korlátai, de nagyon is érdemes foglalkozni vele mindenkinek, akinek nincs pénze a fizetős szoftverekre, vagy csak régebbi a számítógépe.
Indítsuk el tehát az SSBump Generatort mondjuk a parancsikonnal. Az ekkor megjelenő kezelőfelület nem tartalmaz túl sok dolgot. Egy menüsor, egy funkció-gomb sor, valamint egy, egyelőre még teljesen üres listaablak.
Mivel most elsőként egy felületi normális térképet szeretnénk létrehozni, amire a már kész domborzati térkép fog alapul szolgálni, nekünk ezt a képet kell megnyitni az SSBump Generator programban. Erre a célra használhatjuk a Fájl / Add Image menüparancsot, vagy a pluszjeles képet tartalmazó Add Image funkciógombbal, esetleg a [Alt+A] billentyűparanccsal is megtehetjük ezt.
Adjuk tehát hozzá a listánkhoz az előzőek során GIMP-ben elkészített SFBlokk_GIMP_Bump-map.png képünket, melynek neve ezután meg is jelenik a listánkban. Ezzel egy időben a program ablakának jobb oldalán az alap beállítási, illetve a főbb feladatok kiválasztásához szükséges lehetőségek is megjelennek.
134
Az első sorban három rádiógombbal választhatjuk ki a leggyakoribb feladattípusokat. Itt választhatunk, hogy csak a felületi normális térképet szeretnénk legenerálni (Normal Map Only), hogy egy komplett textúracsomagot hozzon létre (SSbump) ami mellesleg az alapértelmezetten megjelölt feladat, illetve hogy környezeti a környezeti árnyékolás textúrát szeretnénk készíteni (w/Ambient Occlusion). Felületi normális térkép létrehozása (Normal Map Only) Ezt a lehetőséget választva egy jelölőnégyzet aktiválásával az átlátszó képterületeket is figyelembe vehetjük, valamint a Settings (beállítások) gombra kattintva az SSBump Generator főablakát felváltja a Normal Map Settings (Normal-map beállítások) ablaka, amely ugyancsak teljesen üres még. Ahhoz, hogy használhassuk, egy réteget (Layer) kell hozzáadnunk az ablak bal oldali, még üres listaablakához. Ezt a nagy zöld keresztet ábrázoló alsó funkciógombbal tehetjük meg.
Ha erre rákattintunk, kiválaszthatjuk a rétegünk felhasználási minőségét. Ezek szerint létrehozhatunk általános (Default), magas részletességű (Fine Detail), közepes részletességű (Medium Detail), valamint alacsony részletességű (Large Detail) réteget is.
Természetesen válasszuk a minél jobb eredmény érdekében a lehető legjobb minőséget adó Fine Detail választógombot, mire automatikusan visszatérünk a Normal-map beállítások (Normal135
Map Settings) ablakhoz. Itt a Layer Name (réteg neve) mezőben nevezzük el a rétegünket mondjuk NormalMap_Work-nek. Ekkor már, ha az alsó funkciógombok között lévő, szemet ábrázoló gombok közül az elsőre kattintunk, be is kapcsolhatjuk a leendő Normal-map textúránk képének előnézeti (Preview) ablakát. Két előnézeti mód közül választhatunk. Az első csak a kijelölt réteget mutatja, a második pedig a teljes rétegszerkezet révén létrejött végeredmény képét. Sajnos azonban az SSBump Generator nem igazán kényeztet el minket előnézetek tekintetében, ugyanis sem 3D előnézeti képet nem kapunk, sem pedig nagyítani vagy kicsinyíteni nem tudjuk az előnézetünket csupán magát a megjelenítési ablakot tudjuk tetszőleges mértékben átméretezni. Mindössze egy függőleges és egy vízszintes csúszka áll rendelkezésünkre, hogy ha mást nem is, de legalább végigpásztázhassuk az előnézeti képet, amelyet 100%-os nagyításban, azaz eredeti méretben tekinthetünk meg az előnézeti (Prewiew) ablakban.
A Normal-map beállítások (Normal Map Settings) ablakban az Image File (Képfájl) mezőben megadhatunk egy másik képet az eredetileg betöltött kép helyett. Alatta pedig a Blend Mode (keverési mód) ablakban az egymás alatti textúraalkotó rétegek keverési módjait tudjuk beállítani. Gyakorlatilag ez ugyanolyan, mint a GIMP vagy a Blender esetében is. Az SSBump Generator itt viszont csak négyféle keverési módot tud elvégezni: normál (Normal), rétegmódot, rávetítést (Overlay), szorzást (Multiply), valamint összeadást (Additive). Most, mivel csak egyetlen réteggel dolgozunk, tehát nem építettünk fel az SSBump Generatorban egy külön rétegszerkezetet ami alapján majd le kell generálni a felületi normális térkép textúránkat (Normal-map Texture), gyakorlatilag bármelyik megfelelő. Mi mégis válasszuk lehetőleg a normál rétegmódot. Ugyanezen okból nem kell hozzányúlnunk Percentage csúszkához sem, mert ezzel azt határozhatjuk meg, hány százalékban hassanak az egyes rétegekben lévő képek a teljes textúra kialakulásában.
136
A Normal Map Setting (Normal-map beállítások) ablakban ez alatt találhatók magát a domborzatot is befolyásoló kezelőszervek. Itt van elsőként az Invert Height Map (Átfordított magassági térkép) jelölőnégyzet. Ezzel a legmagasabb magassági pontunk lesz a legalacsonyabb, és fordítva. Maga a domborzati alap természetesen változatlanul megmarad. A Height Scale (magassági skála) csúszkával a magassági különbségeket egymással arányosan növelhetjük. A Gaussian Blur (Gauss elmosás) csúszkával pedig elmoshatjuk a képpontokat, ezáltal simább felületeket kaphatunk, míg az Enhance Dept (mélység növelése) csúszkával a negatív irányú felületi normálok arányát növelhetjük. Az Enhance Edges (élek növelése) csoportban az Edge Detection (Élkeresés) illetve az Intensity (intenzitás) csúszkák használatával tovább finomíthatjuk a Normal-map textúránkat. Alapértelmezetten ez a két csúszka 0.00 értéken áll. Mikor beállítottuk a számunkra kedvezőnek vélhető értékeket, az OK gombra kattintva visszakapjuk az SSBump Generator központi ablakát, ahol aztán le tudjuk rendereltetni a szoftverrel az általunk meghatározott tulajdonságokkal rendelkező felületi normális térkép textúránk (Normalmap Texture) képét. Ehhez használhatjuk a File / Render Normal Map menüparancsot, a program ablakában az ennek megfelelő grafikus funkcióbillentyűt, vagy akár a [Ctrl+N] billentyűparancsot is.
137
A renderelés elindítása előtt ismét visszakapjuk a Normal Map Settings ablakot, ahol a Save (mentés) gombra kattintva megadhatjuk az elkészülő összeállításunk nevét. Ez legyen az egyszerűség kedvéért SF-Blokk_NormalMap_SSBump. A kiterjesztést nem kell hozzáírnunk, mert ekkor még nem jött létre maga a képfájl amit aztán majd felhasználhatunk.
Ezután a Generate Selected (kiválasztott létrehozása) grafikus funkciógombbal elindíthatjuk magát a renderelési folyamatot, aminek végeredményeként maga a képfájl is létre fog majd jönni. Ez a parancs természetesen a File / Generate Selected Images menüútvonalon is elérhető, viszont külön billentyűparanccsal nem rendelkezik.
Miután lefutott a renderelési folyamat eseményjelzője, a program elkészíti a képfájlt is úgy, hogy az eredeti nevét használja, és hozzáteszi a _Normal utótagot.
138
Ennek okán a most létrejött felületi normális térkép textúránk (Normal-map Texture) a SFBlokk_GIMP_Bump-map_Normal.png fájlnéven jön létre az eredetileg alapanyagként felhasznált képfájlunk mellett. Annak érdekében, hogy ne legyen utólag keveredés, célszerű egy rövidebbre változtatni a fájlnevet, és még egy számot is belesűríteni, hogy elkerüljük az esetleges felülírásokat. Ez most annyit jelent, hogy SF-Blokk_GIMP_Bump-map_Normal.png fájlunkat SFBlokk_SSBump_Normal01.png-re változtatjuk. A kész Normal-map textúránk képe ezután már teljes biztonsággal felhasználhatóm a Blenderben is. Ehhez először nyissuk meg a Blenderben a példafájlunkat, és kapcsoljuk ki az összes létrehozott textúrarétegünket. Úgy mint a diffúz szín (Diffuse Color), a domborzati térkép (Bumpmap), illetve a csillanási térkép (Specular-map) textúráinkat.
Hozzunk létre egy új, kép típusú (Image or Movie) textúrát, mondjuk Normal-map néven, majd töltsük be az imént létrehozott, SF-Blokk_SSBump_Normal01.png képfájlunkat. A textúra (Texture) panel Mapping csoportjában állítsuk be a modellünk UV térképét (UV-map) a textúra kifeszítési alapjául, az Influence csoportban pedig kapcsoljuk ki a Diffuse Color paraméterezőt, ami helyett a Geometry Normal paraméterezőt aktiváljuk. Az viszont a Normal-map megjelenítése szempontjából élet-halál kérdése, hogy az Image Sampling csoportban is be legyen jelölve a Normal map jelölőgomb.
Előfordulhat természetesen, hogy nem sikerül elsőre eltalálnunk az SSBump Generátorral a modellünkhöz megfelelő beállításokat, így nem egy esetben újabb változatokat kell létrehozni a képekből, illetve ezeket kipróbálni a Blenderben. 139
140
014 – Textúraszerkezet felépítése az anyagbeállítások módosításával a Blenderben Most, hogy már minden textúratípust el tudunk készíteni mindenféle külső forrást nélkülözve akár saját kezűleg manuálisan is, nézzük meg miként hozhatunk létre egy objektumon nagyon élethű hatást keltő textúraszerkezetet, melyhez ha megfelelő anyagbeállításokat társítunk, rendkívül tetszetős végeredményt kaphatunk eredményül. Ebben a leckében is ugyanazt a már kiterített, vagyis UV-térképpel (UV-map) rendelkező modellt fogjuk majd szemléltetésként használni, mint az előbbiekben, de most kicsit másféle festéssel dolgozunk, hogy ne legyen annyira unalmas… Elsőként a diffúz szín textúrát fogjuk hozzáadni a modellünkhöz.. A textúra panelen hozzunk létre egy új kép típusú (Image or Movie) textúrát, amit nevezzünk el mondjuk most DiffuseTex-nek. Töltsük be azután az Image (kép) csoportban az általunk mondjuk GIMP-ben elkészített SFBlokk_diffcolortex_Blue.png képfájlt. A Mapping csoportban állítsuk be kivetítési alapként (Coordinates) a Modellünk UV-térképét. Ha a 3D-nézet (3D-view) ablakban a GLSL megjelenítést használjuk, és a Texture Solid funkciót is bekapcsoltuk, akkor már láthatjuk az eddigi munkánk eredményét.
A továbbiakban a tulajdonságok (Properties) ablakon az anyag (Material) panelét is tegyük elérhetővé, mert vissza kell vennünk a modell anyagának a csillanási képességét (Specular) az Intensity paraméterező 0.000 értékre való átállításával. Erre azért van szükség, mert a felületek csillanásának mértékét hamarosan egy intenzitástérkép alapú textúrával fogjuk majd szabályozni. Ha ezt a lépést kifelejtjük, nem fog működni a dolog és a modell teljes felülete egyformán fog majd csillogni. Nagyjából azt a hatást keltve ezzel, mintha a világon semmit sem csináltunk volna. Egyszerűen nem fog működni a dolog, mert ahol nem kellene csillognia a felületnek az 141
intenzitástérkép alapú csillanási textúránk értékei szerint, ott is 1.000 , azaz maximális lesz az alap csillanási mérték.
Csak ezt követően hozzunk létre egy új textúrát szintén kép (Image or Movie) típussal, mely a modell anyagának csillogását fogja majd vezérelni. Nevezzük is el ezt a textúrát SpecularTex-nek, és töltsük be a GIMP-ben készített SF-Blokk_GIMP_Spec-map01.png képfájlunkat. A Mapping csoportban állítsuk be kivetítési alapként a modellünk UV-térképét (UV-map). Az Influence csoportban kiiktatjuk a diffúz szín megjelenítését (Diffuse Color), majd a hozzá tartozó jelölőnégyzet aktiválásával bekapcsoljuk a Specular Intensity (csillanás intenzitás) paraméterezőt, melynek értékét 1.500-ra állítottunk, mivel csillogó fémszerű anyagot szeretnénk imitálni. Csakhogy a textúraként használt SF-Blokk_GIMP_Spec-map01.png képfájlunkat intenzitástérképként kell alkalmaznunk, ezért az Image Sampling csoportban az RGB to intensity funkciót is be kell jelölnünk, és célszerű az alapértelmezett színét magentáról fehérre átállítani.
Az anyagbeállításoknál (Material) pedig a Specular (csillanás) csoportban a leginkább fémes hatást keltő CookTorr csillanási rendszert válasszuk, és a keménységét (Hardness) állítsuk át 300ra.
Annak érdekében, hogy a felületi domborzatot is magfelelően szimulálni tudjuk egy újabb textúraréteg létrehozására van szükségünk. Ámde ezen a ponton a textúrázási munkánk során választhatunk, hogy melyik módszert alkalmazzuk. Egyszerűbb modellek esetében bőven elég lehet egy domborzati térkép textúra (Bump-map Texture) felhasználása, de sokkal jobb eredmény elérésének igénye esetén hatásosabb, ha inkább felületi normális textúrát (Normal-map Texture) használunk ez esetben. Hozzunk létre tehát egy újabb kép típusú (Image or Movie) textúrát és nevezzük el például NormalTex-nek.
Töltsük be a textúrába a nemrég SSBump Generatorral elkészített SFBlokk_SSBump_Normal01.png képfájlunkat, majd az Image Sampling csoport Normal Map jelölőnégyzetét is aktiváljuk, hogy a textúraként betöltött képünk felületi normális térképként 142
(Normal-map) legyen feldolgozva. A textúra kivetítéséi koordinátáit (Coordinates) állítsuk be UVtérképhez igazodóra (UV-map) a Mapping csoportban. Az Influence csoportban pedig a Diffuse Color (szín) paraméterező kikapcsolása után aktivizáljuk a Geometry Normal paraméterezőt. Itt az érték beállításánál nagyon vigyázzunk, mert sok esetben egyáltalán nem egyszerű olyan értéket megadni, ami nem hangsúlyozza túl, vagy nem mérsékli a kelleténél jobban a felületek domborzati szimulációjának megjelenítését. Szerencsére, mivel a textúráink képfájlokat használnak, nem pedig procedurális mintázatot, GLSL módban a 3D-nézet (3D-view) ablakban nagyon jó előnézeti képet kapunk a felületi normális térkép textúránk (Normal-map Texture) majdani kinézetéről. Mikor már úgy érezzük, elég szép és kellően valósághű a GLSL előnézeti képünk, beállíthatjuk a rendereléshez szükséges dolgokat, és végezhetünk egy-két próbarendert is hogy szemügyre vehessük eddigi munkánk eredményét.
143
144
015 – Textúrakezelés Cycles 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: 145
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. 146
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.
147
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á 148
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 149
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.
150
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.
151
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.
152
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ő 153
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).
154
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.
155
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.
156
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.
157
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.
158
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.
159
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. 160
161
Tartalomjegyzék 000 – Előszó................................................................................................................................2 001 – Bevezetés, avagy kezdő lökés...........................................................................................3 002 – Textúrázási módszerek......................................................................................................5 003 – Referenciaképek elemzése..............................................................................................11 004 – Anyagszerkezetek szimulálása és felépítése...................................................................24 005 – Textúrák létrehozásának főbb eszközei...........................................................................40 006 – Ismétlődő (Seamless) textúrák tökéletesítése..................................................................46 007 – Ecsetek tökéletesítése......................................................................................................53 008 – Textúra generátorok.........................................................................................................68 009 – Ambient Occlusion, Normal-map és egyszerű élkopás textúrák létrehozása Bake-elés sel....................................................................................................................................72 010 – A diffúz textúra (Diffuse Texture) létrehozása GIMP-ben...............................................80 011 – Domborzati térkép (Bump-map) textúra készítése GIMP-ben......................................112 012 – Csillanási térkép (Specular-map) létrehozása GIMP-ben.............................................122 013 – Normal-map (Felületi normális térkép) létrehozása az SSBump Generator szoftver használatával.................................................................................................................133 014 – Textúraszerkezet felépítése az anyagbeállítások módosításával a Blenderben.............141 015 – Textúrakezelés Cycles Render Engine-ben...................................................................145 Tartalomjegyzék............................................................................................................162
162
163