3D grafika és animáció ALAPOK
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
A jegyzet még fejlesztés alatt áll.
[email protected]
Írta: Lengyel Zsolt Csehovics Gergely 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 basicben í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. 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 3D Studio Dos alatt
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 graphicsh á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.
2
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
5. Objec Smooth Algoritmus : az oldallapok felosztása és lekerekítése.
3
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.
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
4
Nagyobb áttörésnek számított még: Mental 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:
Reactor: „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 modifyer: 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: 3D studio max-ba beépítve is találunk (fire effect) de pl a FumeFX pluginnal sokkal szebb eredményt érhetünk el (pl.: 1. 2. 3. ) Stb.
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 3dsmax program alkalmazási területei tehát széles körű: Filmipar, játékipar, reklámipar É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.
5
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 3ds Max helpjé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 3ds Max 2010 programmal fogunk megismerkedni, a továbbiakban ennek ismertetéséről lesz szó.
6
A Kezelőfelület áttekintése A következő néhány oldalban a 3ds Max 2010 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 2. Main toolbar
Fölülnézet
Előlnézet
Oldalnézet
Perspektíva
3. Navigációs panel
4. Animáció 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. A create panel mellett még 5 másik panel van, de a a program indításakor a Create fül van legelöl. 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 Select object Select and Move Select and Rotate Select and Uniform scale Render production
Leírás CSAK kijelölésre alkalmas Kijelölésre és mozgatásra Kijelölés, és forgatás Kijelölés és átméretezés Aktív nézet renderelése*
Gyorsbillentyű Q W E R F9
7
*Render production: 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 (aktív) nézetet tudjuk változtatni ezen a panelen (tehát hogy mi az amit éppen látunk). A klasszikus eszközök: nagyító(zoom), tenyér(pan) mellett néhány speciális eszközünk is van: Név
Leírás
Gyorsbillentyű
Zoom all
az összes nézetben egyszerre zoo m-ol
Az egér görgője előre hátra
Zoom extents selected
az éppen kijelölt objektumra zoo mol rá
Z
Ikon
Zoom extents all: Maximize viewport toggle
az összes objektum látható lesz a jelenetben minden nézetben az éppen kijelölt nézetet teszi teljes képernyőre
-
Alt+W
Orbit
A nézet forgatására alkalma
Az egér görgője és az alt billentyű együttes nyomvatartása
Field of view
A nézet látószögét állíthatjuk ezzel az eszközzel
-
4. Animáció Ezen a panelen tudjuk az animációnkat menedzselni, a már (flashből esetleg) jól ismert keyframe-ekkel. A timeline az idővonalunk, keyframe-et pedig a set keyframe key gomb aktivizálásával tudunk létrehozni a kijelölt objektumra. Animációról később részletesebben fogok írni.
vagy az auto
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) 8
Objektumok létrehozása Nézzük először, hogy miből is épül fel egy 3D-s objektum a 3D grafika világában.
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: 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. 9
Objektumokat létrehozni a Create panelon tudunk. A create panelen belül még további 7 lehetőség közül választhatunk (és azokon belül még számos almenü van) Create
Create panel almenüi (balról jobra): - Geometry - Shapes - Lights - Cameras - Helpers - Space Warps - Systems
A Create Geometry alatt még ennyi féle lehetőségünk van:
Ha az object type alatt lévő objektumok közül egyet kiválasztunk, rákattintunk, és valamelyik nézeten nyomva tartjuk az egeret, akkor az egér mozgatásával adhatjuk meg annak paramétereit (pl gömb esetén ez egy darab sugár, de pl.: box esetén szélesség, magasság és vastagság). Ahány paramétere van egy objektumnak annyiszor kell kattintani és húzni az egeret. (Ezt több idő leírni mint kipróbálni úgyhogy nem is fecsérelem tovább a szót) Megjegyzés: a standard primitives-ben találunk egy Teapot nevű objektumot. Ez (nem csalás nem ámítás) egy Teáskanna, ami nem igazán tartozik az a lap objektumok halmazába. Ez azért van mégis itt, hogy legyen egy gyorsan lerakható tesztobjektumunk a maxban, ennek segítésgével modellezés vagy több objektum lerakása nélkül vagyunk képesek külömböző, fény effect, shader...stb beállításokat ellenőrizni pillanatok alatt... (Nembeszélve arról hogy milyen gyorsan tudunk teapartyasztalt renderelni Alice- nak. ) 10
Az eddig leírtak alapján már képesek vagyunk objektumokat létrehozni, azokat mozgatni, forgatni, átméretezni. Objemtumok módosítása „meglepő” módon a Modify panelen történik, ami közvetlenül a create panel mellett van. Az egyszerűség kedvéért most rajzoljunk egy hengert (cylinder) ami nagyjából így nézzen ki. Jelöljünk ki a cylinder-t majd kattintsunk a modify panelre, láthatjuk hogy a jobb oldali panel megváltozott. Modify A modify panel a következő képpen működik: 1. Legfölül láthatjuk az objektumunk nevét (Cylinder01) amit át is nevezhetünk, mellette pedig a szinét amit a rendszer legenerál neki a létrehozásakor, véletlenszerűen. (Előbbi használata azért célszerű hogy könyebben megtaláljunk egyes objektumokat a jelenetben anélkül hogy a 3D ben kellene keresgetni, míg utóbbi szín, a wireframe nézetben az objektum wireframenek a szinét is meghatározza így fontos hogy látható legyen.) 2. Ez alatt van egy legördülő menü,(Modifer List) amelyben megtalálhatjuk az összes létező Modifert, amit használhatunk az adott objektumunkon. Görgessük is le és válasszuk ki a Bend (hajlítás) módosítót! 3. Láthatjuk hogy a Bend, rá került az objektumunkra, ebben a listában. A hengerünk persze ettől még nem hajlott meg, mivel nem mondtuk meg a programnak hogy mennyivel hajlítsa meg azt. Alul a parameters résznél tudjuk a kijelölt módosító paramétereit állítani. Jelen esetben itt most a hajlítás mértékét, az irányát tudjuk megadni, valamint hogy a teljes objektumot hajlítsa meg, vagy csak egy részét. Változtassuk meg az Angle paramétert, és láthatjuk, hogy az objektumunk meghajlik olyan mértékben, ahogy azt mi beállítottuk. Az összes paramétert próbáljuk meg állítgatni. (Ha a nevük alapján nem értitek hogy mire valók, akkor próbálgatással elég könnyen ki lehet találni és nem csak ennél hanem a módosítók nagy részénél. Csak add hozzá az objektumhoz, változtasd a paramétereket és figyeld az eredményt.) Persze nem mindent lehet próbálgatással látni, ilyen esetekben a Help-et tudom ajánlani, rákeresel az adott módosítóra és teljesen érthetően leírja hogy mire jó (de mi a fontosabbakat órán úgyis átvesszük) 11
Amint azt a képen is látjuk én itt hozzáadtam rengeteg módosítót az objektumomhoz, és most jön a lényeg. A lista alatt mindig annak a módosítónak a paraméterei jelennek meg, amelyikre én rákattintok ebben a listában. Bármikor lépkedhetek oda vissza, rendezhetem a sorrendet, és törölhetem a módosítókat. A Max mindig alulról fölfelé halad, így rakja rá a módosítókat rétegesen az objektumra. A név melletti kis villanykörte iconnal ki lehet kapcsolni az adott módosítót (ha törölni nem akarjuk csak hatástalanítani egy időre) Ahol + jelet látunk ott az adott módosítón belül több féle módszerrel is dolgozhatunk (sub object szintek), ha rákattintunk, megjelennek a lehetőségek.
Az eddig leírtak alapján már képesek vagyunk néhány módosítót alkalmazni az objektumunkon. Van azonban egy dolog, amit fontos megérteni. Rajzoljunk egy gömböt, majd adjuk hozzá az Edit mesh módosítót. Kattintsunk rá az Edit Mesh-re az előbb említett listában, és nézzük meg mi történik.
A gömbünk körül kék pontok jelentek meg. Ezek azok a vertex-ek amikről a 2. fejezetben beszéltem. Ha kijelölünk egy vagy több vertexet, ugyanúgy tudjuk 12
mozgatni/forgatni/méretezni őket mint ahogy az objektumokat. De nem csak a vertex van itt, hanem a többi alkotó is (edge, polygon) és ugyanezek igazak rájuk, váltogatni az edit mesh paramétereinél a piros ikonokkal tudjuk, vagy az 1, 2, 3, 4, 5- gombok lenyomásával) Nagyjából ebből áll a polygon modellezés, illetve valahol itt kezdődik. Ezeket az elemeket mozgatjuk, módosítgatjuk, stb… Ezt a szintet Sub Object-nek nevezik 3ds Max-ban. Amíg sub object-ben vagyunk addig csak az adott objektum alkotóit tudjuk módosítani, ha k ifelé kattintgatunk az objektumból, nem történik semmi, ha van egy másik objektum a jelenetben, azt nemfogjuk tudni kijelölni, amíg ki nem kapcsoljuk a sub object-et. (ezt úgy tehetjük meg ha rákattintunk a módosítóra vagy még egyszer benyomjuk a subobjec t-szint számát.) A legtöbb modifernek van sub object szintje, de itt nem térek ki rá hogy melyik mire való, a help-be ez teljesen jól le van írva ábrákkal is (ha esetleg valakinek necces az angol), de mi is átvesszük órán a fontosabbakat.
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 viszonylag alap objektumokból épül fel, és azok módosításával. 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 egy poharat. Ilyen esetekben vannak bizonyos eljárások, amiket tudunk alkalmazni, és az eddig tanultakra épülnek. Polygon Modelling: valamilyen alacsony segments számú (3D-s) primitívből indulunk ki, (általában box vagy sphere) majd a modify panelen átkonvertáljuk editable mesh vagy poly-ba (az objektum nevére jobbegérgomb a modify panelen, majd a convert to…) 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
13
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 mesh smooth\trubo smooth modifert alkalmazunk ami az objektumunk éleit lekerekíti. Mivel a mesh smooth 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.
14
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á.
Lathe: forgásszimetrkikus testekre tökéletes (pl pohár) a lényege hogy egy objektum keresztmetszetének a felét megrajzoljuk line-al, majd ehez hozzáadjuk a Lathe módosítót, amivel kiforgatjuk térbe az objektumot. Például egy sakkfigura:
Loft: a mai napig használják, de ritka esetekben. Egy loft object-et (minimum) két spline alkot, az egyik az útvonal a másik a metszet. Például egy fa esetében, megrajzoluk a fát, vonalakból, majd egy kör adja a faágak vastagságát, illetve a képen látunk egy bonyolultabb példát is ahol az anyag vastagságát 3 shape alkotja (egy kör, középen egy négyzet, majd egy csillag).
NURBS: B-splineokat alkalmazó modellezési technika (B-spline egyfajta spline (görbe)), amit azért hoztak létre hogy a mérnöki munkát segítsék, hogy képesek legyenek modellezni egyszerű matematikai számításokkal. Eredetileg nem is 3d grafikához kapcsolódó fogalom, hanem matematikai mérnöki számítás volt. Később beleépítették a CAD programokba, azóta létezik a 3D-s grafikában.
15
Ezt a modellezést úgy kell elképzelni mintha egy ruhát, fémet, vagy bármilyen tárgyat megpróbálnánk meggörbíteni (az erőhatások modellezésével torzítjuk az objektum felületét) amit mi egyszerűen b-spline kontroll pontokként használunk. 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-é vagy Polygonná alakítanak, és azzal dolgoznak tovább. Úgy is elképzelhetjük ezt a fajta modellezést mintha egy vászonra, rugalmas madzagokat raknánk és a madzagokat különböző helyeken meghúzzuk. 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))
16
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. Interneten is találtok rengeteg tutorialt ezekkel kapcsolatban, ha valakit érdekel.
17
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 az „M” betű megnyomásával hozhatunk elő, illetve megtaláljuk még a Main toolbaron: Vagy a rendering menüpont alatt. Itt találhatunk mindent, ami az objektumok felületével, textúrájával kapcsolatos. A képen látható nagy szürke golyók a mintafelületek. 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). Mindig az éppen kijelölt golyó tulajdonságai látszanak a panel alsó részében. Ha elkészültünk egy anyagmintával (material), akkor az Assign material to selection gomb lenyomásával tudjuk hozzáadni az éppen kijelölt objektumunkhoz. 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, a gomb segítségével, de ennek nincs jelentősége, illetve a szemléletesség érdekében a gömb a legalkalmasabb forma erre a feladatra) A Standard gomb azt jelképezi, hogy Milyen materiallal dolgozunk. Ha rákattintunk, megjelenik a többi material, és át is állíthatjuk akármire, rengeteg féle van(pl üveg, víz, fém), de most maradjunk a Standard-nél, és nézzük meg a fő beállításait. 18
Shader basic parameters : Itt találunk egy legördülő menüt, amiben néhány elemet már ismerünk (a jegyzet elején volt szó róla) a Blinn, és Phong. Ezek a a fő Shader paraméterek. 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 alkal maznak, míg vannak RenderShaderek amiket a 3D Vizualációs programoknál (pl 3dsmax) 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 a 3D Studio Maxban 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) Ha a legördülő menübe mást választunk ez hatással lesz a többi beállításra is, ha kiválasztjuk például az Anisotropic-ot, láthatjuk, hogy az alatta lévő beállítások egész máshogy néznek ki. De hagyjuk ezt most a Blinn-en egyelőre. A mellette lévő 4 választható beállítással kényszeríthetjük a modellünket hogy más módon renderelődjenek mint ahogy alapvetően a modell paraméterei be vannak állítva Wire (Másnéven force wireframe): ez kényszeríti a renderelőt hogy a felületeket ne, csak a látható éleket renderelje. Ez a beállítás csak DefaultScanline renderelő alatt működik. 2 Sided: ez kényszeríti a modellt, hogy a felületek ne csak egy oldalról látszódjanak. (például ha lerakunk egy kockát és kirendereljük akkor látjuk a 3 felénk néző oldalát, de ha a kamerát a kocka közepébe helyezzük akkor a kocka oldalain átlátunk mintha ott se lennének, ha ezt a gombot bekapcsoljuk, akkor ha belülről nézünk kifelé akkor belülről látjuk a kocka oldalait, mintha egy kocka alakú szobába lennénk belülről.) Face map: kényszeríti a modellt, hogy minden egyes polygonon 1:1 ben rávetítse a textúrát ahelyett hogy az eredeti UV beállításokat alkalmazná. (pl ha egy „1” es szám van a textúránk közepén és bekapcsoljuk a gombot akkor minden egyes polygonján a modellnek egy 1es szám lesz látható.) Facated: Ez a modellünk smoothing groopjait törli ki és minden egyes polygon külön sík felületként lesz látható mint valami kristály, ahelyett hogy szép egymásba olvadó felületet látnánk.
19
(Blinn) Basic parameters és maps Ez a ketto két különálló részként jelenik meg a material editorban és más célokat is szolgál, viszont szoros kapcsolat mutatkozik meg a ketto kozt, míg a general parametersben szineket és értékeket rendelhetünk az egyes pontokhoz, bizonyos pontoknál egy kis négyzet alapú gombot találunk erre kattintva mapeket\tetúrákat tölthetünk be. Miután betöltöttünk egyet egy m betu jelenik meg a kis kockában és az alsó maps menupont alatt lévo map fajták közül az egyik kitöltődik. Basic Parameters Ambient: Ez az enviroment beállítások közti ambiens érték szorzóját válltoztatja. (pl:Ha fekete akkor nincs ambiens hatás, ha fehér teljes erejű az ambiens, ha kék akkor csak az ambiens érték kék árnyalatai hatnak rá.) Diffuse: az objektumunk alapszíne Specular: az objektumunkon megcsillanó fény színe (a szín fényereje ugyanúgy befojásolja az értéket, mint az alul lévő érték paraméterei). o Értéke: Specular level. Self illumination: az objektumból áradó fény mértéke Opacity: átlátszóság Glossiness: a megcsillanás mérete az objektumon Görgessünk leljebb és nyissuk ki a Maps menüt. Itt, az Ambient, Diffuse, Specular Color, a Specular level Glossiness self illuminiation és Opacity lényege teljes mértékben megegyezik azzal amit fentebb leírtam róluk, csak ez esetben nem színt vagy értéket hanem egy textúrát vagy mapet töltünk be rá. Ami új és még nem ejtettem róla szót az: Filter Color: Ez az opacity kiegészítő mapja míg az opacity az átlátszóság mértékét határozza meg, a filter az átlátszóság színét, milyen szinben fog átlátszani. Ez a map addig nem látható, amíg az opacity értéke nem megy 100 egység alá. (100 jelenti azt hogy egyáltalán nem átlátszó, 0 pedig hogy teljesen az)
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)
20
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
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)
21
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ó b evilágítással.
A bevilágítás témaköréről ide annyit írok most csak, hogy fényeket, a Create panel/lights/standard menüpont alatt tudtok létrehozni. (A shadows pipát ne felejtsétek el bepipálni ha árnyékokat is szeretnétek látni a renderelt képen) Az elméleti háttér, és a főbb beállításokhoz az alábbi linket ajánlom figyelmetekbe: (nem csak elméleti dolgok vannak benne, szóval érdemes átolvasni annak akit érdekel a bevilágítás!!) Bevilágítás
22
Textúrázás ...
Coming soon
23