Bevezető a 3D Studio Max világába


A számítógéppel létrehozott képek már jó ideje elárasztották világunkat, a CGI (computer generated images) a filmgyártástól a műszaki tervezésig, a számítógépes játékoktól az oktatási célú interaktív szimulációkig minden területen nélkülözhetetlenné vált. A számítógépes képszerkesztés legdinamikusabban fejlődő, ugyanakkor legbonyolultabb ága a 3D grafika és animáció.

Az elnevezés kicsit ellentmondásos, hiszen a 3D grafikák valójában síkbeli leképezései egy háromdimenziós térnek, mely csak a számítógép memóriájában létezik. A 3D grafikusok és animátorok által felépített világ teljes mértékben szintetikus, virtuális fényforrások által megvilágított virtuális háromdimenziós modellekkel dolgoznak, melyeket virtuális kamerákkal fényképeznek. Az ily módon nyert képek a 3D-s szoftverek robbanásszerű fejlődésének köszönhetően elérhetik a fotorealisztikus minőséget.

A 3D Studio MAX egyike a legelterjedtebb professzionális 3D animációs programoknak, jelenleg a 7. verziónál tart. Történetének kezdetei a nyolcvanas évekig nyúlnak vissza: 3D Studio nevű őse DOS alatt működött, építészeti és gépészeti látványtervek készítésére szolgált. A sikeres programra csakhamar a multimédiával foglalkozó szakemberek is felfigyeltek, újabb verzióit már a televíziózásban, a filmgyártásban és a számítógépes játékfejlesztés terén is sikeresen alkalmazták. Abszolút népszerűséget a Windows-os változatok szereztek, melyek az egyszerű felhasználók körében is elterjedtek. A program sikerének egyik oka, hogy a különböző feladatokra szakosodott alrendszerei (2D-s rajzoló, 3D szerkesztő, anyagszerkesztő stb.) már kezdettől fogva rugalmasan együttműködtek, az összes funkció egyazon közös környezetbe integrálódott. A program gerincét képező alapfunkciókhoz kiegészítő modulok, plug-inek csatlakoznak, szervesen beépülve a jól áttekinthető, logikusan felépített kezelőfelületbe. A gyártók közrebocsátották a program fejlesztőrendszerét, így más szoftvercégek vagy akár profi felhasználók is bekapcsolódhatnak a program bővítésébe.

A 3D Studio MAX (a továbbiakban röviden MAX) kezelőfelületének nagy részét a háromdimenziós munkatérre nyíló különböző nézetablakok foglalják el (1. ábra ). A tárgyakat alapesetben a koordinátarendszer fő tengelyei szerinti vetületekként, illetve egy perspektivikus ablakban látjuk, a nézőpontok azonban természetesen rugalmasan változtathatók, a kamerák szemszögével is azonosíthatók. Különböző megjelenítési módok segítik a munkafolyamat áttekinthetőségét, a tárgyak drótvázként vagy árnyalással ellátott formákként egyaránt reprezentálhatok, és bár ez igen memóriaigényes, a felszínekre alkalmazott textúrák is megjelenhetnek. Munka közben mindenképpen egy vázlatos képet látunk, melyen a végső animációban láthatatlan animációs segédelemek is megjelennek.

A MAX-szal való animáció-készítés szokásos lépései a modellezés (a térbeli formák létrehozása), az „anyagozás" (a tárgyak színének, felületi minőségeinek meghatározása), a bevilágítás és a virtuális kamerák elhelyezése, az animálás, végül pedig a renderelés, melynek során a program kiszámolja az animáció végső képkockáit.

Modellezés

