Cyborn video
Cziráki "CZG" Gergely: rendezte, tervezte, rajzolta, animálta, modellezte
A hazai zenei élet telítve van. A becsvágyó pályakezdők előtt két út áll: először is, lehetnek jól támogatott, ámde kizárólag trendi zenét játszó, átlagos haknizó banda, másodszor, maradhatnak "illegalitásban", amely ugyan jót tesz a művészi függetlenségnek, azonban a táplálkozási szokások gyors sorvadását vonja maga után. Csapdahelyzet áll elő: az előadó akkor kap pénzt munkára, ha már fel tud mutatni egy sok pénzzel készült, sikeres produkciót. A CyBorn együttes is hasonló csónakban evezett, mikor megkerestek minket egy animációs klipre szóló igénnyel. Olyan klipet szerettek volna, amely mind a zombik, bocsánat, a tisztelt nézők, mind pedig az invesztorok figyelmét felkelti. Az együttes sajátos, progresszív zenét játszik, a kihívás nagy volt, képesek vagyunk-e olyan videót készíteni, amely legalábbis a kezdő lökést megadja az élvonalba jutáshoz. Tervek Mint minden egyéb produktumot, egy videóklipet is meg kell tervezni. Ezt a szóbeli megállapodást követően Cziráki Gergely kezdte el. A tervek egyrészt a klip ötletét, történetét, figuráit írják le, másrészt pedig a megvalósítás időbeli, eszközbéli, stb. szükségleteit. Egyszerű történetre volt szükség, kevés, egyszerű szereplővel. Az ekkor még csak egyfős alkotóbrigád hibrid klipet ajánlott, ahol élő szereplős jelenetek teszik ki a klip felét. A figurák és a háttér egyszerűsítése végett egy kibertérben játszódó, program-robotok közt dúló csatát találtunk ki, amelynek szenvedő alanya a reáltérben ücsörgő Programozó. A fennmaradó másfél perc animációjában alkalmaztuk az ősi marketingelvet, a "Hirdessen Nővel!"-t, ezért a pofozkodás főszereplőjének egy Androidát tettük meg, akinek az együttes kibertérben megjelenő többi tagját kell legyőznie. Első ellenfele, a Horrorbot számára egy mangaszerű gyalogtank kinézetét adtuk, míg a második ellen egy démonszerű csontfigura lett. (Eredetileg a klip utolsó részében úvézölden visszatérő csontváz helyében egy teljesen különböző figura szerepelt volna, de ezt idő hiányában végül mellőztük.) Ezeket a figuraterveket rögzítettük, melyek fontos kiindulópontok voltak a modellezéshez. A mozgásokra való esetleges képi dinamikai rásegítést inkább fény-árnyék játékkal gondoltuk megoldani, mintsem bonyolult architektúrájú hátterekkel. Minden ellenfélnek külön-külön háttere van, ezzel is erősítve a komputerjáték-érzetet. A figuraterveket követte az animációs filmnél elengedhetetlen képes forgatókönyv avagy storyboard. Ez egy "képregény", melynek minden kockája a klip egy-egy snittjének felel meg. Az élő snitteket is levázoltuk, lévén ezek szoros összefüggésben voltak az animációval. Ezt követően a forgatókönyv rajzait beszkenneltük és zenére összevágtuk, hogy ellenőrizzük az időbeli kiterjedését a képeknek - ezt animatiknak hívják, szintén fontos része a tervezésnek. Modell, character setupEzután következett a modellezés és a character setup fázisa, melyet az Alias cég Maya programjával végeztünk. Ideális esetben egy figurának több változata épül meg egyetlen produkcióra, melyek mindegyike csak bizonyos mozgásokra képes, de a mi helyzetünkben a szűkös keret miatt csupán egyet engedhettünk meg. Először az Androida épült meg. Itt mind a tervezés, mind a modellezés során intenzíven tanulmányoztuk az emberi izomzat felépítését (lásd Barcsay csinos kis munkáját), hogy a robot merev panelekből álló teste a lehető legorganikusabb hatást keltse. Nyúló izom-részeket is tettünk a nagyobb mértékben mozgó, ezért panelekkel nem borítható hajlatokba (pl. hónalj, ágyék), ezeknek a nyúlását egy script vezérelte, melyet Vass Gergely írt. A csontozást a klasszikus, medenceövből induló módon végeztük el. A fenéknél, hasnál, könyöknél szükségessé vált a panelek csontoktól eltérő mozgatása, ezt Set Driven Key-jel oldottuk meg. Az Androida mimikájához Blendshape deformereket használtunk, melyek segítségével a különböző jellegzetes arc- és szájformák között tudtunk morfolni. Az arcot huszonhat kontrollerrel mozgattuk, ennyi elég is volt, annak ellenére, hogy ő látható a legtöbbet közeli snittekben. A többi figura arca még ennél is kevesebbet kapott (mi ez a Final Fantasy száznál is többjéhez képest!...). Ezt a Horrorbot követte, melyben a legnagyobb kihívást az arc jelentette, mivel az az együttes dobosáé lett volna. A 3D scanner hiányát ötletes módon oldottuk meg: a zenészek fél arcára poligonhálót festettük testfestékkel, majd erről készítettünk elöl és oldalnézeti referenciafotót. A fotók alapján már igen egyszerűen lehetett élethű modellt építeni (de meg kell jegyezni, hogy ha az adott arc erősen asszimetrikus, az arc egészét be kell hálózni, és több oldalról is fotózni kell). A csontvázdémon az előző kettőhöz képest viszonylag egyszerű volt, hiszen csupán csontok alkották. A koponya modellezését mindenkinek csak ajánlani tudom, mert ez egy igen kemény gyakorlatnak bizonyult. Mindegyik figurára jellemző volt, hogy karjaikat csupán két-két locatorral mozgattuk, az egyik a csuklónál irányította a kézfej pozícióját és forgását, egy pedig a könyök helyzetét (a pole vectort). A lábakat hárommal: ebből egy szintén a pole vectort, kettő pedig a lábfejet vezérelte (egy a lábujjnál, egy a lábtőcsontoknál). AnimációAz animáció elkészítését jelentős mértékben megkönnyítik a referencia felvételek. Ezeket két kempós ismerősünk szolgáltatta, szinte minden a storyboardban szereplő snittet lemozogtak. A klip első felének mozgásait még háttér nélkül csináltuk meg, melyet később importáltuk be. Mire a második félhez értünk volna, a határidő olyan mértékben lett túllépve, hogy kénytelenek voltunk egyszerűsíteni a storyboardon. Ez pedig azt eredményezte, hogy a második félhez készült felvételeknek jó, ha felét lehetett használni. Ezután a takarékosság miatt nem is vágtuk fel az Androida és a csontváz verekedésének animációját több, különálló file-ra, hanem egy, összefüggő mozgást készítettünk (háttérrel együtt) és több kameraállást használtunk a renderelésnél. ElővágásA kész, hátterekkel összerakott file-okból ekkor alacsony minőségű próbaanimációkat készítettünk, melyekből Czakó Judit állította össze az elővágott klipet. Erre azért volt szükség, mert a szűkös számítási kapacitást nem akartuk olyan snittekre pazarolni, amelyek be sem kerülnek. Általában elmondható, hogy kb. 3-4 percnyi nyersanyagból lett egy percnyi kész klip. Az elővágást követően egy füzetbe feljegyeztük minden snitt első és utolsó kockáját, megkönnyítendő a renderelést (ami azt illeti, jó sűrűre lett vágva: a 172 másodperc alatt kb. 120 snitt van). ShadingÚgy döntöttünk, hogy inkább egy-két érdekes shader, és az azokkal kapcsolatban felmerülő problémák részletezésével töltjük ki a rendelkezésre álló teret, ahelyett, hogy felsorolnánk hány Lambert hány Blinn, milyen textúra, milyen felbontással került felhasználásra, és egyéb olyan dolgokat, amiket a Tisztelt Olvasó esetleg annyira érdekfeszítőnek találna, hogy egy elegáns ám egyben határozott kézmozdulatot követően rögtön egy másik weboldal képei kerülnének látóterének mezejébe. Az egyik ilyen - egyben a legbonyolultabb - shader a horrorBot néven már említett, gyalogtank kinézetű robot páncélzatának anyagáért volt felelős. Ez a feladat - ahogy a többi shader elkészítése is - Barta Gergelyre hárult. A koncepció szerint ezt a hatalmas szerkezetet ütött-kopott, néhol már rozsdásodó páncélelemek borítják, ellensúlyozva az Androida kecses, letisztult formáit. Mivel nem volt több fős textúrafestő részlegünk, a shader működését kellett úgy felépítenünk, hogy ne kelljen külön textúrát festeni például a bump-nak, a színeknek, a rozsdás foltoknak. Végül odáig fejlődött a shader, hogy egy festett textúra vezérelte az egészet: a felületen megjelenő sérülés, kopás mértéke annál nagyobb, minél sötétebb a textúrában hozzá tartozó szürkeárnyalatú érték. Vagyis például az 50%-os szürke azt jelenti, hogy a felületről lekopott a zöld festés és az alapozás, ha ennél sötétebb, akkor maga a fém is sérült, ha pedig fekete, vagy ahhoz közeli, akkor rozsdafoltok is megjelennek rajta. Így a textúrafestés kicsit olyan volt, mintha a páncélelemek felületét karcolgattuk, koptattuk volna. A shader használatát nehezítette, hogy a horrorBot páncélzata elég sok elemből állt, és mindegyikhez külön textúrát készítettünk. A Mayás shadingSwitch node segítségével oldottuk meg, hogy ne kelljen minden egyes páncélelemhez külön komplex anyagmodellt adni, csupán a textúra legyen más. Az így elkészített anyagot sajnos igen problémás volt a már létező animációs file-okba betölteni, de Vass Gergely segítségével, egy már létező MEL scriptet átírva végül sikerült megoldani ezt a reménytelennek tűnő problémát is. Az Androida külleme shaderek szempontjából már igencsak eltért az eredeti koncepciótól: a belső, rugalmas test mellvért-szerű (fémszövet) anyagot kapott volna, de ennél felmerült egy érdekes probléma: mivel a szövet elég sűrű volt, és sokszor az Androida távolról látszott, a TV-s renderfelbontás és ez a sűrű mintázat kibékíthetetlen csatározásba kezdett. Amint egy kicsit is megmozdult a robot, a fémszövet őrült "zizegésbe" kezdett. Ezt a problémát csak az anti-aliasing növelésével lehetett volna orvosolni, így igencsak megnőtt volna a renderidő, ezért kénytelenek voltunk elvetni ezt a textúrát, és helyette egy "render-kompatibilisebbet" használtunk. (Erről a problémakörről bővebben itt) A klip többi részében szereplő csontváz testvérpár első tagja repedező, korrodált (de nem rozsdás) fémes hatású felületet kapott, a másik anyagtulajdonsága a röntgen és elektronmikroszkóp képi világának ötvözéséből született. VilágításA klip első részében - a külső jelenetekben - az előteret és a hátteret teljesen külön világítottuk be. Eleinte próbálkoztunk globális illuminációs (Final Gathering algoritmus) bevilágítással is, ami ugyan renderidő szempontjából nem bizonyult lehetetlennek, csakhogy így a fényhatásokkal nem nagyon tudtunk játszani, nem volt elég karaktere a fényeknek. Ezért lágy fényeket adó area lightokat használtunk, fő- és derítőfényeknek egyaránt. A viszonylag nagy kiterjedésű fényforrások árnyékai sugárkövetéssel születtek, lágy árnyékokat adva a képnek, mintha minden irányból jönne fény. A horrorBot által védelmezett dómból kiáramló adatfolyam - a kibertér fő datastreamje - és a tetején lévő "halo" (izzás) töltötte be a fő fényforrás szerepét. A harc helyszínéül szolgáló aréna önfényének, és a felhős égbolt, illetve a háttérben lévő mozgó "equalizer" tornyok fényeinek a robotokon látható nyomát ugyancsak area lightok adták. Mivel a fények statikusak voltak, a renderidő leszorítása érdekében a háttérben lévő mozdulatlan objektumoknál a fényeket textúrákba égettük (bake). A karaktereket megvilágító fényforrások eredetileg a háttér fényforrásainak valódi helyén lettek volna, ám mint kiderült - a háttér nagy kiterjedése miatt - ez igencsak lassította a renderidőt. Végül ezen fények a karakterek közelében kaptak helyet, méretüket és fényerejüket pedig úgy állítottuk be, hogy azok nagyjából a háttér fényét produkálják. Ez a módszer viszont kicsit megnehezítette a munkát: a fényeket a robotokkal együtt kellett mozgatni - ahogy azt a színészek után derítéssel (pl. hungarocelltáblával) rohangáló világosítók teszik a filmforgatáson -, és a túl nagy mozgásoknál - például amikor ugrik az Androida - egyenként kellett bevilágítani a robotokat. A klip további részeiben a helyszínek jelentősen kisebb teret fogtak közre, ezért nem is használtunk külön fényforrásokat az előtérhez és a háttérhez. Az első ilyen helyszín a Csontvázdémon szobája, ahol a fő fényforrást egy kibertojás adja, amit az Androida megpróbál a lehető leggyorsabban a terem aljából nyíló csövön keresztül kijuttatni. Ennél a résznél a fények igencsak dinamikussá teszik az egyébként sem lassú animációt, egyfelől a harcoló női robot kezében lévő kibertojás mint főfényforrás, illetve a terem adatfolyamra néző ablaka előtt elhaladó fénylő objektumok fény-árnyék játéka által. Az ezt követő, csőben játszódó résznél is a fények játékával tettük dinamikusabbá az animációt. RenderingEz a folyamat a számítógép gyűjtőnevű kollegáinkra volt bízva. Mivel ők nemigen tudnak szépen fogalmazni, és egyébként is az ő feladatuk leírása kissé unalmas lenne, ezért a rendereléssel kapcsolatban csak egy tanáccsal szolgálnánk Olvasóinknak: a klip készítése során szerzett tapasztalataink szerint nagyon fontos a rendereléshez átnézni a BSP és egyéb rendergyorsító lehetőségeket, ugyanis egy jó beállítás bizonyos esetekben akár nagyságrendekkel (!) megrövidítheti a renderidőt. UtómunkaA renderelés szűkös számítási kapacitásából következő egyszerűsítéseket az utómunka folyamán kellett kompenzálnunk a színek, árnyalatok, képélesség, szemcsézettség, stb. beállításával. Az egyik ilyen sajnálatos egyszerűsítés a motion blur szinte teljes elhagyása. Ugyan a mental ray fizikai korrektségéből fakadóan még egy mozgó tárgy tükröződésben látható árnyékát is korrektül jeleníti meg, ám ennek ára van, ami súlyos renderidőben mérhető. Így az elmosódást (motion blur) szinte mindig utólag raktuk rá a képekre, kivéve az első rész hátterénél (intenzív mozgású equalizer tornyok) és egyes gyors mozgású jeleneteknél, amelyeknél az utólagos motion blur gyengének bizonyult. A másik renderidő-spórolásból fakadó probléma a mélységélesség hiánya, amelyet ugyancsak utólag, kompozitálásnál kellett a képekre vinni. Ehhez Z csatornás képeket rendereltünk, amelyeket egy kompozitáló programba akartunk betölteni. Sajnos azonban kompatibilitási problémák miatt, minden egyes mélységcsatornás képet kénytelenek voltunk nem-lebegőpontos formátumba átkonvertálni, minek hatására nem a kamerától számított abszolút távolságokat kaptunk, hanem minden képkockán más, relatív értékeket. Ez igen megnehezítette a munkát, sokszor el is hagytuk a Z-k használatát, és a háttér rétegére sima defókusz effektet raktunk. A frissen renderelt képek filmes szempontból nézve túl nyersnek tűntek, ezért egy pár jól beállított szűrő segétségével "érleltük" meg a képeket. Az egyik ilyen lépés a gradációs görbék használata (Gamma, Lookup, LookupHSV), amikkel a "túl CG-s", lineáris hatást próbáltuk ellensúlyozni. Nemcsak a fényerőt, hanem a színeket is csatornánként külön görbe vezérelte: pl. a sötétebb árnyalatokat enyhe zöldeskékkel telítettük. Külön beállítást kaptak a különböző "forgatási" helyszínek, egyes snittek pedig - pl. amikor egy nagyon fényes tárgy került a kamera látómezejébe - animált görbéket kaptak a jobb képdinamika érdekében. A végső, filmes képi világ elérésének ezt követő lépcsőfoka a fényudvar (glow) elkészítése volt, melyhez a legegyszerűbb eszközöket (gamma, blur, brightness) használtuk, majd a képeknek szemcsézettséget, zajt (grain) adtunk. ÖsszefoglalásNos, sokat a fentiekhez nem tudunk hozzátenni. A tengernyi (9 hónap!) fáradtság eredményének megítélése nem az alkotók dolga, hanem a fogyasztóé. Mint az kitűnik, a CG jeleneteket nem egy komoly háttérrel rendelkező, nagy stúdió készítette, hanem kettő és fél ember. Úgy érezzük, ez ösztönző lehet bárkinek, aki idáig úgy vélekedett, hogy az egyéni alkotókat behatárolja anyagi és technikai eszközeik szűkössége. Linkek
|
Példa-video
(storyboard, nyers 3D és végleges render összehasonlítás)
18 mb MPG
18 mb MPG