A SZÁMÍTÓGÉPES GRAFIKA ALAPJAI
2.7. A fraktálok világa
2.7.7. Véletlen fraktálok
˙
x=σ(y−x)
˙
y=r|x−y−xz
˙
z=−bz+xy
2.44. ábra. A Lorenz-attraktor
Észrevette, hogy r = 28,σ = 10, b = 8/3 paraméterek mellett kis kezdeti feltételekbeli különbség esetén is igen eltér® id®fejl®dés tapasztalható. Amikor a rendszer viselkedését fázistérben ábrázolta, egy igen furcsa attraktor képe bontakozott ki a szemei el®tt. Ez a róla Lorenz-attraktornak elnevezett különös ábra azóta a káosz egyik jelképévé vált.
2.7.7. Véletlen fraktálok
Láttuk, hogy már az IFS-fraktáloknál nagy szerepe van a véletlennek, a va-lószín¶ségnek: a megadott transzformációkat csak egy bizonyos valószín¶séggel alkalmazzuk.
A valóságmodellezéskor is nagy szerephez jutnak a véletlen fraktálok, hisz a természet alkotta valós objektumok nem teljesen szabályosak.
A véletlen fraktálok vagy véletlen halmazokból veszik fel értékeiket, vagy egy generált véletlen-számmal perturbáljuk a fraktál értékét, vagy valamilyen más szinten köt®dnek a véletlenhez, pl. a Brown-féle mozgás pályájának a fraktál jelleg¶ tulajdonságait használjuk fel.
A valóság modellezésében felületeket, felh®zetet, atmoszférikus effektuso-kat stb. nagyon jól el® tudunk állítani Perlin-zaj [76] alkalmazásával.
Perlin zajfüggvényeRn-en értelmezett (f :Rn→[−1, 1]), az egész számok-ban csomópontokat képz® rácshoz igazított pszeudo-véletlen spline függvény, amely a véletlenszer¶ség hatását kelti, de ugyanakkor rendelkezik azzal a tulaj-donsággal, hogy azonos bemeneti értékekre azonos függvényértéket térít vissza.
A gyakrabban használtnértékei 1 animáció esetén, 2 egyszer¶ textúrák, 3 bonyolultabb 3D textúrák, 4 animált 3D textúrák (pl. mozgó felh®k).
A következ®képpen generálhatunk Perlin-zajt: adott egy bemeneti pont.
Minden környez® rács-csomópontra választunk egy pszeudo-véletlen értéket egy el®re generált halmazból. Interpolálunk az így megkapott csomópontokhoz rendelt értékek között, valamilyenS görbét használva (pl.3t2−2t3).
Ha a Perlin-zajfüggvényt kifejezésben használjuk, különböz® procedurális mintákat és textúrákat hozhatunk létre.
Ha ezeket a kifejezéseket fraktál-összegben használjuk, minden iterációban új adatot vihetünk be, amely valamilyen módon befolyásolja a teljes képet. Pél-dául domborzatgenerálás esetén, az iteráció során a fraktál dimenzióját akarjuk befolyásolni, azaz minden iterációban az amplitúdót osztani fogjuk egy bizo-nyos értékkel.
A gyakorlati megvalósítását lásd a 6.13. (Effektusok) fejezetben.
2.45. ábra. Felh®zet Perlin-zajjal
2.8. Animáció
Az animáció olyan lmkészítési technika, amely élettelen tárgyak (többnyi-re bábok) vagy rajzok, ábrák stb. kockázásával olyan illúziót kelt a néz®ben, mintha az egymástól kis mértékben eltér® képkockák sorozatából összeálló tör-ténésben a szerepl®k megelevenednének vagy élnének. Ahhoz, hogy a szemünk folytonosnak lássa a mozgást, minimum 16 képkockára van szükség másodper-cenként.
A XX. század végére az animáció számos válfaja elkülönült: rajzlm, árny-lm, kollázsárny-lm, bábárny-lm, gyurmaárny-lm, homok- vagy szénporárny-lm, festményárny-lm, fotóanimáció, tárgymozgatás, számítógépes animáció, Flash animáció, trükk-lm, pixilláció, stop motion.
A CGI (Computer-Generated Imagery) a lm és egyéb vizuális médiumok készítése során alkalmazott számítógépes graka legelterjedtebbé vált elnevezé-se mind 2D-ben, mind 3D-ben.
A videojátékok leggyakrabban valósidej¶ számítógépes grakát használnak, de esetenként tartalmaznak el®renderelt vágott jeleneteket, illetve intrólme-ket, amelyek tipikusan CGI-alkalmazások: FMV-k (Full Motion Video).
Filmkészítés során lmtrükköt igényl® jelenetekhez azért használják egyre gyakrabban a digitális technika, s így a CGI nyújtotta lehet®ségeket, mert:
magasabb min®séget eredményez, jóval tudatosabban irányítható,
olyan képek kidolgozására is alkalmas, melyeket semmilyen más tech-nológiával nem lehet létrehozni,
lehet®vé teszi egy m¶vésznek, hogy akár színész, költséges díszletek vagy kellékek nélkül dolgozzon.
Az els® lmbeli 2D képalkotás 1971-ben jelent meg Az Androméda-törzs (The Andromeda Strain) cím¶ lmben (Michael Crichton).
2D-s CGI-t el®ször 1973-ban használtak a Feltámad a vadnyugat (West-world) cím¶ lmben (Michael Crichton).
Az els® 2D-s, teljesen számítógépes animációval készült lm a 11 perces kanadai The Hunger (1974) volt [38].
3 dimenziós kép el®ször a Futureworldben (1976) volt látható, ahol egy számítógép által generált kezet és arcot alkotott Edwin Catmull és Fred Parke a számítógépes graka fellegvárában, a utahi egyetemen.
Az els® lm, amelyben 3D számítógépes animációt használtak, a Csillagok háborúja (1977) volt, ahol a Halálcsillag tervrajzai követelték a beavatkozást.
Az els® CGI karakter az 1982-ben bemutatott Tron c. lmbeli Bit volt (egy poliéder).
CGI-t használtak az Utolsó csillagharcos (The Last Starghter) c. lmben is (1984). Azonban e két lm pénzügyi kudarcnak bizonyult, így rövid id®re
szám-¶zték a CGI-t, s helyette olyan képeket alkalmaztak, amelyek csak azt a látszatot
2.46. ábra. Az Androméda-törzs; Feltámad a vadnyugat
2.47. ábra. The Hunger; Futureworld
2.48. ábra. Csillagok háborúja; Bit
keltették, mintha számítógép alkotta volna ®ket (a technikai körülmények még nem voltak megfelel®k).
1986-ban megalakult a Pixar stúdió, amely saját renderel® szoftver gyártá-sába kezdett (RenderMan), és amely kimagaslón teljesített a rajzlmek területén.
2.49. ábra. Utolsó csillagharcos; Pixar
Az els® ember alakú CGI karakter 1985-ban jelent meg a Sherlock Holmes és a félelem piramisa (Young Sherlock Holmes) c. lmben (John Lasseter). A ka-rakter egy festett üvegablakból összeállt lovag formájában jelent meg a vásznon.
2.50. ábra. Young Sherlock Holmes; The Abyss
A fotorealisztikus CGI egészen 1989-ig nem jelent meg a lmiparban, ami-kor is A mélység titka (The Abyss) elnyerte a legjobb vizuális effektusokért járó Oscar-díjat, a vízlény tökéletes CGI karakter volt.
Ezt követ®en a CGI a Terminátor 2-ben (1991) kapott központi szerepet, ahol a T-1000-es terminátor folyékony fém-mivoltával és alakváltó effektusaival kápráztatta el a közönséget, melyek szerves részét alkották a lm akciójelenete-inek. A Terminátor 2 szintén meghozta az ILM-nek az Oscar-díjat a különleges hatásokért. A két utóbbi lmet James Cameron rendezte.
Az 1993-as Jurassic Park dinóinak életszer¶ megjelenése, mely hibátlanul ötvözte a CGI-t és a live-actiont, hozta meg a lmipar forradalmát. E pont jelen-tette Hollywood áttérését a stop-motion animációról és a hagyományos optikai effektusokról a digitális technikákra.
2.51. ábra. Terminátor 2; Jurassic Park
1994-ben a CGI-t hasznosították a Forrest Gump különleges hatásainak megalkotására. A leginkább megjegyzend® trükk a lmben Gary Sinise színész lábainak digitális módon történ® eltávolítása volt, vagy a napalmtámadás, a gyorsan mozgó pingponglabdák és a madártoll a nyitójelenetben.
2.52. ábra. Forrest Gump; Szépség és a szörnyeteg
A 2D CGI használata folyamatosan n®tt a hagyományos animációs lmek készítésénél, ahol a kézzel rajzolt lmkockákat egészítették ki vele. Széles skálán mozgott az alkalmazása, a két képkocka közti átmenet el®segítésére használt animációktól egészen a szemkápráztató 3D-s effektusokig, amilyen a Szépség és a szörnyeteg báltermi jelenete.
1995-ben az els® teljes egészében számítógép alkotta mozilm, a Pixar cég és a Walt Disney produkciója, a Toy Story zajos sikereket ért el.
2.53. ábra. Toy story
A CGI a lmekben általában 1,46 megapixellel renderelt. A Toy Storyt például 1536×922 (1,42 MP)-vel renderelték. Egy képkocka renderelése jellem-z®en 23 óra körüli id®t vesz igénybe, a legbonyolultabb jeleneteknél ennek tízszerese is el®fordulhat. Ez nem sokat változott az utóbbi évtizedben, mert a képmin®ség azonos szinten halad el®re a hardverfejl®déssel, mivel gyorsabb gépekkel egyre összetettebb megvalósítás válik lehet®vé. A GPU (a videokártya processzora) feldolgozási erejének exponenciális növekedése, illetve a CPU ere-jének, tárolási kapacitásának és memória sebességének és méretének jelent®s emelkedése rendkívül kiszélesítette a CGI lehet®ségeit.
1995 után további animációs cégek jöttek létre: Blue Sky Studios (Fox), a DNA Productions (Paramount és WB), az Onation Studios (Paramount Pictu-res), a Sony Pictures Animation (Columbia PictuPictu-res), a Vanguard Animation (Walt Disney Pictures, LGF és 20th Century Fox), a Big Idea Productions (UP és FHE Pictures) és a Pacic Data Images (DreamWorks), illetve már létez®k (Walt Disney Pictures) tértek át a hagyományos animációról a CGI-re.
1995 és 2005 között a széles körben vetített lmek effektusköltségeinek átlaga 5 millió dollárról 40 millió dollárra ugrott.
2005-ben a lmek több mint felénél alkalmaztak jelent®sebb effektusokat.
2001-ben a Square Pictures megalkotta a Final Fantasy A harc szelleme cím¶ CGI-lmet, amely magas szinten részletezett és fotorealisztikus grakát vonultatott fel.
Gollam karaktere A Gy¶r¶k Ura-trilógiából teljes egészében CGI-vel készült, motion capture segítségével.
2.54. ábra. Final Fantasy; Gollam
A számítógépes játékok és 3D-s videokártyák fejleszt®i igyekeznek elérni ugyanazt a vizuális min®séget személyi számítógépeken valós id®ben (real-time), melyet a CGI-lmeknél és animációnál használnak.
A real-time renderelési min®ség villámgyorsaságú el®rehaladásával a m¶-vészek elkezdték alkalmazni a videojátékok szoftverének magját alkotó game engine-t a nem interaktív lmek renderelésére. Ezen m¶vészeti formát machi-nimának nevezik.
Az animációs lm nem csupán állóképek sorozata. Nagy szerepe van a rit-musnak, plánozásnak, világításnak, vágásnak stb. Karaktereink gondos mozga-tásával gondolatokat, érzelmeket vagy történeteket mesélhetünk el. Az animáció nem más, mint a mozgás m¶vészete.
Éppen ezért az animáció pár alapelvre épül [97]:
Nyúlás és összenyomódás: Gyorsulás és lassulás esetén a k®kemény teste-ken kívül minden tárgy és él®lény megváltoztatja alakját. Ennek alapvet® oka a szerkezetek rugalmassága. Ezt a jelenséget kicsit felnagyítva jól tudjuk érzé-keltetni a sebességet, gyorsulást és a testek merevségét. Alapszabály, hogy a megnyúló vagy összenyomódó tárgyak térfogata nem változik.
Id®zítés: A mozgások id®zítésével, egy-egy mozgás sebességével nagyon sok mindent el tudunk mondani: érzelmeket, hangulatokat vagy éppen zikai súlyt, méretet. Egy er®s óriás vagy egy szomorú ember mozgását teljesen más ritmusúra hangoljuk, mint egy apró vidám törpéét.
El®készítés: Nagyon fontos, hogy a néz® ne maradjon le semmir®l. Ha túl gyorsan történik valamilyen cselekmény kell® el®készítés nélkül , az egész mozgás hatás nélkül marad. Egy mozgás el®készítésének lényege, hogy a néz®
gyelmét valamilyen mozdulattal odairányítsuk. Gondoljunk arra, hogy a való-ságban is minden pofon el®tt lendületet vesz a kéz! Hasonlóképpen egy animált autó vagy gura is mindig nekiveselkedik a gyors mozgásnak.
Levezetés: A mozgások soha nem állnak hirtelen csak úgy le. Az autó a fé-kezésnél megbillen, a labdát dobó kéz továbblendül stb. A mozgások levezetése gyakran a következ® mozdulat el®készítése.
Beállítások: Mindig cél, hogy a néz® észrevegye azt, amit üzenni szeretnénk.
Ha túl sok dolog elvonja a gyelmet, vagy éppen nem oda gyel a közönség, mint ahova mi szeretnénk, a lm mindenképpen veszít az erejéb®l. Úgy kell a fényeket, a kompozíciót és a mozgásokat megszerkeszteni, hogy mindig a középpontban legyen az, amit mutatni szeretnénk.
Eltúlzás: A hagyományos kézi animációban szinte kivétel nélkül minden esetben minden el van túlozva. A szomorú gura nagyon szomorú, a gyors autó nagyon gyors és a gonosz nagyon gonosz. Ez a megközelítés sokkal érthet®bbé teszi az animációt, és az ábrázolás esetleges hiányosságait b®ven kompenzál-hatja. Gondoljunk a Final Fantasy cím¶ 3D animációs lm csúfos bukására.
Mivel a lm alkotói mindent valószer¶re próbáltak csinálni és nem éltek a rajzlmes túlzásokkal , a szerepl®k jelleme, érzelmi világa meglehet®sen er®tlen lett.
Ha az animációs technikákat próbálnánk meg összefoglalni, a következ®
válfajokat különíthetjük el [97]:
kulcs-animáció,
programvezérelt animáció, összetett animáció, motion capture.
A leggyakrabban használt technika a keyframe (kulcs) animáció. Ekkor a mozgást kulcspozíciók megadásával határozzuk meg. Ezen pozíciók között a program számítja ki, vagyis interpolálja az animációs görbét. A felhasználónak mindig lehet®sége van az interpoláció paraméterezésére, így lehet®ségünk van a mozgás ritmusát, dinamikáját és puhaságát befolyásolni.
A programvezérelt animáció már bonyolultabb technika. Bizonyos moz-gásokat, színváltozásokat, esetleg alakváltozásokat célszer¶ automatikusan ve-zérelni. Ezt általában az általunk használt program script-nyelvével tehetjük meg. Hosszabb-rövidebb programokat írhatunk, melyek képesek objektumok között komplex összefüggéseket létesíteni. Nem okoz például komoly gondot egy kézzel animált autó kerekeinek automatikus forgatása, csupán koordináta-geometriai ismereteinket kell felfrissíteni.