A MAX-szaknyelv a térbeli formákat geometriáknak nevezi. A program több típusukat különbözteti meg, és számos modellezési technikával rendelkezik. Spline és NURBS görbéket, patch és NURBS felületeket, valamint primitíveket, azaz alapvető mértani testeket egyaránt létrehozhatunk. Egy új alakzat méreteit meghatározhatjuk közvetlenül a kurzorral létrehozásakor, vagy jellemző paramétereinek beírásával (sugár, hosszúság, szélesség, magasság stb.). Egy gumilabda megmintázása tehát nem jelent különösebb erőfeszítést, az elemi alakzatok azonban bonyolultabb formák kiindulópontjai is lehetnek. Nagyon fontos a rendelkezésünkre álló rengeteg módosító (modifier): segítségükkel paraméterekkel szabályozható különféle torzításokat alkalmazhatunk a ormákra, a síkbeli görbékből térbeli testekhez juthatunk. Az 1. ábrán látható olló pengéi a síkban megrajzolt keresztmetszetek „kinyomásával" (extrude) készültek, a csavar egy görbe elforgatása révén jött létre (2. ábra), a vájat egy téglatest felhasználásával alakult ki, a meglévő objektumokat ugyanis különböző eljárásokkal kombinálhatjuk: egyesíthetünk, metszhetünk vagy kivonhatunk egymásból alakzatokat. Több görbe felhasználásával új felületeket hozhatunk létre. A MAX a geometriákat olyan objektumokként kezeli, melyek további alobjektumokból (subobjects) állnak. Egy adott tárgy ennél fogva alkotóelemeinek különböző szintjein is módosítható (a testeket például görbék vagy sokszögek határozzák meg, utóbbiak pedig csomópontokból meg vonalszakaszokból állnak). Az egyik leggyakrabban használt virtuális szobrászkodási eljárás, a poligonális modellezés is ezen alapszik: a kiindulópont egy kisszámú él és csomópont által meghatározott geometria (a legtöbbször a MAX-ba beépített alapvető mértani test), ezt aztán a sokszögek, élek és csomópontok szintjén finomítják, újabb részletekkel gazdagítják. Így készültek az olló fogantyúi (3. ábra). A MeshSmooth módosító elsimítja a nem kívánt szögletességeket a poligonok automatikus megsokszorozásával. A Modifier list (4. ábra) ablakból minden módosító elérhető (akár ki is kapcsolható vagy törölhető), ugyanitt aktiválhatjuk azt az alobjektumszintet, melyben dolgozni szeretnénk.

Anyagok

Egy szereplő vagy tárgy elkészítése a megfelelő forma kidolgozásával távolról sem ér véget, hátra van még színének, mintázatának, anyagi minőségének, felületi tulajdonságainak a meghatározása. Mindezt az anyagszerkesztő ablakban (Material Editor, 5. ábra) tehetjük meg. Különböző anyagtípusokat hozhatunk létre, melyeke aztán „ráhúzhatunk" a tárgyakra. Egy anyag rengeteg módosítható tulajdonsággal és paraméterrel rendelkezik. Az anyagokhoz színeken kívül különböző mintázatokat rendelhetünk, ezek lehetnek importált raszterképek (egy téglafal mintázata például egy falrészlet fényképének felhasználásával történhet) vagy a MAX procedurális (függvények által generált) mintái is. A MAX-ban különböző shadertípusok, azaz árnyalási minták közül válogathatunk, ezek határozzák meg, hogy az illető felület miképpen veri vissza a fényt – a megfelelő shader kiválasztása nagyon fontos, hiszen egy fémfelület egészen másképp viselkedik, mint a műanyag vagy egy fatárgy. A csillogás, az átlátszóság, a tükrözések, az érdesség paramétereken keresztül precízen szabályozható. Azt, hogy az anyagok milyen módon feszülnek rá a háromdimenziós formákra, ún. mapping koordinátákkal pontosan meghatározható. A megfelelő anyagokat egyszerű tárgyak esetében nem nehéz elkészíteni, az organikus objektumok „felöltöztetése" azonban már nagyon komplex feladat.

Kamerák és fényforrások

Egy jelenet bevilágítása, valamint a kamerák elhelyezése és mozgatása ugyanolyan összetett feladat, mint a hagyományos filmkészítésben, ráadásul egy 3D animáció hitelessége nagymértékben a fények helyes használatán múlik. A MAX-ban irányított vagy irányítatlan (minden irányba fényt sugárzó), párhuzamos vagy széttartó sugárnyalábot kibocsátó fényforrásokat egyaránt alkalmazhatunk. Megállapíthatjuk a fények színét és erősségét, a távolságtól függő gyengülés mértékét, szabályozhatjuk az árnyékvetés módját. A MAX fényforrásai nagyon jó megközelítéssel utánozzák a valós fényforrások működését, ugyanakkor a fizika törvényeit bármikor áthághatjuk: az árnyékképzés csak opcionális tulajdonság, egyes tárgyakat önkényesen kivonhatunk bizonyos fényforrások hatása alól. A kamerákkal is hasonló a helyzet: a fókusztávolságuk úgy állítható, mint egy hagyományos 35mm-es felvevőgép esetében, a mélységélesség vagy a gyors mozgásokból adódó elmosódás szimulálható, de nem elengedhetetlen. Az egy jeleneten belül alkalmazható fényforrások és kamerák számát semmi sem korlátozza.

Animálás

