newdigstud.gjgt.sk · web viewv 3d grafike môžu byť 2 druhy zdrojov svetla – svet a lampa....
Post on 25-Feb-2020
4 Views
Preview:
TRANSCRIPT
Gymnázium Jozefa Gregora Tajovského Banská Bystrica
3D počítačová grafika
Od polygónu až k animovanej scéne
Michaela Nemcová
III. F
2016/2017
ObsahÚVOD.............................................................................................................................3
1 TEORETICKÉ VÝCHODISKÁ..........................................................................................4
1.1 ÚVOD DO 3D POČÍTAČOVEJ GRAFIKY.................................................................................41.2 VYUŽITIE 3D POČÍTAČOVEJ GRAFIKY...................................................................................41.3 SOFTVÉR PRE 3D POČÍTAČOVÚ GRAFIKU.............................................................................61.4 BLENDER......................................................................................................................71.5 PROCES TVORBY............................................................................................................ 81.6 VYMEDZENIE ZÁKLADNÝCH POJMOV V 3D POČÍTAČOVEJ GRAFIKE............................................91.7 3D MODEL................................................................................................................. 111.8 FORMÁTY 3D GRAFICKÝCH SÚBOROV...............................................................................11
2 PRAKTICKÁ ČASŤ......................................................................................................13
2.1 PROCES TVORBY A 3D POTRUBIE....................................................................................132.1.1 Modelovanie.....................................................................................................132.1.2 Textúrovanie a tónovanie.................................................................................152.1.3 Časticové systémy.............................................................................................162.1.4 Rigging..............................................................................................................162.1.5 Shape keys a animácia.......................................................................................172.1.6 Osvetlenie scény.................................................................................................182.1.7 Prevedenie (rendering).......................................................................................19
2.2 ZHRNUTIE PRAKTICKEJ ČASTI PRÁCE...................................................................................20
ZÁVER...........................................................................................................................21
RESUMÉ........................................................................................................................22
ZOZNAM POUŽITEJ LITERATÚRY...................................................................................23
2
Úvod
3D počítačová grafika sa v dnešnej dobe teší rastúcej popularite. Stále častejšie sa
s ňou stretávame v každodennom živote, napr. vo filmoch, rozprávkach, počítačových
hrách, ale aj v rôznych reklamách, či už v televízii, alebo v časopisoch. Ale čo vlastne
znamená pojem 3D počítačová grafika?
Cieľom mojej práce je zvýšiť povedomie mladých ľudí o tejto téme a predstaviť im
možnosti a proces tvorby pomocou 3D počítačovej grafiky. Tiež by som rada predstavila
bezplatné možnosti pre ľudí, ktorých by daná téma zaujala.
Tému mojej práce som si vybrala preto, lebo sa o ňu už pár rokov zaujímam, chcela
som sa o nej dozvedieť viac a predstaviť ju mojim mladším spolužiakom. V mojich
začiatkoch som sa totiž stretla s problémom, kedy som sa chcela venovať 3D grafike, ale
nepoznala som žiadny (bezplatný) softvér pre jej tvorbu. Aj to je dôvod, prečo som si
zvolila túto tému, ukázať možnosti ľuďom, ktorí by sa chceli venovať 3D počítačovej
grafike a odrádzajú ich ceny profesionálnych softvérov.
V teoretickej časti mojej práce rozoberiem pojem 3D počítačová grafika, jej
využitie, softvéry pre jej tvorbu a proces tvorby a vymedzím niekoľko základných pojmov,
ktoré sa v 3D grafike najčastejšie používajú.
V praktickej časti mojej práce rozoberiem proces vytvárania animovanej scény na
názornej ukážke a príkladoch, pričom výsledkom tejto práce bude animovaný model.
3
1 Teoretické východiská
1.1 Úvod do 3D počítačovej grafiky
3D počítačová grafika, inak aj trojrozmerná grafika, je pomenovanie pre určitú
oblasť počítačovej grafiky1, ktorá pracuje s trojrozmernými objektmi. Tieto objekty sú
trojdimenzionálnou reprezentáciou určitých geometrických údajov, najčastejšie zadaných
v karteziánskom súradnicovom systéme2. Môžeme ich potom využiť pre rôzne kalkulácie,
vytváranie animácií alebo vytváranie 2D obrázkov. V dnešnej dobe sú značne rozšírené aj
3D tlačiarne. Tie poskytujú možnosť previesť vytvorené objekty z 3D prostredia v počítači
do reálneho hmotného 3D modelu, čiže existencia 3D modelov už nie je obmedzená iba
na určitú formu dát na počítači.
3D počítačová grafika je matematická (resp. aj geometrická) simulácia. Sú v nej
simulované tvary 3D objektov, vzhľad ich povrchov (ako reagujú na svetlo, ich lesk, farbu,
nerovnosti,...), svetelné zdroje a kamera s perspektívou.
Verne L. Hudson spolu s Williamom Fetterom ako prví použili termín „počítačová
grafika“ v roku 1961. Softvér 3D počítačovej grafiky pre počítače v domácnostiach sa
najprv začal objavovať v neskorých 70-tych rokoch 20. storočia. Najskorší známy príklad je
3D Art Graphics, súbor 3D grafických efektov vydaných v 1978 pre Apple II.
1.2 Využitie 3D počítačovej grafiky
3D počítačová grafika sa dá aplikovať v rôznych smeroch:
„estetický
interakcia medzi človekom a počítačom
vizualizácia“3
Estetickú funkciu môže 3D počítačová grafika spĺňať najmä v umení a v zábave, t. j.
filmy, počítačové hry, rozprávky a pod. Umožňuje mnohé nové formy umeleckého
vyjadrenia, tvorcovia si môžu vybudovať pomocou 3D grafiky vlastný svet podľa svojich
1 odbor informatiky využívajúci počítače na syntetické vytváranie umelých obrazov, na úpravu fotografií, skenovanie,...2 vysvetlené v podkapitole 1.6 Vymedzenie základných pojmov v 3D počítačovej grafike3 Watson, G.: Application of Computer Graphics. 2002. [cit. 2017-05-08]. Dostupné na internete: http://www.inf.ed.ac.uk/teaching/courses/cl1/slides/14_out.pdf
4
predstáv, vznikajú nové umelecké smery a štýly. Taktiež umožňuje stvárnenie určitých
postáv, ktoré v reálnom svete normálne neexistujú, a zakomponovať ich do inak hraného
filmu.
Pomocou 3D počítačovej grafiky sa rozširujú možnosti pre interakciu medzi človekom
a počítačom. Návrhy budov, zariadení, súčiastok a pod. sa postupne presúvajú z nákresov
na výkresoch do počítačového prostredia. Tým sa zvyšuje efektivita a presnosť práce
a návrhu. Takýto proces návrhu súčiastok alebo tvorby konštrukčnej dokumentácie
pomocou počítača sa nazýva „Computer-aided design“, skratka CAD (v preklade
počítačom podporovaný návrh).
3D počítačová grafika so sebou priniesla možnosť veľkého pokroku pre vedu –
možnosť vizualizácie. Umožňuje konvertovať určité množstvo čísel do obrazov, animácií a
simulácií, ktoré môžu byť prevádzané aj v reálnom čase. Toto pomáha vedcom lepšie
porozumieť rozsiahlym množstvám dát a aj abstraktným konceptom a nápadom.
Vizualizácia prináša schopnosť pracovať a prehliadať dáta v 3D. Pomáha riešiť problémy
medicínske, napr. potreba porozumenia 3D štruktúry vnútri pacienta, ďalej vedecké, napr.
tvorba mnohodimenzionálnych modelov a ich následné skúmanie, tiež aj
environmentálne, napr. zber, porovnávanie a vyhodnocovanie dát o Zemi (NASA),
a mnohé ďalšie.
V dnešnej dobe nachádza uplatnenie v stále viac priemyselných a vedeckých
odvetviach. Okrem filmového a herného priemyslu sa uplatňuje aj v dizajne. Pri
inžinierskom dizajne sa pomocou špeciálneho softvéru vytvárajú modely budov, lietadiel,
automobilov, počítačov a iných zariadení. „Je to interaktívny dizajn stavebných
komponentov pomocou numerických simulácií fyzických pracovných podmienok.“4
V architektonickom dizajne je vytvorená finálna verzia požadovaného vzhľadu
konštrukcie, čím umožňuje študovať a prípadne meniť tento vzhľad pred samotným
budovaním. 3D počítačová grafika sa používa aj pri módnom dizajne, kde umožňuje
otestovať správanie látky a vytvára možnosť pre internetové e-shopy ponúknuť svojim
zákazníkom virtuálne „skúšobné kabínky“. V medicíne sa používa na vytvorenie detailných
modelov orgánov z viacerých kusov obrazu z magnetickej rezonancie alebo CT, a tiež aj na
tréning a vzdelávanie budúcich doktorov a diagnózu a následné určenie liečby pacienta.
4 Qin, H.: Introduction to CG Techniques and Applications. In: www3.cs.stonybrook.edu. 2005. [cit. 2017-05-17]. Dostupné na internete: www3.cs.stonybrook.edu/~qin/courses/geometry/computer-graphics-overview.pdf
5
Vo vedných odvetviach sa používa najmä vizualizácia, a to pri rôznych pokusoch
a simuláciách, ako napr. trojdimenzionálne vyobrazenie pomocou elektrónových
mikroskopov, simulácia magnetického poľa, simulácia dynamiky tekutín a mnohé iné. 3D
počítačová grafika sa využíva aj vo virtuálnej realite (VR), ktorá môže slúžiť hernému
priemyslu, virtuálnym prehliadkam historických pamiatok a exponátov v múzeách a tiež aj
v rôznych simulátoroch na vzdelávanie pilotov, astronautov, námorníkov, chirurgov a i.
1.3 Softvér pre 3D počítačovú grafiku
Softvér pre 3D počítačovú grafiku je program alebo súbor programov, používaných
na vytvorenie 3D počítačovo generovaných zobrazení („computer-generated imagery –
CGI) pomocou 3D modelovania a prevedenia alebo na vytvorenie 3D modelov pre
analytické, vedecké a priemyselné účely. Programov pre 3D počítačovú grafiku existuje
veľa a každý sa líši vybavením, funkciami, ovládaním, kvalitou výsledku a prípadne aj
špecializáciou. Programy existujú platené aj neplatené, pri platených sa ceny pohybujú od
desiatok až po tisícky eur. V tejto podkapitole by som rada predstavila niektoré z nich.
3D Studio Max (Autodesk) je najrozvinutejší a najčastejšie používaný program
v hernom priemysle. Je používaný niekoľkými profesionálnymi štúdiami. Má veľkú škálu
funkcií a vybavenia. Je to tiež aj najdrahší softvér.
Maya (Autodesk) je najčastejšie používaný program vo filmovom priemysle. Je
známy ako ťažko naučiteľný, ale je to aj najvýkonnejší 3D softvér. Niektoré štúdiá si pri
používaní Maya nahrádzajú niektoré časti vlastnými programovými modulmi kvôli ich
špecializácii, alebo aby zvýšili efektivitu svojej práce.
ZBrush (Pixologic) je program, ktorý sa namiesto toho, aby sa snažil naplniť všetky
potreby umelca, zameriava hlavne na modelovanie a textúrovanie extrémne detailných
3D umeleckých diel vo vysokej kvalite. „Ponúka možnosť pracovať s „digitálnou hlinou“,
ktorej tvarovaním vznikajú detailné skulptúry.“5
Blender (The Blender Foundation) má, ako vyššie spomenuté programy, funkcie
pre modelovanie, textúrovanie, animovanie, simulovanie fyziky a časticové efekty, avšak
s tým rozdielom, že je úplne zadarmo. Je vhodný pre začiatočníkov a je to aj program,
5 Fronczak, T.: 10 Types of 3D Graphics Software Worth Knowing, In: animationcareerreview.com. 2011. [cit. 2017-05-09]. Dostupné na internete: animationcareerreview.com/articles/10-types-3d-graphics-software-worth-knowing
6
ktorý sama používam, a preto by som ho rada predstavila bližšie v samostatnej
podkapitole.
Uvádzam porovnanie programov 3DS Max, Maya a Blender. Vyššie spomínaný
ZBrush do porovnania nezahŕňam, pretože sa špecializuje výlučne na modelovanie
a textúrovanie, a teda neponúka také všeobecné funkcie ako ostatné spomenuté
programy.
Program Modelovanie 3D maľovanie
Animovanie Prevedenie Tvorba videohry
Vizuálne 3D efekty
Blender áno áno áno áno áno áno
Maya áno áno áno áno nie áno
3DS Max áno áno áno áno nie nie
Tabuľka č. 1: Porovnanie programov pre 3D počítačovú grafiku – Blender, Maya, 3DS Max
1.4 Blender
Blender je, ako som už spomínala, softvér pre 3D počítačovú grafiku. Je to
bezplatný a open-source6 softvér, ktorý úplne podporuje celé „produkčné 3D potrubie“ –
proces tvorby animácie od začiatku po výsledok – modelovanie, rigging7, animovanie,
simulácia, prevedenie a kombinovanie („compositing“). Ponúka tiež možnosť „motion
capture“ (animovanie modelu podľa natočeného videa), „match moving“ (vkladanie 3D
modelov do natočeného videa), tvorbu videohier a strihanie a úpravu videí a ich zvuku. Je
vhodný ako učebný program pre začiatočníkov v 3D počítačovej grafike, avšak naučenie sa
základných funkcií a ovládania zaberie istý čas, pretože je veľmi komplexný a obsahuje
mnoho nástrojov a klávesových skratiek.
Blender založila korporácia The Blender Foundation. „The Blender Foundation je
dánska verejnoprospešná korporácia, založená pre podporu a výpomoc pri projektoch na
blender.org.“8 Je aktívne vyvíjaný stovkami ľudí po celom svete. Podieľajú sa na vytváraní
a rozširovaní úplne bezplatného 3D softvéru, zahŕňajúceho celé potrubie 3D tvorby. Ako
6 tzn. má otvorený zdrojový kód, ktorý je prístupný verejnosti a je možné ho študovať, meniť a zlepšovať 7 tzn. niečo ako vloženie a napojenie kostry, ktorá je animovaná, na vytvorený model8 Blender Foundation. In:blender.org. 2013. [cit. 2017-05-17]. Dostupné na internete: www.blender.org/foundation/
7
komunitou vedený projekt autorizuje verejnosť, aby robila malé či veľké zmeny v kóde,
ktoré potom vedú k novým funkciám a lepšej použiteľnosti. Týmto Blender získava
funkcie, ktoré vznikajú na základe praktických skúseností a potrieb ľudí, pracujúcich
v tomto obore.
Blender má komplexnú výbavu praktických nástrojov pre celý proces tvorby
animácií, ktorým sa však budem venovať v praktickej časti. Tam predstavím celý proces
tvorby podrobne a názorne.
1.5 Proces tvorby
Proces tvorby 3D počítačovej grafiky sa delí na 3 základné fázy:
3D modelovanie
rozloženie scény a animácia
prevedenie
„Fáza modelovania by sa dala popísať ako vytváranie a tvarovanie individuálnych
objektov, ktoré budú neskôr použité v scéne.“9 Proces modelovania môže tiež zahŕňať
úpravu povrchu objektu alebo vlastností materiálu, z ktorého je objekt vytvorený,
pridávanie textúr a iné procedúry. Tomuto všetkému sa budem venovať v praktickej časti
pri vytváraní modelu.
Usporiadanie scény predstavuje naaranžovanie virtuálnych objektov, svetiel
a kamier na scéne. Táto bude neskôr v procese použitá na vytvorenie nehybného obrázku
alebo animácie. Pri tomto procese je dôležité dbať na estetiku a vizuálnu kvalitu
výsledného obrazu, resp. animácie. Správnym osvetlením a rozložením objektov na scéne
sa u pozorovateľa obrazu/animácie dajú vyvolať určité pocity, ktoré sú žiadané pri
hodnotení daného obrazu/animácie a prispievajú k celkovej kvalite práce.
Prevedenie, resp. „rendering“, je konečný proces vytvárania konkrétneho 2D
obrázku alebo animácie z pripravenej scény. V reálnom živote sa to dá prirovnať
ku vytvoreniu fotografie alebo filmovaniu scény, ktorá je dopredu pripravená.
Prevedenie v interaktívnych médiách, ako sú napr. simulácie a počítačové hry, je
kalkulované a ukázané v reálnom čase rýchlosťou od 20 do 120 obrazov za sekundu.
9 Hees. H.: 3D Computer Graphics. In: library.aceondo.net. 2006. [cit. 2017-05-17]. Dost. n. int.: library.aceondo.net/ebooks/Fine_Arts/3D.Computer.Graphics.pdf
8
Animácie pre neinteraktívne médiá, ako napr. videá a filmy, sú prevádzané oveľa
pomalšie. Pomalšie prevedenie umožňuje dosiahnuť vyššiu kvalitu obrazu. Čas prevedenia
sa môže pohybovať od niekoľkých sekúnd po niekoľko hodín v závislosti od toho, ako
veľmi komplexná daná scéna je.
Animácie sú prevádzané do individuálnych obrazov, ktoré sú potom zobrazené
v sekvencii pri vysokých rýchlostiach, typicky 24, 25 alebo 30 obrazov za sekundu, aby sa
dosiahla ilúzia pohybu.
1.6 Vymedzenie základných pojmov v 3D počítačovej grafike
V tejto podkapitole by som rada vymedzila niekoľko základných pojmov, ktoré
budem používať v praktickej časti. Niektoré pojmy však budem používať v anglickom
jazyku, pretože v slovenskom jazyku som nenašla vhodný ekvivalent, ktorý by vystihoval
podstatu pojmu.
Proces tvorby 3D počítačovej grafiky najčastejšie prebieha v Euklidovskom
priestore, ktorého matematická reprezentácia je karteziánsky súradnicový systém. Každý
bod v tomto systéme je charakterizovaný 3 súradnicami – X, Y a Z, ktoré definujú pozíciu
bodu v závislosti od hlavných osí x, y a z. Bod [0;0;0] reprezentuje globálny stred 3D sveta.
Normálový vektor je vektor, ktorý je kolmý na určitý matematický objekt, ako
napr. priamku alebo rovinu. V 3D počítačovej grafike môže byť použitý na definovanie
smeru orientácie polygónu (plochy).
Vertex, alebo aj vrchol, je trojdimenzionálny bod. Je najmenším komponentom
v 3D objekte. Napriek tomu, že je to len bod, existuje preň normálový vektor, ktorý sa dá
určiť v závislosti od normálového vektoru plochy, ktorej je daný vertex súčasťou, resp.
ktorú daný vertex určuje. Normálový vektor vertexu bude vždy rovnaký ako normálový
vektor danej plochy.
Hrana (angl. edge) je rovná čiara, resp. úsečka, ktorá spája dva body (vertexy) na
3D modeli. Pri organických modeloch, napr. ľudí a zvierat, je výhodné vytvárať pomocou
hrán tzv. „hranové slučky“ (angl. edge loops). „Hranová slučka“ by sa dala opísať ako
spojenie n-hrán, kde n je počet hrán a kde ich spojením vznikne uzavretá krivka na
9
povrchu modelu. Sú esenciálne pri animovaní tým, že umožňujú správnu deformáciu
povrchu, napr. okolo očí a úst.
Polygón je mnohouholník, z ktorého je vytvorená každá štruktúra objektu v 3D
priestore. Je definovaný súradnicami vertexov. Polygóny sa môžu odlišovať počtom
vertexov, avšak najčastejšie sú trojuholníky (angl. tris) a štvoruholníky (angl. quads) pre
ich praktickosť. Čím viac má objekt polygónov, tým je objekt presnejší a kvalita detailov je
vyššia. S rastom počtu polygónov však rastú aj nároky na výkon grafickej karty. Polygóny
majú zväčša iba jednu stranu, a teda aj jeden normálový vektor, ktorý určuje smer
orientácie plochy polygónu.
Primitive (primitívny objekt) je „základný geometrický útvar používaný pri
modelovaní.“10 Bežné primitívne objekty sú napr. kocka, kváder, guľa, valec, kužeľ, torus.
Niektoré modelovacie programy ich majú vopred preddefinované a poskytujú možnosť
priamo vložiť tieto hotové objekty do scény bez potreby ich modelovania.
Geometria objektu znamená priestorové rozloženie bodov a polygónov objektu.
Matematicky vyjadruje vlastnosti, rozmery a vzťahy bodov, čiar, uhlov, povrchov.
Pri modelovaní sa používajú 2 druhy pohľadu, resp. videnia – perspektívne a
ortogonálne. Perspektívne videnie vytvára dojem trojdimenzionálnej formy a vzdialenosti
na dvojdimenzionálnom povrchu. Perspektíva poskytuje 3D prehľad scény, ktorý
naznačuje hĺbku. Vytvára dojem, že objekty sa zbiehajú do určitého úbežného bodu a že
objekty bližšie ku kamere sa zdajú byť väčšie ako tie umiestnené ďalej. Ortogonálne
videnie je opak perspektívy. Je to videnie, ktoré ukazuje projekciu objektu paralelnú
k jednej z hlavných osí – x, y, z. Eliminuje efekt vzdialenosti od kamery, čo napomáha pri
lokalizácii jednotlivých bodov v 3D priestore, najmä pri zložitých modeloch.
Pixel je najmenší element počítačového zobrazenia. Názov je odvodený od
slovného spojenia „PIcture ELement“. „Počítačový obraz je zvyčajne reprezentovaný ako
diskrétna mriežka pixelov. Ich počet určuje rozlíšenie obrazu.“11 Každý pixel obrazu je
charakterizovaný číslami, ktoré reprezentujú jeho intenzitu. Pre čiernobiely obraz je to
jedno celé číslo medzi 0 (čierna) a 255 (biela). Pre farebný obraz (pri 8-bitovej farebnej
10 NewTek: Glossary of 3D Terms. In: www.timaxmedia.com. 2006. [cit. 2017-05-17]. Dostupné na internete: http://www.timaxmedia.com/html/help/Glossary_of_3D_Terms_.htm11 Durand, F.: A Short Introduction to Computer Graphics. In: people.csail.mit.edu. 2001. [cit. 2017-05-11]. Dostupné na internete: people.csail.mit.edu/fredo/Depiction/1_Introduction/reviewGraphics.pdf
10
hĺbke) je charakterizovaný trojicou čísel, z ktorých každé reprezentuje intenzitu z jednej
z troch farieb – červená (255, 0, 0), zelená (0, 255, 0) a modrá (0, 0, 255).
1.7 3D model
„3D model je 3D polygonálna reprezentácia objektu, obyčajne zobrazená pomocou
počítača alebo iného zariadenia.“12 Tento objekt môže byť z reálneho sveta alebo fiktívny
a môže mať variabilnú veľkosť. Všetko, čo existuje vo fyzickom svete, môže byť stvárnené
aj ako 3D model.
3D modely sú najčastejšie vytvárané pomocou softvérov pre 3D počítačovú
grafiku, ktoré umožňujú žiadaný objekt vymodelovať priamo v 3D priestore. Avšak modely
sa dajú vytvárať aj pomocou algoritmov (procedurálne modelovanie) alebo skenovaním.
Skoro všetky 3D modely sa dajú rozdeliť do dvoch kategórií - tuhé
a obalové/okrajové. Tuhé modely definujú objem objektu, ktorý reprezentujú. Sú zväčša
používané pre inžinierstvo a medicínske simulácie. Obalové/okrajové modely
reprezentujú povrch, teda obal objektu, nie jeho objem. Skoro všetky modely používané
vo filmoch a hrách sú tohto typu. Tuhé aj obalové modelovanie dokáže vytvoriť funkčne
identické objekty. Hlavné rozdiely medzi nimi sú najmä odlišnosti v procese ich tvorby
a úpravy a konvencie v používaní v rôznych odvetviach. Aby mali obalové modely zmysel
ako reálne objekty, musia byť jednoliate (bez dier v obale). Najčastejšou reprezentáciou
toho sú polygonálne siete (angl. mesh).
1.8 Formáty 3D grafických súborov
3D počítačová grafika sa využíva v mnohých rôznych odvetviach a pomocou
rôznych softvérov. To zapríčiňuje, že existuje aj mnoho formátov 3D grafických súborov,
niektoré charakteristické pre istý softvér, niektoré zas pre odvetvie, v ktorom sa 3D
grafika používa. Tu uvediem iba niekoľko z nich.
3DS je formát používaný programom 3ds Max od spoločnosti Autodesk. Stal sa
z neho priemyselný štandard pre prenos modelov medzi 3D programami alebo na 12 Hees. H.: 3D Computer Graphics. In: library.aceondo.net. 2006. [cit. 2017-05-17]. Dost. n. int.: library.aceondo.net/ebooks/Fine_Arts/3D.Computer.Graphics.pdf
11
uchovávanie modelov pre 3D katalógy. Napriek jeho rozšírenosti má niekoľko nevýhod,
ako napr. podmienka, že objekt musí byť vytvorený z trojuholníkových polygónov
a obmedzený počet vertexov a polygónov na jeden objekt. Má príponu .3ds .
OBJ je formát definujúci geometriu vyvinutý spoločnosťou Wavefront
Technologies. Používajú ho viaceré 3D programy. Tento formát reprezentuje iba samotnú
geometriu objektu – pozíciu každého vertexu, normálové vektory vertexov, plochy
definujúce každý polygón ako množinu vertexov a textúrové vertexy. Má príponu .obj .
COLLADA (COLLAborative Design Activity) je „odovzdávací formát pre interaktívne
3D aplikácie.“13 Definuje otvorenú XML schému pre výmenu digitálnych aktív medzi
rôznymi grafickými softvérmi, ktoré inak môžu ukladať svoje aktíva v nekompatibilných
formátoch. Dokumenty COLLADA sú XML súbory. Má príponu .dae .
FBX (FilmBoX) formát poskytuje možnosť dotykovej prevádzkyschopnosti medzi
aplikáciami na tvorbu digitálneho obsahu. Umožňuje uložiť údaje o modeli, jeho pohybe,
a tiež aj zvuk a video. Bol vyvinutý spoločnosťou Kaydara a odkúpený spoločnosťou
Autodesk. Má príponu .fbx .
PLY (Polygon File Format, Stanford Triangle Format) je formát počítačových
súborov, ktorý bol navrhnutý, aby uchovával trojdimenzionálne údaje z 3D skenerov.
Podporuje relatívne jednoduchý popis objektu vo forme zoznamu plochých polygónov.
Môže uložiť rôzne vlastnosti, napr. farba a priehľadnosť, normálové vektory povrchu,
súradnice textúr a pod. Umožňuje definovať vlastnosti zvlášť pre prednú stranu a zvlášť
pre zadnú stranu polygónu. Má príponu .ply .
AutoCAD DXF (Drawing Exchange Format) je formát CAD súboru vyvinutý
spoločnosťou Autodesk, aby umožňoval dotykovú prevádzkyschopnosť údajov medzi
AutoCAD a inými programami. Postupom času bol však v mnohých programoch
nahradený formátom DWG. Má príponu .dxf .
DWG (drawing) je binárny formát požívaný na ukladanie dvoj-
a trojdimenzionálnych dizajnov. Je typický pre viacero CAD softvérov. Má príponu .dwg.
13 3D file format. In: edutechwiki.unige.ch. 2017. [cit. 2017-05-17]. Dostup. n. int.: edutechwiki.unige.ch/3D_file_format
12
2 Praktická časť
2.1 Proces tvorby a 3D potrubie
Pre svoju prácu som si ako praktickú časť zvolila vytvorenie 3D modelu vlka a jeho
animáciu. Tento proces tvorby (alebo aj 3D potrubie) sa skladá z týchto častí –
predstavovanie, modelovanie, textúrovanie a tónovanie, časticové systémy, rigging, shape
keys a animácia, osvetlenie scény, prevedenie. Postupne rozoberiem každú z nich, pričom
ich názorne vysvetlím na príkladoch. Pri práci budem používať program Blender.
Fáza predstavovanie nastáva ešte pred prácou v 3D softvéri. Umelec by mal vedieť,
čo a ako presne chce robiť. Pre mňa táto fáza predstavovala zbieranie materiálu
(obrázkov) a štúdiu anatómie vlkov, ich stavbu tela, farby srsti, správanie, mimiku
a pohyb. Po dostatočnom skúmaní som mohla začať na modeli pracovať.
2.1.1 Modelovanie
Ešte predtým, ako začnem vytvárať model, si do pozadia vložím referenčné
obrázky. Tie napomáhajú dosiahnuť presnosť a realistickosť modelu. Do pozadia si vložím
jeden s pohľadom na vlka spredu a tiež jeden s pohľadom na vlka zboku. Nastavím si, aby
sa mi zobrazovali len pri daných pohľadoch (obrázok spredu sa mi bude zobrazovať iba pri
pohľade spredu a obrázok zboku iba pri pohľade zboku). Tieto obrázky sú viditeľné iba pri
ortogonálnom videní.
Modelovať môžem začať rôzne, podľa toho, čo modelujem. Môžem využiť niektoré
zo základných preddefinovaných telies (primitive), alebo začať iba s jedným polygónom.
Ja som sa rozhodla začať s jedným polygónom, ktorý má 4 vrcholy. Je to síce časovo
náročnejšie, no ponúka mi to väčšiu kontrolu počas modelovania.
Použijem tiež zrkadlový modifikátor. Je to funkcia Blendra, ktorá zrkadlí model
podľa jednej z hlavných osí. Pre mňa je teraz najvýhodnejšie zrkadliť podľa osi x.
Zrkadlenie mi zaručí, že model bude na oboch stranách rovnaký iba s tým, že upravujem
len jednu jeho stranu. Tiež som použila modifikátor pre povrchové delenie, ktorý simuluje
znásobenie počtu polygónov na povrchu objektu. Tým umožňuje detailnejšie úpravy
objektu.
13
Možnosťou pri modelovaní je aj rozdelenie si modelovacieho okna na dve. Tým
môžem model zároveň upravovať spredu aj zboku. V oboch oknách si videnie prepnem na
ortogonálne.
Podľa obrázka v pohľade spredu začnem postupne zo základného polygónu, ktorý
som si umiestnila medzi nos a hornú peru vlka na obrázku, vysúvať ďalšie polygóny. Pri ich
vysúvaní ich tvarujem tak, aby vytvorili okolo úst slučku. Z tej vysuniem ďalšiu a ešte
ďalšiu. Následne pokryjem týmto spôsobom nos a chrbát nosu. Odtiaľ môžem vytvoriť
slučky, podobné ako sú okolo úst, okolo očí. Pri očiach treba dbať na to, že model bude
animovaný a bude žmurkať, preto slučiek musí byť dostatok, aby vytvorili viečka a časť
vnútra očnej jamky.
Následne vyplním prázdne miesta medzi okom a ústami. Keďže som zatiaľ
vytvárala len 2D model v pohľade spredu, prejdem do videnia zboku a začnem podľa
referenčného obrázka postupne presúvať body po osi y na požadovanú pozíciu. Týmto sa
z 2D stane 3D model.
Rovnakým postupom – vysúvaním polygónov – pokračujem na celej hlave a potom
aj na tele. Posúvaním jednotlivých plôch, hrán a vertexov môžem upraviť a vylepšiť môj
model. Takýto typ modelovania sa nazýva polygonálne modelovanie. Takýmto spôsobom
som vytvorila telo vlka. Zuby, oči a pazúry som vytvorila ako samostatné objekty
a umiestnila ich na patričnú pozíciu. Potom som im priradila ako rodičovský objekt model
tela vlka, čo znamená, že budú kopírovať jeho pozíciu a rotáciu.
Obrázok č. 1: Model vlka
2.1.2 Textúrovanie a tónovanie
14
„Textúrovanie sa dá prirovnať ku maľovaniu modelu reálnou farbou.“14 Je to
nanášanie farby určitou formou na povrch modelu. Tomuto procesu predchádza UV
mapovanie, ktoré pripraví model na nanášanie textúr, resp. umožní použitie obrázkov ako
textúr. Pri UV mapovaní sa vytvorí sieť povrchu objektu.
Pri tónovaní sa objektu priradí materiál, z ktorého je daný objekt vyrobený. Tiež sa
tým určí, ako sa má správať svetlo, ktoré dopadá na povrch objektu.
Tónovanie som využila pri zuboch, pazúroch a vonkajšej vrstve očí. Zubom som
priradila lesklý materiál v kombinácii s difúznym, pričom difúzny materiál (v Blendri) dáva
objektu farbu. Pazúrom som priradila tiež lesklý aj difúzny materiál, ale pridala som k nim
aj podpovrchový rozptyl, angl. subsurface scattering, ktorý umožňuje svetlu prechádzať
do objektu a v ňom sa rozptyľovať, príp. prechádzať cez objekt. To je napríklad, keď si
dáme ruku proti zdroju svetla a cez časti ruky, kde je koža tenká, nám svetlo presvitá a javí
sa červenkasté. Pre vonkajšiu vrstvu očí som priradila materiál s vlastnosťami skla.
Textúrovanie som použila na ostávajúcu časť modelu, teda na telo vlka. Použila
som UV mapovanie a vytvorila som si sieť povrchu objektu. Každá textúra je v základe 2D
obrázok premietnutý na 3D model. Najprv si teda musím vytvoriť základný PNG obrázok,
na ktorý budem nanášať farby. Na ten sa mi premietne UV mapa objektu. Pomocou nej
môžem farby nanášať aj na 3D model, aj na 2D obrázok. Takto postupne namaľujem
celého vlka.
Pri vnútornej časti očí som tiež
využila textúrovanie, ale tam som použila
obrázok oka špeciálne vytvorený pre tieto
účely a pomocou UV mapovania som ho
premietla na vnútornú časť očí.
2.1.3 Časticové systémy
14 FlippedNormals: Introduction to 3D. In: flippednormals.com. 2017. [cit. 2017-05-17]. Dostupné na internete: https://flippednormals.com/introduction-3d/
15
Obrázok č. 2: Textúry vlka
Časticový systém vytvára na povrchu objektu veľké množstvo malých častíc. Každá
častica môže byť svetelný bod alebo objekt (mesh). Existuje aj vlasový časticový systém,
pomocou ktorého sa dajú vytvárať napr. vlasy, srsť, tráva, bodliaky. Pomocou takéhoto
systému vytvorím pre svoj model srsť.
Pri vlasovom časticovom systéme môže mať každá častica – vlákno tzv. „deti“
(angl. children). Tieto deti sú častice nachádzajúce sa okolo rodičovského vlákna
a kopírujúce jeho smer. Zvyšujú celkovú hustotu časticového systému, pričom nemajú
také nároky na výkon ako rodičovské častice.
Vytvorím 3 časticové systémy – telo, papuľa a fúzy. Časticový systém pre telo bude
mať 8000 častíc, z toho každá bude mať 200 detí. Napriek tomu, že časticový systém
preberá farbu objektu, z ktorého je emitovaný, vytvorím pre telo a papuľu špeciálny
materiál. Chlpy budú pri korienkoch tmavšie, uprostred nezmenené a na koncoch bledšie.
Tiež im dodám lesk a priehľadnosť, ktorá bude od korienkov ku koncom rásť. Týmto
vytvorím realistický dojem srsti. Časticový systém pre
papuľu bude mať 400 častíc, z toho každá bude mať
200 detí. Materiál mu priradím rovnaký, aký je
priradený pre telo. Pre fúzy vytvorím materiál čiernej
farby s leskom.
Na modeli je po vytvorení časticových
systémov 1 680 014 častíc (rodičovské č. dokopy
s deťmi). Pomocou nástrojov na úpravu častíc ich
„sčešem“ tak, aby vyzerali realisticky - ako srsť vlka.
Taktiež nastavím ich dĺžku, ktorú môžem týmito
nástrojmi podľa potreby meniť.
2.1.4 Rigging
Rigging je proces, pri ktorom je vnútri modelu vybudovaná kostra (angl. armature),
ktorá je následne napojená na model a umožňuje mu pohyb. Pomocou tejto kostry sa
zadefinuje, akým spôsobom sa jednotlivé kosti budú pohybovať. Kostra sa skladá
z jednotlivých kostí. Pre dosiahnutie realistického dojmu sú tieto kosti umiestnené ako
16
Obrázok č. 3: Finálna verzia srsti (časticových systémov)
reálne kosti. Môžu byť spojené priamo alebo byť priradené ako deti k rodičovským
kostiam, napr. pre kosti nohy je rodičovská kosť panva.
Kostru pre vlka vybudujem tak, aby napodobovala reálnu kostru vlka. Jej stavbu je
možné vidieť na obrázku č. 4. Po dokončení kostry ju priradím ako rodičovský objekt
k modelu vlka. Týmto dosiahnem, že model sa bude hýbať podľa pohybu jednotlivých
kostí. Potom nasleduje „weight
painting“. „S touto technikou doslova
maľujete veľkosť vplyvu kostí priamo na
povrch objektu (meshu).“15 Tým kostiam
určím, akú časť modelu budú
ovplyvňovať a ňou hýbať. Keď už mám
kostru vybudovanú a model pohyblivý,
môžem sa posunúť na ďalší krok – shape
keys a animácia.
2.1.5 Shape keys a animácia
Shape keys by sa dali preložiť aj ako „tvarovacie prepínače“. Sú to prepínače, ktoré
ukladajú údaje o určitom vytvorenom tvare objektu a umožňujú prepínať medzi týmto
a pôvodným tvarom. S ich využitím je možné priamo animovať tvar objektu.
Ja som pri svojej práci využila shape keys pre rôzne grimasy a mimiku vlka.
Presnejšie som vytvorila nahnevanú grimasu, grimasu v pokoji, šťastnú grimasu
a žmurkanie. Tieto shape keys sa neskôr dajú využiť pri animácii, kedy pridávajú modelu
realistickosť a živosť.
Teraz môžem vlka animovať. Vytvorím preňho jednu cyklickú animáciu – státie
v pokoji a jednu normálnu animáciu – prechod z pokojovej polohy do nahnevanej. Pri
animácii sa používajú tzv. kľúčové obrazy, alebo keyframes. Tie zadávajú, v akej pozícii
majú byť jednotlivé kosti v danom čase a obraze. Cyklická animácia znamená, že
keyframes sa po určitom počte obrazov opakujú. Rýchlosť, ktorú som si pre svoje
animácie zvolila, je 24 obrazov za sekundu (24 fps). Proces animovania vysvetlím iba na
prvej animácii – státie v pokoji. 15 Flavell, L.: Beginning Blender. New York: Springer Science+Business Media, LLC., 2010. str. 178.
17
Obrázok č. 4: Kostra (armature)
Animácia vlka v pokoji bude mať 32 obrazov. Pomocou kostí hrudi a pliec
zanimujem vlka, aby dýchal. To dosiahnem tak, že na prvý a posledný obraz vložím
keyframe s pôvodnou polohou kostí. Následne uprostred (16. obraz) zmením polohu
niektorých kostí a znovu pre ne vložím keyframe. To spôsobí, že od prvého obrazu po
prostredný sa bude poloha kostí, a teda aj modelu, meniť z pôvodnej na zmenenú. Od
prostredného obrazu sa bude následne poloha kostí meniť zo zmenenej na pôvodnú.
Potom sa tento cyklus môže opakovať. Do tejto animácie vložím aj efekt žmurkania. Pre
shape key žmurkania pridám keyframe na 17. obraz. Potom určím, kedy začne žmurkať,
čiže priradím „nulovú hodnotu“ tohto shape key pre 15. a 19. obraz.
Pomocou kostry modelu sa nemusí výhradne animovať. Vytvorím si aj niekoľko
statických obrázkov, kde umiestnim
vlka do určitej pozície a potom
nechám vytvoriť žiadaný obrázok. Na
týchto statických obrázkoch
vysvetlím dôležitosť správneho
osvetlenia scény.
2.1.6 Osvetlenie scény
Pri fáze osvetlenia scény sa určí nálada výsledného obrázku. Táto fáza je veľmi
dôležitá pre dosiahnutie žiadaného efektu na pozorovateľa. Rôzne druhy osvetlenia sa
používajú pre vyvolanie rôznych nálad a pocitov. Osvetlenie sa môže rôzniť počtom
a intenzitou svetelných zdrojov, ich farbou a umiestnením.
V 3D grafike môžu byť 2 druhy zdrojov svetla – svet a lampa. Svet je prostredie,
v ktorom je objekt vyvíjaný, a tvorí základné pozadie pre všetky obrázky a animácie
(pokiaľ nie je zakrytý určitými objektmi). Je možné nastaviť preň materiál, textúru
a intenzitu svetla. Lampa je zdroj svetla, ktorý sa do scény môže vložiť v ľubovoľnom
počte. Lámp môže byť viac typov, v Blendri sú to – bodová, slnko, bodový reflektor,
polguľovitá, plošná. Každý typ sa využíva v závislosti od scény a žiadaného dojmu.
18
Obrázok č. 5: Shape keys (napravo – bez použitia, naľavo – s použitím)
Pre ukážku dôležitosti správneho osvetlenia scény použijem 2 statické obrázky,
ktoré som si vytvorila už vopred. Je na nich zobrazená rovnaká scéna, líšia sa však
osvetlením.
Na prvom obrázku (obr. č. 6) som použila bledé pozadie, čiže z okolia modelu naň
dopadalo viac svetla bledej farby. Tiež som umiestnila jednu plošnú lampu nad model
a jednu bodovú lampu za model a aj medzi kameru a model. Výsledný obrázok je vcelku
nezaujímavý, sivý a nevystihuje emóciu, ktorú zobrazuje model.
Na druhom obrázku (obr. č. 7) som použila čierne pozadie. Jednu jemne svietiacu
plošnú lampu som umiestnila nad model, ďalšiu medzi model a kameru. Potom som
umiestnila jednu silnú bodovú na ľavú stranu od modelu a ďalšiu, slabšiu, som umiestnila
pred oko. Výsledný obrázok je podľa môjho názoru oveľa zaujímavejší, dramatickejší
a lepšie vystihuje zobrazovanú emóciu.
Po správnom osvetlení scény už môžem prejsť k záverečnému kroku – prevedenie
do 2D.
2.1.7 Prevedenie (rendering)
V tejto fáze sa celá 3D scéna prepočíta do 2D obrázku alebo animácie. Prevediem
takto niekoľko statických obrázkov a animáciu. Princíp prevedenia vysvetlím na statickom
obrázku, keďže animácia je v podstate sled statických obrázkov.
Pred tým, ako obrázok prevediem, nastavím si určité vlastnosti prevodu. Tie sú
napr. rozlíšenie obrázku, formát obrázku, sampling. Sampling (vzorkovanie) je proces,
19
Obrázok č. 6 a 7: Porovnanie vplyvu osvetlenia na celkový dojem scény
ktorý zobrazí spojitú funkciu do diskrétnej, čiže spojitý obraz zobrazí do diskrétnych bodov
– pixelov. Platí úmera, že čím vyšší je zadaný počet vzoriek (samples), tým kvalitnejší je
obraz. Pre svoj obrázok som použila rozlíšenie 1920x1080 px. Formát som nastavila PNG
a počet vzoriek na 750.
Čas prevedenia závisí od daných nastavení a od výkonnosti počítača. Tento čas
najviac zvyšuje použitie materiálov, cez ktoré svetlo prechádza, alebo sa od nich odráža.
Pri mojom obrázku bol tento čas približne 2 a pol hodiny.
Pokiaľ ide o animáciu, tak čas jej prevedenia závisí aj od počtu obrazov. Každý
obraz v animácii je prevedený ako samostatný obrázok. Tie sú následne spojené do sledu
obrazov, ktoré sú prehrané vo veľkej rýchlosti za sebou. Z technických a časových
dôvodov som pre svoje animácie vlka použila nižšie, menej kvalitné nastavenia –
rozlíšenie 720x486 px a počet vzoriek 400. Animácia vlka v pokoji mala 32 obrazov a pri
rýchlosti 24 fps mala 1,25 sekundy. Čas jej prevodu bol približne 4 hodiny. Animácia
zmeny polohy mala 36 obrazov a mala 1,5 sekundy. Čas jej prevodu bol približne 6 hodín.
Toto je záverečný krok procesu.
2.2 Zhrnutie praktickej časti práce
Praktická časť mojej práce bolo vytvoriť funkčný, plne animovaný model vlka.
Tento proces som od začiatku po koniec vysvetlila, názorne ukázala a podložila obrázkami.
Svoje výsledné obrázky a animáciu by som mohla ešte ďalej upravovať, to už však
nespadá do 3D počítačovej grafiky. Vytvorený model môžem ďalej využívať na vytváranie
rôznych obrázkov a animácií.
20
Záver
V mojej práci som sa zaoberala témou 3D počítačová grafika. Táto oblasť
počítačovej grafiky je v súčasnej dobe veľmi rozšírená, stretávame sa s ňou v bežnom
živote stále častejšie, či už vo filmoch a počítačových hrách, alebo reklamách v televízii
a časopisoch. Nachádza tiež uplatnenie v rôznych vedeckých oblastiach, ako sú napr.
medicína alebo inžinierstvo.
V teoretickej časti mojej práce som priblížila pojem 3D počítačová grafika a jej
využitie. Taktiež som predstavila viaceré softvéry pre 3D grafiku a formáty súborov,
s ktorými pracujú. Stručne som charakterizovala proces tvorby 3D grafiky a určité
najčastejšie používané pojmy.
Výsledkom praktickej časti mojej práce je animovaný model vlka. Názorne som
pritom predstavila proces vzniku animovanej scény na konkrétnych príkladoch a pomocou
obrázkov zachytených v procese tvorby. Tento model môžem využiť ďalej na vytváranie
rôznych, jednoduchých aj zložitých animácií.
Cieľom tejto práce bolo predstaviť a priblížiť tému 3D počítačovej grafiky mladým
ľuďom a ukázať im jej možnosti a rôzne využitie. Taktiež som sa pri vypracovávaní tejto
práce dozvedela mnoho informácií, ktoré môžem ďalej využiť a rozvíjať. Verím, že moja
práca napomôže ľuďom, ktorí túto tému už poznajú, a že zaujme a obohatí tých, pre
ktorých je táto téma nová a neznáma.
21
Resumé
Moja práca sa zaoberá témou 3D počítačová grafika. Je rozdelená na 2 časti.
V prvej - teoretickej - časti som stručne predstavila pojem 3D počítačová grafika a jej
využitie v bežnom živote a vede. Ďalej som popísala viaceré softvéry na vývoj 3D grafiky
a bližšie som charakterizovala jeden z nich - Blender. Následne som vysvetlila niekoľko
základných pojmov bežne používaných v tejto oblasti. Tiež som uviedla aj viacero
formátov súborov, s ktorými 3D grafika pracuje. Stručne som predstavila proces tvorby
a bližšie charakterizovala pojem 3D model. V druhej - praktickej - časti som predstavila
celý proces tvorby animovanej scény od začiatku po koniec. Tento proces som názorne
vysvetlila na procese tvorby vlastného modelu a podložila obrázkami, zachytenými počas
tohto procesu. Výsledkom tejto časti bol animovaný model vlka.
Summary
My work is about the topic of 3D computer graphics. It is divided into 2 parts. In
the first - theoretical - one I briefly introduced the term 3D computer graphics and also its
use in common life and science. Next I described multiple softwares for 3D graphics and
characterized one of them - Blender - more closely. After that I explained some basic
terms, which are normally used in this area. I also adduced multiple file formats that 3D
computer graphics works with. I briefly introduced the creation process and defined the
term 3D model more closely. In the second - practical - part I described the whole process
of creating an animated scene from the beginning to the end. I visually demonstrated this
process on the creation process of my own model and to it I appended images, captured
during this process. The result of this part of my work is an animated model of a wolf.
22
Zoznam použitej literatúry
Knihy:
FLAVELL, L.: Beginning Blender. New York: Springer Science+Business Media, LLC., 2010.
ISBN 978-1-4302-3127-1
Internet:
Application of Computer Graphics. In: www.edvec.ed.ac.uk [online]. 2002. [cit. 2017-05-
08]. Dostupné na internete: www.inf.ed.ac.uk/teaching/courses/cl1/slides/14_out.pdf
10 Types of 3D Graphics Software Worth Knowing, In:
http://www.animationcareerreview.com. 2011. [cit. 2017-05-09]. Dostupné na internete:
http://www.animationcareerreview.com/articles/10-types-3d-graphics-software-worth-
knowing
Blender Foundation. In: www.blender.org. 2013. [cit. 2017-05-17]. Dostupné na
internete: https://www.blender.org/foundation/
Glossary of 3D Terms. In: http://www.timaxmedia.com. 2006. [cit. 2017-05-17]. Dostupné
na internete: http://www.timaxmedia.com/html/help/Glossary_of_3D_Terms_.htm
Introduction to 3D. In: flippednormals.com. 2017. [cit. 2017-05-17]. Dostupné na
internete: https://flippednormals.com/introduction-3d/
A Short Introduction to Computer Graphics. In: http://people.csail.mit.edu. 2001. [cit.
2017-05-11]. Dostupné na internete:
people.csail.mit.edu/fredo/Depiction/1_Introduction/reviewGraphics.pdf
3D file format. In: edutechwiki.unige.ch. 2017. [cit. 2017-05-17]. Dostupné na internete:
edutechwiki.unige.ch/en/3D_file_format
3D Computer Graphics. In: library.aceondo.net. 2006. [cit. 2017-05-17]. Dostupné na
internete: library.aceondo.net/ebooks/Fine_Arts/3D.Computer.Graphics.pdf
23
top related