3D grafika és animáció Jegyzet a webprogramozói képzéshez
Tartalom: 1. Bevezetés, történelmi áttekintés 2. Kezelőfelület áttekintése 3. Objektumok létrehozása (Create Panel) 4. Objemtumok módosítása (Modify panel) 5. Modellezési eljárások 6. Material editor áttekintése 7. Fények, bevilágítás alapok. 8. Textúrázás
Írta: Lengyel Zsolt
1
Történelmi áttekintés A számítógépes 3D-s technikákat a monitorok megjelenése óta próbálták vizualizálni, de a lassú gépek miatt ez nem igazán jutott messzebb, mint egyszerű vonalas modellek megjelenítése. Később az informatika fejlődésével már felületeket is képesek voltak megjeleníteni, ez nagyon sokáig csak kísérleti informatikában alkalmazták (például basic-ben írtak egy 3d-s megjelenítő programot) az egyetemeken, különböző szimulációkra. Az igazi háromdimenziós technológiák elterjedése az AMIGA számítógép megjelenésével kezdődtek, ekkor vált elérhetővé az átlag felhasználók számára is. A C4D első verziója még Fast-ray néven futott, és 1991-ben jelent meg AMIGA gépekre.
A renderelt kép
A Cinema 4D Amiga OS-en
2
Először ez csak statikus képek megjelenítésére tudták használni, majd később a Raytrace 1.0 már tükröződések megjelenítésére is alkalmas volt. (a tükröződés megjelenítését úgy kell elképzelni, mintha minden egyes polygonba elhelyeznénk egy kamerát és a készült képeket kirenderelnénk kis méretbe, az objektumra textúraként ráhúzva. Eleinte a gyakorlatban is így működött a tükröződés megjelenítése mára sokat gyorsítottak a folyamaton) A számítógépek fejlődésével együtt folyamatosan fejlődött a 3D grafika is, megjelentek a dos és unix alatt futó szoftverek pl a 3D Studio (dos-ra), XSI (unix oprendszerre). A Cinema 4D először 1996-ban jelent meg Windows, Alpha NT, és Machintosh OSekre. Azóta minden évben új verziója jelenik meg.
A Cinema 4D XL mac és windows OS-eken
Nagy áttörésnek számított még a Directx és opengl támogatások megjelenése. Eleinte a filmiparban ezek a programok csak a Silycon graphics által készített gépeken futottak el, (több proci, winchester, ram, saját operációs rendszer) és a 2000-es évek közepéig teljesen külön architektúrával működtek de, mára egyre jobban hasonlítanak az átlag worksationokhoz (munkaállomásokhoz), még ha még mindig a közel megfizethetetlen kategóriába is tartoznak.
3
Technológiák fejlődésének áttekintése időrendben: 1. Vonalas megjelenítés:
2. Sík felületek megjelenítése (csak 3 és 4szögekből ált a modell):
3. Textúrák megjelenítése:
4. Smooth algoritmus: egyenes lapokat átmenetessé alakította
4
5. Objec Smooth Algoritmus: az oldallapok felosztása és lekerekítése.
6. Phong: fény visszaverése, élesebb backlightot használ, amellyel valamivel jobban lehet fémes felületeket megjeleníteni.
7. Blinn: az a fajta specular (fény megcsillanás) ami hogyha hátúrol jön a fény akkor nem egyenes vonalat hanem egy inkább pontszerű fényvisszaverődést mutat. Ez egy természetesebb fajta fényvisszaverődés a világban, főleg festett és organikus felületekhez használható.
8. Raytrace: fénytörés. Úgy kell elképzelni az elvi működését mintha minden egyes polygonba elhelyeznénk egy kamerát és a kapott képkockát textúraként kirenderelnénk az objektumra. Így valós tükröződést hozva létre a felületen ami a jelenetben lévő összes tükröződés által látható identitást képes visszatükrözni, illetve egyéb renderelési effectek létrehozásához is alkalmas mint például lencseszerű fénygyűjtés vagy fényvisszaverés.
5
9. Bump map: A Felület érdességét imitálja egy feketefehér Bump\height mappel. Itt a fekete pontok a legmélyebb, míg a fehér pontok a legmagasabb pontját jelölik a felületnek. Mivel az érdességet csak imitálja, ahelyett hogy valóban létrehozná ezért alapvetően kis energia, és idő ráfordításával vagyunk képesek meglehetősen részlet gazdagnak tűnő és az eddiginél élesebbnek látszó felületeket létrehozni, amik reagálnak a jelenetben lévő fényekre és árnyékokra.
10. Anti-aliasing: már az elejétől próbálkoztak vele, de használható eredmény csak később sikerült
Nagyobb áttörésnek számított még: V-ray és a Renderman megjelenése: két elsőgenerációs render engine amik már képesek voltak valódi Area Light-okat létrehozni és Global illumination-t alkalmazni. •
•
Are Lightok: területi fény, egy olyan fényforrás ami nem egy pontból hanem egy területről érkezik ezáltal minél hosszabb árnyékot vet valami annál elmosottabb lesz az éle, mint a való életben. Global illumination: a photonok visszaverődésének fizikáján alapuló képkiszámítás, aminek segítségével a lámpákból érkező photonok az egyes felületekről gyengítve visszaverődnek különböző irányokba esetleg módosított színértékkel, így egyfajta derítést hozva létre azokra a pontokra amik amúgy árnyékban lennének. (ezekről majd még lesz szó a bevilágítás témakörben)
Azóta folyamatosan új effectek és eszközök fejlődnek ki a 3D-s programokhoz. Néhány példa, ami ma is használatos: • • • • •
Dinamics: „tökéletes:)” fizikai engine (néhány példa: 1. 2. 3.) RealFlow: víz, folyadék szimulációk (például: 1. 2.) Cloth tag: ruha szimulációkhoz (pl.: 1. 2. 3.) Hair: haj és szőr szimulációk (pl.: 1. 2. ) Tűz, füst, robbanás effectek: Cinema4D-ba beépítve is találunk (pyrocluster) de pl az Effexx pluginnal sokkal szebb eredményt érhetünk el (pl.: 1. 2. 3. )
Stb.
6
A film és reklámiparban nagy jelentősége van a 3D grafikus programoknak különösen a speciális effect-ek, filmtükkök, és kaszkadőrjelenetek terén. • Az első mozifilm, amibe 3D-t használtak: a „FutureWorld” egy rövid jelenete volt 1975ben, de az első, amiben valódi jelentőséget kapott a 3D az Abyss : a mélység titka című film volt. • Első film, ami nagymennyiségű 3D grafikával készült: Jurassic park • Első Disney 3D: Szépség és a szörnyeteg • Az első mozifilm, ami csak 3D grafikával készült: (sokáig váratott magára a hátterek rajzolása sok időt vett igénybe): Z a hangya. (Ezt megelőzte a Toystory, de ott még csak a karakterek és egyes helyszínek voltak 3D-sek) A Cinema 4D program alkalmazási területei tehát széles körű: • Reklámipar, termékvizualizáció, játékipar • Építészet, gépészet stb.: látványtervek • Multimédia • Webdesign • Orvosi célok (Motion capture-el vagy különböző egyéb beviteli eszközökkel lehet 3D-s leképezést kreálni. Ritka alkalmazás. (általában külön szoftver van erre a célra) • Stb. A Számítógépes 3D grafika külön szakma, és rengeteg gyakorlást igényel az elsajátítása. Külön figyelmetekbe ajánlom a Cinema 4D jelpjét is, ami (sok más program helpjével ellentétben) igazán jól használható, érthetően és jól megírt segédeszköz. A képzés során mi a Cinema 4d R12 programmal fogunk megismerkedni, a továbbiakban ennek ismertetéséről lesz szó.
7
A Kezelőfelület áttekintése A következő néhány oldalban a Cinema 4D kezelőfelületét és főbb funkcióit fogom ismertetni. A program indítása után Az alábbi kép tárul elénk: 1. Create Panel Modelling Panel
Perspektíva
Jobb nézet
3. Navigation panel
2. Main toolbar
Objects Panel
Fölülnézet
Előlnézet
4. Animáció Attributes panel Material Editor
8
1. Create panel Ezen a panelen hozhatjuk létre az objektumokat, itt található minden amit csak létre lehet hozni, objektumok (2d-s 3d-s) fényforrások, kamerák, segéd objektumok, stb.
Ez a néhány gomb, tartalmazza azon objektumok nagy részét amiket létre lehet hozni a programban. A gombokra hosszan nyomva, elénk tárul egy adott halmaz, sorrendben: 1. 3D-s primitív objektumok 2. Shape-ek (2D-s objektumok) 3. Modellezési objektumok (a hypernurbs kivételével mindegyiket shape-ekre alkalmazzuk) 4. Polygon vagy shape objektumokra alkalmazható módosítók, műveletek, az adott objektummal (pl tükrözés, boole(kivonás összeadás), array, stb... 5. Térgörbítők (pl hajlítás) 6. Fényforrások 7. Részecske rendszerek
Ezen kívül még a főmenüben található néhány effector és mograph objektum ami létrehozható, de erről később lesz szó. 2. Main toolbar Itt találhatók meg a főbb eszközök, amiket használunk a munkánk során, csak néhányat emelnék ki: Ikon
Név Live selection: Kijelöléshez használjuk olyan mintha festenénk, (balegér nyomvatartva és végig kell húzni azokon az elemeken amiket ki akarunk jelölni) Rectangle selection: Négyzetes kijelölés
Gyorsbillentyű
0+balegér gomb
9
Move tool: objektumok axis pontjához (tengely pontjához) viszonyított elmozdítása Scale tool: objektumok egy tengely irányú átméretezése, nem editable polygon objektumok esetén a méret paramétereit változtatja Rotate tool: objektumok tengelyéhez viszonyított elfordítására használható X,Y,Z koordinálták: Ki-be kapcsolhatjuk őket, ha esetleg valamelyiket nem akarjuk használni. Kikapcsolt állapotban az adott tengely irányába nemtudunk mozgatni,forgatni, átméretezni.
W T
R X,Y,Z
Render Active view: az aktuális nézetben készít egy renderelést
CTRL+R
Render in Picture Viewer: Külön ablakba készít egy renderelést (végleges renderelés esetén ezt használjuk Renderelés beállításai
Shift+R Ctrl+B
Renderelés: a jelenet lerenderelése (erről egyelőre elég annyit tudni, hogy ha ezt a gombot lenyomjuk, elkészül a konkrét kép (vagy képkocka) ami a munkánk végeredménye lesz) Ezekkel az eszközökkel már tudjuk is mozgatni/forgatni/átméretezni a létrehozott objektumainkat, valamint képet készíteni a munkánkból. 3. Navigációs Panel Az éppen kijelölt nézetet tudjuk változtatni ezen a panelen, a klasszikus eszközök: nagyító(zoom), tenyér(pan) mellett néhány speciális eszközünk is van: Ikon
Név
Tulajdonság
Gyorsbillentyű
10
-
Full screen
Az adott nézetet teszi ki full screenbe, vagy onnan vissza
Az egér görgője 1x rányomva a nézetre bárhol
Frame active objects
az éppen kijelölt objektumra zoomol rá
O
Pan view
Photoshopban a tenyér funkcióhoz hasonló
Zoom
Nagyítás,kicsinyíté s az adott nézetben
Orbit
A nézet forgatására alkalmas
Alt+görgő nyomvatartva az active nézetben Alt+jobbegér nyomvatartva az active nézetben Alt+balegér gomb nyomvatartva az active nézetben
4. Animáció Ezen a panelen tudjuk az animációnkat menedzselni, a már jól ismert keyframeekkel. A timeline az idővonalunk, keyframe-et pedig a Record Position, Rotation, Scale.: vagy az automatic keyframing: gomb aktivizálásával tudunk létrehozni a kijelölt objektumra. Animációról később részletesebben fogok írni.
A scene (jelenet) A 3D grafikus programokban úgynevezett jelenetekben (scene) dolgozunk. Ezt úgy kell elképzelni mint egy végtelen nagy üres tér, amibe rakosgatjuk az objektumainkat, és hogy épp hol vagyunk, mit látunk és milyen szögből, azt a navigációs panellel tudjuk kezelni. (tehát ez nem photoshop, hogy megnyitunk egy pl.: 1024x768-as képet, és annyi a munkaterünk, itt végtelen a munkatér, és akármekkora felbontású kép (vagy videó) lehet a végeredményünk)
11
Objektumok Módosítása Nézzük először, hogy miből is épül fel egy 3D-s objektum a 3D grafikában.
Point/Vertex: az a pont ahol legalább 2 él találkozik.
Edge: az objektum élei Face vagy Polygon: három vagy több él határolja körbe
Border/Polygon Hole: a polygonhoz hasnoló csak nincs kitölve (lyuk van helyette)
Ezeket az elemeket (tehát hogy hány polygon/vertex/edge-ből áll egy objektum) az objektum létrehozásánál adhatjuk meg, ezt hívjuk Segments paraméternek. Például:
Segments: 8
Segments: 19
Modellezés során, ezekkel az alkotóelemekkel dolgozunk, módosítjuk őket különböző eszközökkel, mozgatjuk, forgatjuk őket, stb. 12
Az eddig leírtak alapján már képesek vagyunk objektumokat létrehozni, azokat mozgatni, forgatni, átméretezni, szegmens számot változtatni.
Modiferek
Ha az objektumok közül valamelyikre rákattintunk, máris létrejön az objektum, a 0,0,0-ás pontba, vagyis az origóba. Ezután az Attributes panelen változtathatjuk a tulajdonságait, méreteit, szegmens számait, stb. Az objects panelen (föntebb) pedig megjelenik az az objektum amit létrehoztunk, innen tudjuk újra kiválasztani majd, ha dolgozni szeretnénk vele. Hozzunk létre most egy kockát (cube) 600-as magassággal (size Y), és 40-es segments számmal (Segments Y)
Az objektumokat különböző térgörbítőkkel tudjuk módosítani, anélkül hogy bárimlyen modellezési mélységbe el kellene merülnünk. Az így kapott objektumnak elég magasság szegmense van ahoz hogy szépen meghajlítsuk, és az eredmény látványos is legyen. A térgörbítők közül válasszuk ki a bend object-et:
Ha rákattintunk azonnal bekerül az objects panelre:
13
A paramétereit azonban hiába változtatjuk ( Strengthet pl 90 fok-ra) A Cube nem fog meghajlani, csak maga a bend object. Azért van ez, mert a program ugyan létrehozott egy térgörbítő objektumot, de nem tudja hogy melyik objektumra kell alkalmazni azt. Az objects panelen fogjuk meg a bend object-et és tegyük a cube alá (hierarchikusan, mintha egy mappa lenne, húzzuk rá a cube-ra:
Ha ez sikerült, akkor már láthatjuk is hogy meghajlott a cube, ha a bend object attribútumai között megváltoztattuk a strength értékét:
Ezzel a módszerrel több térgörbítőt is alkalmazhatunk egy objektumon, a lényeg az, hogy minden térgörbítő az objektum alá legyen rendelve hierarchikusan, hogy azon fejtse ki a hatását. Pl néhány módosítót hozzáadva ehez a cube-hoz, és azok paramétereit változtatva, egész érdekes alakzatokat tudunk létrehozni:
14
Ehez az eredményhez, a cube szegmens számait (x, y, z ) tovább kellett növelnem, hogy részletgazdagabb eredményt kapjak. Ezeket a térgörbítőket dinamikusan lehet változtatni, sorrendet, bármikor felcserélhetem, visszamehetek az alap cube-hoz, és változtathatom az értékeit. Az eddig leírtak alapján már képesek vagyunk a legtöbb módosítót alkalmazni az objektumunkon. Nagyrészt próbálgatással, kísérletezéssel, és a helpet olvasva, ki lehet találni, hogy melyik mire jó, ezért erre külön itt nem térek ki.
Modelling panel/modellezési alapok Hozzunk létre egy sphere-t (gömböt). Ez a gömb jelen esetben csak egy gömb, néhány paramétere van amit lehet változtatni (sugár, szegmens szám, stb), de lehetőségünk van editable polygonná alakítani ezt a gömböt (módosítható polygon objektum) ami a fentebb említett alkotók (vertex, edge, polygon) mozgatását, átméretezését, törlését, újak létrehozását jelenti. Hogy világosabbá válljon, nézzük meg a gyakorlatban ezt.
A gömböt kijelölve, ha lenyomjuk a C billentyűt, vagy a structure/make editable gombot kiválasztjuk a főmenüben:
Máris látható lesz, hogy megváltozott a gömb iconja az objects panelen,
15
És elérhetővé váltak a vertexek a gömbön (fekete pontok): Most ha megfogunk egy pontot a move tooll-al Rákattintunk, úgy mozgathatjuk mintha külön objektum lenne, Bármelyik irányba. Egyszerre több objektum is kijelölhető, a pl live selection toollal
, és egyszerre mozdítható:
Point mode: De persze nem csak pontokat, hanem éleket(edge), és polygonokat is tudok mozgatni, csupán annyit kell tennem hogy a bal oldali modellezési menüben kiválasztom a kívánt elemet: Edge mode: A különböző módok között (pont/él/polygon) az enter megnyovásával tudunk mozogni.
Polygon mode:
Fontos tudni hogy mikor ilyen módon modellezünk, más objektumokat a viewport-ban nem tudjuk kijelölni. Gyakorlatilag ilyenkor limitálva van a kijelölésünk, csak arrra az adott objektumra, aminek az alkotóin éppen dolgozunk. Ahoz hogy innen újra visszalépjünk „normál” módba: a bal menü legfölső gombját a use model tool gombot kell választani. Gyakori hiba hogy ezt a gombot elfelejtjük használni, ezért érdemes beállítani neki shortcut-ot is a Window/layout/command manager-ben, itt egyébként azt is meg lehet nézni, hogy az adott gombnak min a shortcut-ja (rákeresel) Illetve újat is lehet beállítani az eddigieknek.
16
Ehez még fontos azt is tudni hogy a Cinema 4D kezelőfelületének alján a program kiírja az összes gomb nevét, és shortcutját ami fölé visszük az egeret pl a move (mozgatás) eszköz fölé vive:
Modellezési Eljárások: Az eddigiek alapján már tudunk egyszerű objektumokat létrehozni és azokat módosítani. Így pl egy egyszerű asztal, szék (vagy akár egy kompletten berendezett szoba), illetve bármi, amire csak gondolni tudunk és viszonylag alap objektumokból épül fel, nem jelenthet gondot a számunkra. Ez máris egyféle modellezési eljárás, amit Object modelling-nek hívunk. Ennek lényege, hogy összerakjuk a modellünket a standard primitívekből illetve azok egyszerűbb módosításával (pl hajlítás, tükrözés, stb) gyakorlatilag összelegózzuk. Mi a helyzet azonban akkor, ha valami bonyolultabb dolgot szeretnénk kreálni, mondjuk egy emberi testet, autót, vagy akár egy poharat. Ilyen esetekben vannak bizonyos eljárások, amiket tudunk alkalmazni, és az eddig tanultakra épülnek.
17
Polygon Modelling: valamilyen alacsony segments számú (3D-s) primitívből indulunk ki, (általában cube vagy sphere) majd a átkonvertáljuk editable-re (C billentyű) Ezek után a különböző eszközökkel (tool-okkal) „szobrászkodunk” az objektumunkon. Itt a dolog két részre oszlik •
Low poly: ha részleteket kevésbé dolgozzuk ki. Végeredmény: belső struktúra mindenképp hárömszög alakú legyen még ha a látható éleket jelölt polygonok 4-5 vagy több felületet alkotnak is. Olyan esetekben alkalmazzuk ezt a modellezést amikor a rendszerünk erőforrása limitált, régen ez még filmeknél is előfordulhatott ma már főként csak a játékokban használják a lowpoly modelleket. Játéktipustól és konzoltól függően 40 től 40000 polygonig lehetnek lowpoly modellek. A lényeg hogy ezek a modellek csak a lényeget tartalmazzák. Tris: 1422 Verts: 725
•
High poly: sokkal több részletességet és sokkal több objektumot is tartalmazhat mint a low poly, mivel itt nem vagyunk polygon számhoz kötve. Komplikáltabb modellezni, viszont nem szükséges minden polygonnak négyszögből állnia. Ez az eljárás akkor használatos ha a végeredményünk csak egy kép, vagy videó lesz.
•
Subdivision high poly: a normál high polyval szemben itt az a különbség hogy négyszögekre kell törekedni a munkánk során (magyarul a polygonok lehetőleg csak négyszögekből álljanak), dolgozhatunk három és ötszögekkel is, de ez hibát generálhat (ezért célszerű olyan helyekre elhelyezni őket ahol nem láthatóak). A másik különbség pedig, hogy itt a modellezés végén egy hypernurbs objektumba rakjuk a modellt ami az objektumunk éleit lekerekíti. Mivel a hypernurbs hatására az objektumunk mérete kisebb lesz, ezért modellezés során picit nagyobb objektumot kell csinálnunk (ha pl kép alapján modellezünk, akkor ne a vertexek érjenek a modell éleihez hanem az edgek érintői) így a végeredmény pontos lesz.
18
Shape Modelling: Ennél a módszernél (ahogy a neve is mutatja) shape-ekből (2D-s vonalakból) indulunk ki, majd ezeket valamilyen módszerrel alakítjuk térbeli objektumokká.
•
: forgásszimetrkikus testekre tökéletes (pl pohár) a lényege hogy egy objektum keresztmetszetének a felét megrajzoljuk bezierrel majd ezt a shape-et egy Lathe nurbs objectbe helyezzük, amivel kiforgatjuk térbe az objektumot. Például egy sakkfigura:
•
Ezzel az objectel olyan objektumokat készíthetünk amelyek alakját (vagy keresztmetszetét) egy spline adja. A spline-okat utólag is lehet módosítani, annyi spline kerülhet a loft NURBS-be amennyi csak kell.
19
•
Sweep NURBS: két darab spline-t tartalmazhat, melyek közül az egyik az útvonal, a másik a keresztmetszet. Pl:
A 90-es évek végéig nem volt olyan jó a subdivison modellezés, gyorsabban számolt a NURBS, de később azonban a subdivision modellek annyira hatékonyak lettek, hogy a NURBS kezd elavult téma lenni. Mai napig használják ugyan, de rengeteg alkalommal csak az alap objektum elkészítéséig, amit utána Editable mesh-é alakítanak, és azzal dolgoznak tovább. Vásznak, és organikus modellek elkészítéséhez használják általában. (Organikus modell: Lekerekített formákból áll, amiben nincsenek élek (fa ember álat))
20
Brush Modelling 3ds Max-ban is készíthető ez a fajta modellezés de egyszerűbb külön erre specializálódott szoftverekkel dolgozni. Zárt, konvex objektumokból összeépített geometriák alkotják a brush modell-t melyekben 1 polygon csak sík lehet és 4 oldalból állhat. Fizikai szimulációkban, real time játékokban alkalmazzák (pl egy Counter Strike pálya) Fontos tulajdonsága a brush modellnek hogy a kamera számára éppen nem látható objektumokat nem rendereli le az engine, sőt a brush mögött lévőket sem, ami gyorsabb renderelési sebességet eredményez. Manapság egyre kisebb mértékben használják.
A modellezési eljárásokra a gyakorlati órákon részletesebben sor kerül, mivel ezeket a módszereket csak sok gyakorlással lehet elsajátítani. De Interneten is találtok rengeteg tutorialt (szöveget, videót) ezekkel kapcsolatban.
21
Material editor áttekintése Egy komplett jelenet elkészítésénél a modellezés utáni következő lépés a textúrázás, majd ezt követi a bevilágítás. Persze nem kell ehhez a sorrendhez ilyen mereven ragaszkodni, lehet picit keverve is haladni, hiszen a WIP (working in progress) képek renderelésével sok hibára fény derülhet. Az objektumok anyagmintáinak szerkesztésére és menedzselésére való a Material Editor, amit a C4D alján találunk (8-adik oldal) induláskor üresen.
Ha új materialt akarunk létrehozni nem kell mást tennünk mint a file/new materialt választani, és máris megjelenik egy fehér golyó amire kétszer rákattintva elkezdhetjük elkészíteni az adott materialt. A képen látható nagy szürke golyó a mintafelület. A későbbi modelleken felhasznált felületeket leegyszerűsítve egy gömbre levetítve mutatják be nekünk, a felületünk viselkedését a különböző fényhatások alatt. Ezeknek a golyóknak a beállításait, színeit és textúráit módosítva érhetünk el különböző hatásokat a felületen (Szín, Fényesség, Tükröződés, Érdesség...stb). Ha elkészültünk egy anyagmintával (material), akkor a material editor legalsó „Assignment” menüjére kattintva látni fogjuk hogy az adott material mely objectekhez van hozzárendelve. Erre a területre egyszerűen drag n droppal behúzhatjuk az objecteket az objects panelről. Ez nyilván nem azt jelenti hogy csak gömb objektumokhoz tudjuk hozzáadni a készített mintákat, ez itt csupán azért gömbök, mert ezek szemléltetik hogy milyen lesz az elkészült anyagminta. (ha akarjuk átállíthatjuk őket kockára vagy hengerre, jobbegeret nyomva a golyó képére, de ennek nincs jelentősége, illetve a szemléletesség érdekében a gömb a legalkalmasabb forma erre a feladatra)
22
Shader basic parameters:
A material editor bal oldalán találhatóak azok a fő Shader-ek amiket használni tudunk a materialon. Ezek közül néhány már ismerős lehet a jegyzet eleéről (Bump, specular) A shader nagyjábol azt jelenti, hogy a Render(kíszámító) engine milyen módon értelmezi a felület beállításait és azt milyen módon hozza létre a képen, hogy a kívánt felületi eredményeket kapjuk meg. Sokféle shader létezik a világon, vannak RealTime shaderek amiket pl a videojátékoknál alkalmaznak, míg vannak RenderShaderek amiket a 3D Vizualációs programoknál (pl Cinema 4D) alkalmaznak és ezen felül vannak az utómunka (Composit) shaderek amik a már kiszámított adatok alapján hoznak létre új felületet vagy módosítják a meglévőt, így időt takarítva meg a munka során. A mi esetünkben 90%ban Render shadereket alkalmazunk.
Minden Materialfajta egy Shadernek felel meg. És majdnem minden map fajta textúrának, viszont egyes map fajták valójában shaderek (pl:Raytrace)
23
Ha a bal oldali menüben valamit kiváalsztunk, annak beállításai a jobb oldalon fognak megjelenni.
•
Bump: Felületi érdesség, a felület normálvektorához képest beeső fények segítségével egy felületi érdességet hoz létre ami realisztikusabbá teszi a felület hatását. (pl.: egy csiszolópapír jobban néz ki ha nemcsak a textúra hasonlít rá hanem valójában van érdessége)
•
Reflection: Tükröződés, lényegében két féle tükröződést használhatunk itt, az egyik egy Enviroment mappel megadott fake (hamis) tükröződés, amely egy ismétlődő textúrát vetít a felületre így a tükröződés látszatát kelti. Tudni kell hogy ez nem valódi tükröződés, hanem csak egy gyenge másolat, a modell semmit nem fog a jeleneten belül tükrözni, csak úgy tűnik mintha tükröződne rajta valami. Míg a másik megoldás a fentebb említett shader betöltése. Ebben az esetben az úgynevezett raytrace shadert töltjük be, amit a mapsek közt meg is találunk. Ez valódi tükröződést rak a felületre. Ez a tükröződés már a tényleges jelentben lévő dolgokat tükrözi, viszont sokkal lassabb a hamis tükröződésnél. És nehezebb a megfelelő eredményt elérni vele.
•
Refraction: A Felület fénytörését hivatott szimulálni, oly módon mintha vízen vagy egy üveggolyón néznénk át, az egyes területek nagyobbnak mások kisebbnek tűnnek a valóságnál, ezt más néven lencsehatásnak is nevezik. Itt is két mód van az eredményhez egyik a raytrace használata, ami valósághű fénytörést hoz létre a jelentben lévő objektumokat torzítva. A másik pedig egy fake megoldás hasonlóképpen mint a reflectionnél itt is egy tileolható (végtelenszer egymás mellé helyezhető összefüggő mint pl a sakktábla) mapet kell betölteni amit felhasználva egy fénytöréshez hasonló effectet hoz létre.
•
Displacement: Mind közül a legenergiaigényesebb map fajta, hasonlít a bump maphez, de míg a bump map csak imitálja a felület érdességét a textúrák szintjén, addig a displacement map valójában felosztja a modell felületét, és azt torzítja. (más néven egy 6 oldalú kockából ami 12 polygont jelent beállítástól függően egy akár 298000 polygon felbontású objectet hoz létre aminek a vertexeit modellszinten mozgatva hozza létre a felület érdességét.) Szó se róla a legtökéletesebb eredményt ez a map hozza létre, de a tökéletességnek ára van, mégpedig a meg növekedett renderidő ami displacement mapek használatával akár órákban is számítható.
A fennt említett map fajtákat 3 fő csoportba lehet sorolni
24
•
Szín mapek: csak a textúra színeit veszik alapul, és azzal határozzák meg a módosítás színét. (RGB)
•
Érték mapek: a textúra fekete-fehér tartományát használják, és az adja meg a módosítás értékét\erejét. (GrayScale)
•
Teljes mapek: ez esetben mind szín mind érték számít. (RBG)
A teljes mapek és a szín mapek ritkán különülnek el teljesen egymástól. Általában ha valami színeket használ akkor a szín hatásfokát a fényerő határozza meg. De ez nem minden esetben igaz. Ambient : Teljes(RBG) Diffuse: Teljes(RBG) Specular Color: Szín\Teljes(RBG) Specular Level: Érték(GrayScale) Glossiness: Érték(GrayScale) Self Illumination: Teljes(RBG) Opacity: Érték(GrayScale) Filter: Szín\Teljes(RBG) Bump: Érték(GrayScale) Reflection: Teljes(RBG) Refraction: Teljes(RBG) Displacement: Érték(GrayScale)
Fények létrehozása, Bevilágítás alapok Egy jelenet végeredményén rengeteget lehet dobni jó bevilágítással.. fojt köv...
25