A MAX animációs lehetőségei rendkívül rugalmasak, az objektumok és alobjektumaik, a fényforrások és kamerák szinte minden tulajdonsága animálható. Az időbeli folyamatokat a MAX ún. controllerek segítségével kezeli, ezek többsége kulcskockákkal dolgozik. E kulcskocka olyan kiemelt jelentőségű időpillanat, melyben valamilyen változás történik az animációban. Ez nemcsak térbeli elmozdulás vagy méretmódosulás lehet, bármilyen animálható tulajdonsághoz (szín, fényerősség, kamerák fókusztávolsága stb.) kapcsolódhat. A program a kulcskockák tartalmának függvényében automatikusan kiszámolja a köztes pillanatokat, vagyis az átmeneti kockákat. A MAX rengeteg komplex animációs lehetőséget tartalmaz. Előre megszerkesztett görbék mentén mozgathatjuk a tárgyakat, vagy domború felületek követésére kényszeríthetjük őket. Hierarchikus láncokat képezhetünk, melyekben egy elem módosítása az alá- vagy fölérendelt tagokat is befolyásolja. A geometriákat a MAX-ban különböző térgörbítőkkel (space warps) is mozgásba hozhatjuk – az egyik leggyakrabban használt fajtájuk hullámzások keltésére szolgál.

A szereplők mozgatását csontrendszerek könnyítik meg. A csontok speciális segédelemek, melyek belső vázakat képezve meghatározzák a külső formák módosulásait. Hatásuk precízen szabályozható, egy sajátos alobjektumuk révén az izommozgások szimulációja is lehetséges. A szereplők animálására specializálódott Character Studio plug-in komplex kétlábú csontvázakat generál, melyeket rengeteg sajátos mód-szerrel mozgathatunk – például a szereplő lépéseit meghatározó lábnyom-segédelemek létrehozásával. A MAX-ban többfajta részecskerendszer (Partiele System) áll a rendelkezésünkre, ezek madárrajok, víz, füst, köd, hóhullás, robbanások stb. szimulálását teszik lehetővé nagyszámú részecske összehangolt mozgatásával.

A Havok reactor plug-in realisztikus dinamikus szimulációk készítését teszi lehetővé: a szimulációban részt vevő tárgyak mozgását előre definiálható fizikai tulajdonságaik (tömeg, rugalmasság, súrlódási együttható, súlypont, puhaság, viszkozitás stb.) és külső erők (gravitáció, szél stb.) alapján számítja ki a program. Az animáció koordinálását segíti a Track view ablak (6. ábra), ahol az összes objektum és paraméter elérhető, a többrétegű idősávon pedig a folyamatokat szabályozó kulcskockák sorakoznak. Ezek módosíthatók, sokszorosíthatók, törölhetők, de új kulcskockákat is létrehozhatunk. A folyamatokat a kulcskockák értékei által meghatározott grafikonok szemléltetik. Sok más animációs programtól eltérően a MAX időalapú szoftver – az animáció kezeléséhez nem képkockákat, hanem nagyon kicsi időegységeket (1/4800 másodperc – tick) használ. A képkockák csak rendereléskor alakulnak ki, ezért a másodpercenkénti képkockák száma a folyamatok sebességének módosulása nélkül bármikor változtatható.

Renderelés

A renderelés során a program kiszámolja a végső animáció képkockáit, a fényviszonyok, a tárgyakra alkalmazott anyagok és az egyéb effektusok figyelembe vételével (7. ábra). A renderelést előkészítő ablakban a kimeneti animáció felbontására, minőségére vonatkozó paramétereket állíthatunk be, egyes elemeket kizárhatunk a renderelésből. Szabályozhatjuk a mozgásból eredő elmosódások ábrázolási módját. A MAX-ban több renderelő-motor közül választhatunk, ezek más-más algoritmus alapján hozzák létre a képeket. A mentái ray nevű renderelő, mely a 6. kiadás egyik legfontosabb fejlesztése volt, a legbonyolultabb fényjelenségeket (a fénysugarak törése üvegben vagy vízben) is rendkívüli precizitással jeleníti meg. A finalToon motort különböző rajzfilmeket imitáló hatások elérésére fejlesztették ki: vastag körvonalakkal láthatja el a leképezett tárgyakat, a finom árnyalásokat pedig egységes színfelületekkel helyettesítheti. Komplex projektek esetében a jelenetek egyes elemeit (pl. a hátteret és a szereplőket) külön renderelik, az így nyert rétegek később a Videó Post alprogramban kombinálhatók.

(A szemtéltetőanyagokat Bertóti Attila készítette.)



Kapcsolódó

A szerző véleménye nem feltétlenül tükrözi a szerkesztőség véleményét.