3D Modellezés és animáció készítés Open-Source programban Szerző neve Szegedi Péter Debreceni Egyetem, Informatikai Kar Debrecen, M agyarország
[email protected]
Társszerző neve
Konzulens
Varga László Debreceni Egyetem, Informatikai Kar Debrecen, M agyarország
[email protected]
Erdei Timotei István Villamosmérnöki és Mechatronikai Tanszék Debreceni Egyetem Debrecen, M agyarország
[email protected]
Absztrakt- Az Ipar 4.0 elterjedésében kulcsszerepet játszik a 3D modellezés. S zámos iparág aknázza ki az ebben rejlő lehetőségeket. Az ipari szimulációk, a 3D nyomtatás, a reklám és a szórakoztatóipar is elképzelhetetlen manapság modellezés nélkül. S okféle 3D technológia terjed a világban, korunk egyik leghangzatosabb innovációjává nőtte ki magát. Projektünkben a szórakoztatóiparban betöltött szerepe lett kihasználva, azon belül is a videojáték ipari oldala. Kulcsszavak: Ipar 4.0, 3D modellezés, 3D nyomtatás, szórakoztatóipar, szimuláció, 3d technológia
I.
BEVEZETŐ
A 20. században a számítógépek fejlődésével új iparágak születtek meg. Hamar nyilvánvalóvá vált, hogy nem csak a tudományban lesz jövője a Neumann-féle gépeknek, hanem a szórakoztatóipar is profitálni fog ebből. Már 1996-ban megjelent az első igazi 3D számítógépes játék PC-re, a Quake, ami egy FPS típusú, lövöldözős játék. Itt az „igazi” szón van a hangsúly, ugyanis már 1996 előtt is jelent meg 3D-szerű játék, azonban ezeket csak 3D-nek szimulálták, manapság ezeket a 2,5D-s játékok csoportjába sorolják.
kivitelezhetetlen. Pontosan meg kell tervezni a menetét, hiszen nem csak időt, munkát is spórolhat az, aki megfelelően tervezi meg a projektjét. Első lépésként a modellezés tárgyát kell meghatározni, hogy mi legyen a végtermék. A meghatározás után ki kell választani a programot, amivel a megvalósítás fog zajlani. Erre sok lehetőség van, hiszen megannyi program áll rendelkezésre. A program kiválasztása után megkezdődhet a gyakorlati munka, a modellezés. Ez egy munkafolyamat, több kisebb részből áll össze, amelyek vagy manuálisan, vagy automatikusan hajtódnak végre. Végül a kész modellt textúrázni, majd animálni kell, mielőtt beépítésre kerülne a játékprogramba. 1. ábra: 25 legnépszerűbb 3D modellező program
Manapság már a „kockaság” nem egy underground tevékenység, mint az ezredforduló előtt, hanem egy nemzeteken és generációkon átívelő kultúrává nőtte ki magát. Ez a játékkultúra soha nem látott méreteket öltött, virágkorát éli a videojáték ipar. Egyes felmérések szerint több, mint 1,8 milliárdan játszanak számítógépes játékokkal, és ez a szám egyre nő. Ázsiai országokban nemzeti sporttá fejlődött az esport, de Európában és az USA-ban is komoly szintet képvisel. A hardver és szoftver fejlődésével az igények is megnőttek, így manapság már nem elég jó programot írni, el is kell adni. Ehhez pedig olyan látványvilágra van szükség, ami megfogja a célközönséget. Egy játékot körbeölelő világ megannyi karaktert, tárgyat tartalmaz. Ezt mindet a modellezőnek kell életre keltenie, vagy a valóságnak megfelelően, vagy a kreativitására bízva. II.
TERVEZÉSI SZEMPONTOK
A modellezés egy olyan mérnöki precizitást igénylő folyamat, amely megfelelő tervezési mechanizmus nélkül
Forrás [online]: Most popular 3D modelling [1]
III.
BLENDER 3D
A Blender egy ingyenes, nyílt forrású, professzionális grafikus szerkesztő program. Egyaránt használják vizuális effektek, valamint 3D-s nyomtatásokhoz és játékokban használt modellek készítéséhez is. Sok egyéb mellett az elérhető funkciók között megtalálható a modellezés, textúrázás, folyadék és füst szimuláció, animáció és a
renderelés, továbbá egy beépített játékmotorral is rendelkezik, bár nem ez az, ami miatt olyan nagy népszerűségnek örvend. 1995-ben hozták létre a Neo Geo berkein belül, mint egy belső alkalmazást és csak később, egy viszontagságos életutat bejárva, 2003-ban lett ingyenesen elérhető, hála egy közönségi finanszírozásnak, mely megmentette a csődbe ment cég projektjét. A szoftver a három nagy operációs rendszer mindegyikén elérhető és létezik 32-, valamint 64-bites változatban is, de ezen kívül olyan egyéb operációs rendszerekre is elkészült mint az AmigaOS, MorphOS, AROS, stb. Egyik nagy előnye, főleg a kezdő felhasználók számára, hogy a hivatalos weboldalán tekintélyes mennyiségű és jó minőségű oktató anyag található, illetve, hogy köszönhetően népszerűségének nagyon komoly közösséggel rendelkezik, ahol bárki könnyen találhat segítséget, ha problémába ütközne. Szintén ennek a közösségnek köszönhető, hogy a YouTube-on rengeteg oktató videót is fel lehet lelni, így bárki könnyen elsajátíthatja a program használatát. A felhasználói felülete első ránézésre kicsit kuszának, bonyolultnak tűnhet, de ez azért van, mert nagyon nagymértékben személyre szabható, több komponensből alakítható ki, valamint, mert elsősorban nem a GUI elemeinek használatára, sokkal inkább a gyorsbillentyűkre helyezi a hangsúlyt. Ezek miatt nehézkesebb kiismerni magát a GUI-t, mint a konkrét modellezési funkciókat. Nagy előnye, hogy sok különféle fájltípust támogat mind importálás , mind exportálás során, ráadásul kimondottan egyszerű az exportálás felparaméterezése, hogy a végső objektum file tényleg (csak) azokat az adatokat tartalmazza, amikre szükségünk van [2]. 2. ábra: A Blender 3D kezelőfelülete
Forrás [online]: Blender 3d kezelőfelülete [3]
A felhasználói felület egy átjáró a program és a felhasználó között. A felhasználó az egeret és a billentyűzetet használja a géppel való kommunikációra, az pedig a képernyőn és az ablakrendszeren keresztül válaszol. A Blender felületének irányítására szükség van az egér mind a három gombjára, valamint egy csomó gyors -billentyű kombinációra.
A két alapvető mód az objektum mód és a szerkesztés mód, amelyek között a tab billentyűvel lehet váltani. Az objektum módban az egyes objektumokat lehet egy egységként manipulálni, míg szerkesztés módban magát az objektumot lehet szerkeszteni. Például objektum módban egy egész testet lehet mozgatni, méretezni és forgatni, míg szerkesztés módban a test egyes csúcsait. Ezen kívül létezik számos más mód, mint például csúcsfestés, súlyfestés és faragás mód. A Blender egy sajátos ablakrendszert használ. Minden egyes ablak külön információkat és beállításkészleteket tartalmaz attól függően, hogy épp min dolgozol. Ebbe beleértendő a 3D modellezés, animáció, felszín anyag, Python script és egyéb készítése. Három alapértelmezett ablak található meg a programban. A 3D ablak grafikai nézetet biztosít a munkához, amin épp a munka folyik. Bármilyen szögből nézhető a munka. Nagyon hasznos lehet egyszerre több perspektívából nézni a munkánkat. A gomb ablak tartalmazza a legtöbb eszközt az objektumos szerkesztéséhez, felületének, textúrájának, fényének és sok másnak a beállítását. Folyamatosan szükség lesz erre a részre, ha nem ugrik be a gyorsbillentyű kívülről. Ebből is természetesen lehet többet csinálni, hogy megkönnyítse a dolgunkat különböző eszközkészleteket telepítve. Felhasználói környezet beállítása ablak általában olyannyira el van rejtve, hogy csak a menü része látszik. Habár ezt elég ritkán használjuk, mert globális konfigurációs beállításokat tartalmaz. A Blender gombjai sokkal figyelemfelkeltőbbek, mint más program felhasználói környezetében és sokkal szebben néznek ki már a 2.30-as verziótól. Ez nagyban köszönhető annak, hogy vektor-alapúak és OpenGL-ben rajzolták őket, így elegánsabbak és jobban nagyíthatók. A gombok többnyire csoportosítva vannak a gomb ablakban. A 2.3-as verzióban hat fő kontextus van, amiket az első ikonsorból választhatunk ki, mindegyikük alkontextusokra van osztva, ezek pedig a második sorból választhatók ki. Ezek a „Logic”, „Script”, „Shading”, „Object”, „Editing”, „Scene”. További gombok is megtalálhatóak, mint az operációs gombok, menü gombok, szám gombok, kapcsolók. A SPACE-t megnyomva a 3D ablakon, vagy a bal-, vagy jobb egérgombot nyomvatartva fél másodpercnél tovább egy eszközsor nyílik meg. Ez 6 menüpontot foglal magába két sorba rendezve, mindegyikük menüket, vagy almenüket nyitnak meg. Három közülük a 3D ablak fejlécének menüiből is előhozhatók. Az „Add”-dal egy új objektumot rakhatunk a képre, az „Edit”és „Transform” menükkel pedig az összes olyan műveletet láthatjuk, ami elvégezhető a kijelölt objektumon. A Blender ablakainak rugalmassága lehetővé teszi a környezetek testre szabott munkáját a különböző feladatokra, mint a modellezés, animálás és scriptelés. Gyakran hasznos váltani a különböző környezetekben ugyanazokban a fájlokban. Ez több képernyő létrehozásával lehetséges. Tehát ha módosításra kerül valami az egyik ablakban, az a többire
nem lesz hatással. De a jelenet, amin a munka folyik, mindenhol ugyanaz marad. Lehetséges egy Blender fájlban több jelenetet tárolni. A jelenetek használhatják egy másiknak az objektumait, vagy teljesen el is különülhetnek. Ezek az „SCE” menü gombnál választható ki. Amikor egy új jelenet kreálódik, négy opció közül lehet választani a tartalmukat illetően: Empty – Egy üres jelenetet hoz létre. Link Objects – Egy új jelenetet hoz létre, ami az előzőleg kiválasztott jelenet tartalmát foglalja magában. Link ObData – Egy új jelenetet hoz létre, ami az előzőleg kiválasztotton alapszik, ugyanazokhoz a tárgyakhoz, anyagokhoz, stb. linkelve. Ez azt jelenti, hogy módosítható az objektumok pozíciója és egyéb tulajdonsága, de a módosítások hatással lesznek a másik jelenetek tárgyaira, anyagaira, hacsak nem lesz készítve manuális egyfelhasználós másolatokat. Full Copy (Teljes másolat) – Az eredetileg kijelölt jelenet egy teljes független másolatát állítja elő. A Blender biztosítja a három dimenziós térben való munkát, de a monitorunk csak két dimenziós. Hogy képesek legyünk három dimenzióban dolgozni, nézőpontot kell változtatni, hogy a jelenet látási irányát megváltoztassuk. Ez itt mind lehetséges. A Blender három alapértelmezett nézési irányt biztosít: oldal-, elöl- és felölnézet. A program jobbkezes koordináta rendszert használ, felfelé mutató Z tengellyel, így az oldalnézetben az X tengelyen nézel végig negatív irányba, elölnézetben az Y tengelyen, felülnézetben pedig a Z tengelyen. Ezek a „View” menüben választhatóak ki [4]. A Blender tehát ingyenes mivoltjához képest egy univerzális program, rendkívül sok beállítást, funkciót tartalmaz, amivel igényes és profi munka vihető végbe. IV.
MODELLEZÉSI FOLYAMAT KIVÁLASZTÁSA
Egy egyszerű tárgy lemodellezéséhez nincs szükség sok objektumra. Azonban egy olyan összetettebb feladatnál, mint egy emberi test, sokféleképpen lehet megvalósítani. Ezeket Object modelling-nek, azaz objektummodellezésnek hívjuk, hiszen többféle objektumból tevődik össze. Több fajtáját különböztetjük meg. 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. 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áromszö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éktípustó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.
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. 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á. 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 [5]. Egy objektumot kétféleképpen kezdhetünk el ábrázolni. A „nulláról” való kezdés akkor hatékonyabb, ha a létrehozásra váró modell alakja, formavilága speciális. A másik út az, ha már egy meglévő modellt beimportálunk, és azt alakítjuk át saját ízlésünknek megfelelően. Manapság rengeteg ingyenesen elérhető tartalom van már a 3D modellezés világában, ami felhasználásra kerülhet egy projekt elkészítéséhez, de ehhez nagyon fontos a megfelelő program megválasztása. A Blender személyre szabhatósága a legjobb programok között van, ingyenesen bővíthető, különböző kiegészítőkkel, extrákkal könnyíthetjük munkánkat. Az időhatékonyságot középpontba helyezve, illetve a Blender által nyújtott bővítési lehetőségekkel élve telepítésre került egy ingyenes plusz funkció [6]. Ez a plusz funkció a Blender alapértelmezett felületén egy humanoid karaktert helyez el, ami a modellezés folyamatát alapvetően megváltoztatja. Ezzel az addonnal megspóroljuk a rajzolásra szánt időt, illetve kikerülhetünk olyan tudásbeli hiányosságokat, mint az anatómia ismerete, ugyanis egy emberi test lemodellezéséhez erre szükség van, amennyiben egy hiteles emberi test lemodellezése a cél.
3. ábra: Az emberi test arányai
volt a kitűzött cél. A hitelesebb modell elérésében inspirációt nyújtott a J. R. R. Tolkien: Gyűrűk ura regénytrilógiája [7], illetve a Harry Potterből ismert kobold lény, Dobby névre hallgató szereplője. A fej formájának részletes szerkesztésére került sor, ugyanis ez az alapja a további arcberendezésnek. A goblin esetében hosszúkás, de kis fej, míg az orknál robosztusabb, erőteljesebb fej megmunkálása lett kitűzve célul. Az arc részén megjelenő testrészek a karakter egyediségét tükrözik, mint az arcüreg méretének, mélységének aránya, mint a szájtartás, a szemgödör mélysége, homlok kiugró, beugró részei. Ebbe a munkacsoportba tartozik még a fejen lévő szőrzet kidolgozása is, ez azonban textúra-szinten lett abszolválva. A fülek és az orr kidolgozása után az arcüreg, szem, száj, homlok következett a modellezési folyamatban. A szem külső gyűrűjének a felső vertexeiből és az ezeket összekötő élekből extrudálva lett egy sáv felfelé, egészen a szemöldök tetejéig. Ugyanebből a sávból a homloknál még kétszer megtörtént, kissé kifelé húzva, így növelve a méretét a kiinduló sávhoz képest. Összességében elmondható, hogy a fej és az arc körüli munka volt a legösszetettebb feladat, hiszen ez a legfontosabb rész az emberi testen, amit nem lehet elnagyolni. Sok apró részlet, akár külön-külön nézve, akár egymáshoz viszonyítva, mindenféleképpen passzolniuk kell egymáshoz. Egy-egy testrész egymáshoz viszonyított arányára különös hangsúly lett fektetve, ami előzetes megfigyeléseken alapult.
Forrás: Andrew Loomis - Figure Drawing for All it's Worth (1943)
4. ábra: Goblin és ork fej
Egy addon telepítése egyszerű. Megfelelő helyről letöltve a kívánt kiegészítőt (hivatalos Blender közösség), a program főkönyvtárába másolva megtettük az első lépést. Miután sikeresen bemásoltuk, a User Preferences menüpontban az Addons fülnél engedélyezzük a bemásolt kiegészítőt. Innentől szabadon használható. V.
MODELLEZÉS
A modellezési út kiválasztása után megkezdődött a gyakorlati munka. A beimportált emberi test négy külön részre lett szétválasztva, hiszen tervezés szempontjából egy szétszeparált modellt könnyebb kezelni. Először a fej átszerkesztése lett kitűzve, majd a törzs, végül pedig a végtagok. Fontos volt egy olyan kép meghatározása, ami utat mutatott a további munkálatokra. A játékba való illeszkedés stílusilag alap követelmény, így két olyan -filmekből, játékokból ismert- humanoid faj kiválasztására esett a választás, ami beleillik a játékprogram környezetébe. Az egyik egy goblin, a másik pedig egy ork harcos. Első körben tehát a fejmunkálatok kezdődtek. Mindkét faj esetében a fülek és az orr kidolgozása volt a legfontosabb feladat, hiszen ezeknek a kitalált humanoid fajoknak ezen testrészükön van a legnagyobb hangsúly. A goblin esetében a nagy, kiálló fülek, hosszú, vékony, görbe orr jelentette a legnagyobb munkát, míg az ork modellnél a kisebb, vékony, a fejtől 90 fokkal kiálló fülek, és az orr szinte teljes eltűntetése
Forrás: Tervező által létrehozott tartalom
A testfő után a törzs, a modell testalkata, megjelenése volt a tervezési lista következő lépése. Egy ilyen kitalált lénynél alapvető kérdés, hogy milyen szerepre szánják a fejlesztők. Amennyiben egy pozitív karaktert „játszik”, abban az esetben
máshogyan kell lemodellezni. Egy jó karakter „előéletére” más jelek mutatnak, mint egy alapvetően gonosz teremtményére. Pl.: sebhelyek, roncsolódások, testalkat, fejszerkezet, stb. Ugyanakkor egy harcban edzett katona más testfelépítéssel bír, mint egy „nyugodt” életet élő személy . Erre komoly hangsúly lett fektetve, így lettek meghatározva a modellezést tárgyát képviselő lények, hiszen az ork modellnél egy harcosról, a goblin esetében viszont egy békés, területét védő lényről van szó. Az előzetes tervezés után tehát adottak a körülmények, így ezekhez ragaszkodva lettek lemodellezve a karakterek törzsi, hasi és háti részek, nyak, testalkat, izomzat. A test nagy része modellezésre került, mikor elkezdődtek a végtagok megmunkálása. A végtagok hosszának és vastagságának egyensúlyban kell lenniük a törzzsel, ellenben a test egésze eldeformálhat, az arányok felborulhatnak. Ez nem csak a látványvilág szempontjából kritikus, hanem a későbbi csontozat kialakításnál, és az animációkészítésénél is problémákba ütközhet. A végtagokon megjelenő izomzat is anatómiai ismeretekre, illetve a már említett forrásokra hivatkozva lettek lemodellezve. Megemlítendő még, hogy a minél kevesebb poligonfelhasználást kihasználva, a textúrázással is segítve lettek a különböző izmok kihangsúlyozása. 5. ábra: Végtagok
mert más-más anyagok különböző tulajdonságokkal rendelkeznek például fényvisszaverés terén. De beállíthatjuk az anyagnak rugalmasságától kezdve az átlátszóságáig mindenféle tulajdonságát. Miután megvan az anyag, már csak a "részletek" hiányoznak [8]. A textúrák alkalmazása a 3D grafikában már az első gyorsító kártyák megjelenése előtt is nagy hangsúlyt kapott, nem hiába már az első hardveres implementációkba is beépített textúrázási lehetőségek voltak. A grafikus kártyák textúrázási lehetőségeinek folyamatos fejlődése mára oda vezetett, hogy a fragmens shaderek segítségével a primitívünkhöz tartozó textúrát vagy textúrákat tetszőleges módon felhasználhatjuk a primitív fragmenseinek színének a meghatározásához, sőt, ezek alapján akár a fragmens mélységét (Z értékét) is manipulálhatjuk vagy éppen eldönthetjük, hogy egyáltalán szeretnénk-e hogy megjelenjen az illető fragmens vagy pedig eldobjuk azt [9]. A textúra tehát alapvető dolog egy modellkészítésnél, hiszen ez az a felület, ami művészivé teszi karakterünket. Minden textúra más és más vetület mutat, attól függően, hogy hogyan let materializálva az objektum. Ahhoz, hogy textúrázni tudjunk egy 3d objektumot, ún. UV mappolást kell végrehajtani, ami gyakorlatilag azt jelenti, hogy a 3d modellünket 2 dimenzióba kifeszítve rögzítjük, és erre pakoljuk rá a textúránkat. Természetesen saját textúrát is lehet alkalmazni a felületen. 6. ábra: Textúra
Forrás: Tervező által létrehozott tartalom Forrás: Tervező által létrehozott tartalom
VI. TEXTÚRÁZÁS Ha készen áll a modell, a következő teendő, hogy materializálódjon. Itt dől el, hogy "mi" is lesz ő igazán, egy fém- vagy műanyag tárgy, egy hógolyó, vagy emberi bőr, a lehetőségek száma az egekben. A programnak azért fontos ez,
VII.
ANIMÁLÁS
A modell animálása kulcsfontosságú lépés egy játékfejlesztési projektben. Gyakorlatilag ezzel a lépéssel kap „életet” megtervezett karakterünk. Minden mozdulata, mimikája itt kerül megtervezésre, ezek az animációk kerülnek be a játékba, a felhasználó ezeket látja.
Az animáláshoz szükség van egy kamerára, és egy lámpára, amit a Blender automatikusan importál a kezelőfelületre. Ahogyan a hétköznapi fényképeket és filmeket egy kamera készíti, úgy a blenderben is egy logikai kamerán keresztül nézzük a jelenetünket. Ennek helyes beállítása alábecsült folyamat, pedig egy jó perspektívából minden szín jobban mutat. Ha nem akarjuk, hogy ennyi vesződés után egy fekete képernyő fogadjon a lejátszásnál, meg kell világítanunk a jelenetet. Csakúgy, mint egy valóságos fotózáson, vagy TV műsorban, itt is kritikus szerepet játszanak a fények. Ha egy kültéri színnél elrontjuk az adott napszakot imitálni hívatott lámpák beállításait, lehet bármilyen jó a többi összetevő, mindenki számára idegennek fog tűnni a végeredmény [10]. 7. ábra: Animálás Blenderben
A animációk létrehozásához külön megfigyelés volt szükséges, ugyanis a létrehozott humanoid fajoknak egyedi mozgáskoordinációjuk van. Az animációkészítés során soksok tesztelésre került sor, ugyanis a minél élethűbb reprezentálás volt az elsődleges cél. VIII.
JÁTÉKPROGRAMBA IMPORTÁLÁS
A projektünk célja, az elkészített játékprogramba építés. A blender sokféle formátumot ismer. Minden fájltípusnak megvan a maga előnye és hátránya. A játékszoftvert Unity engine alatt lett fejlesztve, és a párhuzamos szinkronizáció miatt .fbx fájlba lett mentve a modell, és az animáció. Az .fbx formátumot mindkét rendszer (Blender és Unity) tökéletesen kezeli. IX.
ÖSSZEGZÉS
A modellezni kívánt két humanoid karakter modellezése megtörtént. Az ezekhez kapcsolódó textúrázások sikeresen abszolválva lettek. A már textúrázott modellek animálása a tervezett időhatáron belül teljesült. Több, mint 30-féle animáció lett kidolgozva. Az így kapott modellek és a hozzájuk tartozó animációk importálva lettek a játékprogramba, ahol több rendszeren is tesztelve lettek. A tesztelés eredményéből az a következtetés vonható le, hogy a karakterek és az animációk biztonságosan és stabilan működnek, egyéb hibák nem tapasztalhatóak. X.
3D modellezés, (2017.04.12). [Online]. Available: https://3dprint.com/87111/i-materialise-top-25-software/ [2] Vereckei Csanád, “ Modern Grafikus effektek OpenGL környezetben,”Miskolci Egyetem, 2016 [3] Blender kezelőfelület, (2017.04.12). [Online]. Available: http://math.hws.edu/eck/cs424/notes2013/images/13/blenderwindow.png [4] Blender hivatalos kézikönyv, (2017.04.01). [Online]. Available: http://blender.hu/download/blender_kezikonyv.pdf [5] Lengyel Zsolt: „3D grafika és animáció Jegyzet a webprogramozói képzéshez” 2014 [6] Blender addon, (2017.03.27). [Online]. Available: https://wiki.blender.org/index.php/Extensions:2.6/Py/Scripts/Import Export/Make_Human [7] J.R.R T olkien,”A Gyűrűk ura”, 1954 [8] Blender ismertető,(2017.05.10) [Online] Available: http://people.inf.elte.hu/metsaai/webdev/ [9] Rákos Dániel, „A shader nyelvek alkalmazása a valós idejű fotorealisztikus megjelenítésében,” Debreceni Egyetem,2008 [10] Blender ismertető,(2017.05.11) [Online] Available: http://people.inf.elte.hu/metsaai/webdev/ [11] Linuxvilág magazin,”A Blender használata”,2006, június [1]
Forrás: Tervező által létrehozott tartalom
A 3D animátor programokban az animációkészítés keyframekkel történik [11]. Ez azt jelenti, hogy bizonyos időpillanatokban meg kell határozni az adott objektum helyét. Ezt úgy lehet elérni, hogy ún. csontozással megadjuk a test töréspontjait, azaz gyakorlatilag úgy működik a modell, mint a valóságban egy emberi test. A csontozásra különös hangsúly lett fektetve. Pontos helymeghatározás szükséges, hogy hol legyenek azok a pontok, ahol a modellt mozgatni szeretnénk. Azokon a helyeken, ahol két csont találkozik, ízületnek hívja a szakirodalom. Az ízületeket különösképpen figyelemmel kell kísérni, hiszen ha rosszul kapcsolódnak, gyakorlatilag összeesik a modellünk. Két megadott testhelyzet közötti állapotot a program számolja ki. Ezzel az eljárással komplexebb mozgáskoordinációkat lehet elérni, viszont időigényes, illetve nagyban függ a processzor kapacitásától.
HIVATKOZÁSOK