UNIVERZA V MARIBORU
FAKULTETA ZA ELEKTROTEHNIKO,
RAČUNALNIŠTVO IN INFORMATIKO
Ana Ambrož
TEKSTURIRANJE NIZKOMNOGOKOTNIŠKIH MODELOV V BODYPAINT 3D
Diplomsko delo
Maribor, avgust 2018
TEKSTURIRANJE NIZKOMNOGOKOTNIŠKIH MODELOV V
BODYPAINT 3D
Diplomsko delo
Študentka: Ana Ambrož
Študijski program: Univerzitetni študijski program
Medijske komunikacije
Smer: Vizualna komunikacija
Mentorica: izr. prof. dr. Krista Rizman Žalik
I
Teksturiranje nizkomnogokotniških modelov v BodyPaint 3D
Ključne besede: BodyPaint 3D, teksture, 3D modeliranje
UDK: 004.925(043.2)
Povzetek
Danes je zelo pomembno, da znamo učinkovito teksturirati 3D modele. Čeprav smo pogosto
omejeni s številom mnogokotnikov, pa želimo 3D modele kakovostnega videza in z
navideznimi detajli. Doseganje tega ni preprosto in zahteva smisel za umetniško
oblikovanje. BodyPaint 3D omogoča teksturiranje modelov s pomočjo projekcijskega
slikanja .
Cilj diplomske naloge je ustvariti čimbolj kakovostne teksture, ki bodo nizkomnogokotniškim
3D modelom dodale navidezne podrobnosti, ki so sicer zmodelirani samo na
visokomnogokotniških modelih. Želimo dokazati, da se zgolj s teksturo na
nizkomnogokotniškem modelu da ustvariti učinek visokomnogokotniškega modela.
II
Texturing of low polygon models in BodyPaint 3D
Key words: BodyPaint 3D, textures, 3D modeling
UDK: 004.925(043.2)
Abstract
Nowadays, it is very important to know how to effectively texture 3D models. Although we
are often limited with the number of polygons, we want 3D models to look high quality and
have details. That process is not simple and requires artistic ability.
BodyPaint 3D allows texturing with projection painting.
The objective of the diploma is to create high quality textures that will make low polygon
3D models appear as though they have the modeled details of the high polygon 3D models.
We want to prove that texture can make even a low polygon model appear high polygon.
III
KAZALO VSEBINE
1. UVOD .............................................................................................................................. 1
2. MODELIRANJE IN LOD .................................................................................................... 2
3. TEKSTURE ....................................................................................................................... 4
4. BODYPAINT 3D ............................................................................................................... 7
4.1 Orodja ..................................................................................................................... 7
4.2 Projekcijsko slikanje .............................................................................................. 10
5. USTVARJANJE SCEN ...................................................................................................... 14
5.1 Nizkomnogokotniška scena .................................................................................. 15
5.2 Visokomnogokotniška scena ................................................................................. 19
6. PRIMERJAVA SCEN IN NJUNE UPORABE ...................................................................... 23
7. SKLEP ............................................................................................................................ 29
8. VIRI IN LITERATURA ...................................................................................................... 30
IV
KAZALO SLIK
SLIKA 2.1 KOCKA Z OZNAČENIMI VOZLIŠČI, ROBOVI IN TRIKOTNIKI ..................................... 2
SLIKA 2.2 PRIMER ŠTIRIH STOPENJ LOD [5] ........................................................................... 3
SLIKA 3.1 PRIMER IZBIR ZA TEKSTURE V PROGRAMU CINEMA 4D ....................................... 4
SLIKA 3.2 PRIMER »NORMAL MAP« TEKSTURE [8] ............................................................... 5
SLIKA 3.3 SPLETNA STRAN ZA GENERIRANJE TEKSTUR [10] .................................................. 6
SLIKA 4.1 ORODJE »PAINT SETUP WIZARD« .......................................................................... 7
SLIKA 4.2 ORODJE ZA 3D SLIKANJE ........................................................................................ 8
SLIKA 4.3 ORODJA ZA SLIKANJE IN ATRIBUTI ČOPIČA ........................................................... 9
SLIKA 4.4 NASTAVITVE SLOJEV V BP 3D (LEVO) IN PS (DESNO) ........................................... 10
SLIKA 4.5 OBRNJENA NORMALA, ORODJE »ALIGN NORMALS« (1) TER UPODOBITEV (2) .. 11
SLIKA 4.6 KORAKI USTVARJANJA UV MAPE ......................................................................... 12
SLIKA 4.7 ORODJA ZA PROJEKCIJSKO SLIKANJE ................................................................... 13
SLIKA 4.8 PRIMERJAVA »3D PAINTING« (1) IN »PROJECTION PAINTING« (2) .................... 13
SLIKA 5.1 NASTAVITVE UPODABLJANJA MODELOV IN SCEN .............................................. 14
SLIKA 5.2 N-KOTNIK (1) IN NEPRAVILNO ODVITA TEKSTURA TAKŠNE POVRŠINE (2) ......... 15
SLIKA 5.3 KONČNI MODEL HLODA S TEKSTURO .................................................................. 16
SLIKA 5.4 PRIMERJAVA OBEH RAZLIČIC PRAPROTI .............................................................. 16
SLIKA 5.5 VISOKO- IN NIZKOMNOGOKOTNIŠKI KAMEN S TEKSTURO ................................. 17
SLIKA 5.6 SMREKA S TEKSTURO IN VEJE .............................................................................. 18
SLIKA 5.7 SCENA S TRAVNIKOM IN HRIBČKOM, NASTAVITVE »CONSTANT SHADING« ..... 19
SLIKA 5.8 MODEL BREZ TEKSTURE IN UPODOBLJEN S TEKSTURO. ..................................... 20
SLIKA 5.9 VISOKOMNOGOKOTNIŠKI HLOD S TEKSTURO ..................................................... 21
SLIKA 5.10 PRIKAZ TRAVE V VISOKOMNOGOKOTNIŠKI SCENI ............................................ 22
SLIKA 5.11 LISTNATO DREVO IN UPODOBITEV .................................................................... 22
SLIKA 6.1 KONČNA NIZKOMNOGOKOTNIŠKA SCENA .......................................................... 24
SLIKA 6.2 KONČNA VISOKOMNOGOKOTNIŠKA SCENA ........................................................ 25
SLIKA 6.3 ŠAHOVNICA OB SKRITJU OZADJA TEKSTURE ....................................................... 26
SLIKA 6.4 OOBLETS (LEVO) IN LEAGUE OF LEGENDS (DESNO). [3][12] ............................... 27
V
SLIKA 6.5 THE LAST BASTION, 2016. [9] .............................................................................. 28
SLIKA 6.6 DEVIL MAY CRY 5 (2019) S HIPERREALISTIČNIMI, SKENIRANIMI MODELI [2] ..... 28
VI
SEZNAM UPORABLJENIH KRATIC
2D dvodimenzionalno
3D trodimenzionalno
4D štiridimenzionalno
LOD raven podrobnosti (angl. level of detail)
CPE centralna procesna enota oz. procesor (angl. CPU)
GPE grafična procesna enota (angl. GPU)
BP 3D BodyPaint 3D
PS Photoshop
1
1. UVOD
Dandanes je na trgu vedno več manj zmogljivih prenosnih naprav kot so tablični računalniki
in pametni telefoni, za katere pa se neprestano razvijajo aplikacije in igre s 3D modeli. Za
hitro delovanje teh naprav in nemoteno delovanje iger in aplikacij smo zelo omejeni s
številom mnogokotnikov 3D modelov, kljub temu pa želimo, da naši 3D modeli izgledajo
kvalitetno in lepo. Zato je vedno bolj pomembno, da znamo ustvariti in teksturirati
kakovostne nizkomnogokotniške 3D modele. Za oblikovanje takšnih tekstur potrebujemo
znanje s področja 3D modeliranja, teksturiranja in pa nekaj umetniške žilice.
Namen diplomskega dela je ustvariti čimbolj kakovostne teksture, ki bodo
nizkomnogokotniškim 3D modelom dodale navidezne detajle, ki pa sicer niso zmodelirani
in so prisotni samo na visokomnogokotniški modelih. Pokazati želimo, da lahko
nizkomnogokotniški 3D model izgleda natančno oblikovan in detajliran s primerno
teksturo. Naš namen je tudi pokazati uporabo BodyPaint 3D prostoročnega risanja
neposredno na 3D model v prostoru.
Najprej bomo predstavili 3D modeliranje in nivoje podrobnosti modelov, nato bomo opisali
teksture in njihove lastnosti, si ogledali orodja v programu BodyPaint 3D ter pokazali
postopek odvijanja modelov in slikanja tekstur na modele. Opisali bomo tudi postopek
ustvarjanja dveh scen; nizkomnogokotniške in visokomnogokotniške, ter primerjali obe
sceni in njuno uporabo v praksi.
Predpostavljamo, da bo modeliranje nizkomnogokotniških modelov zahtevalo bistveno
manj časa kot modeliranje visokomnogokotniških modelov, ampak bo samo teksturiranje
trajalo dlje pri nizkomnogokotniških modelih kot pri visokomnogokotniških modelih.
Predpostavljamo tudi, da se bo potrdila ugotovitev, da se nizkomnogokotniški modeli
uporabljajo večinoma v video igrah, visokomnogokotniški modeli pa v animiranih filmih.
2
2. MODELIRANJE IN LOD
3D modeliranje (trodimenzionalno modeliranje) je postopek računalniškega ustvarjanja
površin in objektov, tako živih kot neživih, v treh dimenzijah s pomočjo računalniških
programov. Nastale 3D modele lahko tudi upodabljamo in jih tako prikažemo v
dvodimenzionalni obliki. [1]
Slika 2.1 Kocka z označenimi vozlišči, robovi in trikotniki
3D geometrijo sestavljajo vozlišča, robovi, trikotniki in mnogokotniki (slika 2.1). Vsakega
izmed teh elementov lahko manipuliramo za ustvarjanje površine 3D modela. Vozlišča
sestavljajo osnovno strukturo 3D objektov in so posamezne točke, ki vsebujejo informacije
o poziciji v 3D prostoru. Robovi so povezave med dvema vozliščema. Trikotniki definirajo
obliko vseh 3D modelov in nastanejo, ko imajo tri vozlišča med seboj povezane robove.
Mnogokotnik ali poligon pravimo površinam med štirimi vozlišči ali robovi. Če ima
mnogokotnik več kot štiri robove, mu pravimo n-kotnik. Mnogokotniki so sestavljeni iz
trikotnikov. [4]
3
Ko ustvarjamo 3D modele, jih ustvarjamo iz trikotnikov ali mnogokotnikov. Modele lahko
ustvarjamo tudi iz kombinacije trikotnikov in mnogokotnikov, vendar so v programih za 3D
modeliranje mnogokotniki vedno razdeljeni na trikotnike, četudi jih med modeliranjem ne
vidimo vedno. Natančneje je, če kompleksnost 3D modelov merimo v trikotnikih kot v
mnogokotnikih. [4]
LOD (angl. Level of Detail) določa raven podrobnosti 3D modela. LOD različica 3D modela
je model, ki ima manjše število mnogokotnikov in je manj kompleksna kot originalen model.
Dandanes se uporablja v skoraj vsaki video igri. Pogosto ima LOD model tudi manjšo
teksturo in enostavnejši senčilnik (angl. shader)1. LOD model po navadi ustvarimo iz
visokomnogokotniškega modela. Pri ustvarjanju LOD modela moramo biti pozorni, da kljub
zmanjševanju števila mnogokotnikov ohranimo zunanjo obliko 3D modela in silhueta
modela ostane čimbolj podobna prvotni (slika 2.2). [4]
Slika 2.2 Primer štirih stopenj LOD [5]
LOD so v video igrah pomembni za zagotavljanje optimalnega števila sličic za sekundo.
Objekti dlje od igralca oziroma kamere imajo manjše število mnogokotnikov. Bližje kot smo
objektu, več bo imel mnogokotnikov. Modeli z oddaljenostjo oziroma približevanjem vidno
preskočijo v kakovosti. Kakovosten LOD ima gladek in čim manj opazen prehod med modeli.
[4]
1 Senčilnik je skupek navodil za GPE, ki programu pove, kako naj upodablja površine modela. Vsebuje podatke o vseh teksturah, ki smo jih dodali 3D objektu in mu daje končni videz materiala. [4]
4
3. TEKSTURE
Teksture ali teksturne mape so dvodimenzionalne slike, ki so projicirane na modele ali ovite
okoli 3D modelov. [4]
Namen tekstur je, da 3D objektu določimo osnovno barvo, površino ali teksturo in vizualno
prikažemo dodatne podrobnosti, ki niso modelirane z mnogokotniki. Teksture lahko
izrežemo iz fotografij, jih ročno naslikamo na teksturno mapo ali neposredno na 3D model,
lahko pa tehnike tudi kombiniramo. [4]
Slika 3.1 Primer izbir za teksture v programu Cinema 4D
Teksturam lahko dodajamo in spreminjamo lastnosti. Lastnosti se med programi za 3D
modeliranje in animacijo razlikujejo (slika 3.1), najpogostejši tipi lastnosti tekstur pa se
pogostokrat ponavljajo in so si med programi podobni. Cinema 4D ima naslednje izbire.
5
Izbira »color« določa osnovno barvo, ki jo določimo 3D modelu. »Diffuse map« modelu
definira osnovno barvno površino in podrobnosti. Dobra osnovna tekstura je osvetljena
samo z ambientno osvetlitvijo, kot da je iz vseh strani enakomerno osvetljena. Po pravem
tudi nima senc in osvetlitve. [4]
Izbira »bump« (grbina) omogoča nastavitev teksture z izboklinami (angl. bump map), ki je
črno-bela slika, ki 3D programu pove, kateri deli teksture so osvetljeni in kateri zasenčeni.
Teksturiranje z izboklinami je v veliki večini zamenjala naprednejša tehnika prikazovanja
podrobnosti na modelih, teksture z normalami. [4]
Izbira »normal« omogoča nastavitve RGB teksture z normalami, ki objektu daje izgled
navideznih podrobnosti s pomočjo barvnih kanalov, ki vsebujejo podatke o smereh normal
v 3D prostoru. Teksture z normalami lahko ustvarimo iz črno-belih tekstur z izboklinami ali
pa jih generiramo iz 3D modelov (slika 3.2). [4]
Slika 3.2 Primer »normal map« teksture [8]
Za prikazovanje svetlečih površin uporabljamo izbiro »reflectance«, ki s pomočjo črno-bele
slike modelu določi odsevnost. Beli deli teksture bodo odsevni, črni pa ne. [4]
Izbira »alpha« omogoči alfa preslikavo teksture, ki je prav tako črno-bela tekstura, ki pa
kontrolira prosojnost površine. Črne slikovne točke definirajo prosojne dele površine, bele
pa vidne. Alfa preslikava se najpogosteje uporablja za teksturiranje listja, oblačil, stekla,
delcev ipd. [4]
6
Teksture so lahko ponavljajoče (angl. tiles), unikatne (angl. unique) ali kombinacija obeh.
[4]
Teksture lahko ustvarimo s pomočjo različnih spletnih strani ali računalniških programov,
ki iz osnovne teksture ustvarijo vse različne lastnosti tekstur. Omogočajo tudi, da sami
urejamo parametre ustvarjenih tekstur preden jih izvozimo (slika 3.3).
Slika 3.3 Spletna stran za generiranje tekstur [10]
Od posameznega stila modeliranja in teksturiranja ter namena uporabe modela je tudi
odvisno, katere lastnosti bomo teksturam dodali. Pri teksturiranju nizkomnogokotniških
modelov je pogosto dovolj, če modelu dodamo ali narišemo samo osnovno teksturo in ji
dodamo alfa teksturo za prosojnost.
Pri 3D modelih abstraktnega stika ali fantazijskih tem, ki so zelo pogoste pri mobilnih
aplikacijah, animacijah in video igrah, tekstur v številnih primerih ne moremo najti in vzeti
iz realnega življenja. Takšne teksture si moramo biti pripravljeni znati predstavljani in
ustvariti sami. To največkrat storimo s prostoročnim risanjem tekstur ali pa s pomočjo foto-
manipulacije.
7
4. BODYPAINT 3D
MAXON BodyPaint 3D je orodje znotraj programa Cinema 4D, ki se uporablja za ustvarjanje
kakovostnih tekstur 3D modelov. Omogoča nam, da hitro in učinkovito slikamo podrobne
teksture na UV2 mapo ali pa neposredno na 3D objekte. [6]
BodyPaint 3D podpira tako veliko število standardnih grafičnih tablic kot tudi pritisk, nagib
in smer pisala grafičnih tablic. Do BodyPaint 3D dostopamo tako, da našo postavitev
spremenimo v pogled za 3D slikanje (BP - 3D Paint) ali v postavitev za UV urejanje (BP - UV
Edit). [7] Ko smo v orodju BodyPaint, se naša postavitev spremeni in na voljo so nam
različna orodja.
4.1 Orodja
Najpomembnejše za začetek teksturiranja je orodje »Paint Setup Wizard«, saj nam omogoči
ustvarjanje UV mape modela, da lahko pričnemo nanjo slikati našo teksturo (slika 4.1).
Slika 4.1 Orodje »Paint Setup Wizard«
Če želimo našemu liku ali objektu dodati teksturo, moramo izbrani 3D model prvo odviti
(angl. unwrap) s čim manj šivi in prelomi. Ročno odvijanje 3D modelov je lahko zelo
zahteven in dolgotrajen proces, ki pogosto pokaže dosti napak na našem 3D modelu. Proces
ni enostaven in se ga je treba dobro naučiti. Orodje »Paint Setup Wizard« nam to delo
olajša, saj nam izbrani 3D model samodejno odvije, kar se da uspešno.
2 Če ima določen objekt UV koordinate, je vsakemu mnogokotniku objekta določen UV mnogokotnik. UV mnogokotniki imajo svoje lastne koordinate na bitni sliki in skupaj tvorijo UV mrežo. [7]
8
Orodja za UV preslikavo nam pomagajo odviti 3D modele in jih pretvoriti v ploščate
teksture, kar nam omogoča, da v orodju BodyPaint slikamo naravnost na to teksturo, ki se
nato ovije nazaj na naš model. [13]
Slika 4.2 Orodje za 3D slikanje
Ko odvijemo model so nam na voljo tudi orodja za 3D slikanje. Ob kliku na »3D Painting
Mode« lahko izberemo orodja na desni, ki so namenjena različnim načinom 3D slikanja
(slika 4.2).
Na levi strani pogleda imamo podobna orodja kot jih navadno najdemo v programih za
digitalno risanje ali urejanje slik (čopič, radirka, napis, kapalka, čarobna palica za selekcijo
itd.). To so orodja za slikanje tekstur (slika 4.3).
Najpogosteje se za slikanje tekstur uporablja orodje čopič (angl. brush) in radirka (angl.
eraser). Ob kliku na čopič se odprejo atributi orodja, ki vsebujejo številne nastavitve za
čopič. Čopiču lahko spreminjamo velikost (angl. size), pritisk (angl. pressure), trdoto (angl.
hardness), razmik (angl. spacing), stisnjenost oblike čopiča (angl. squeeze) in rotacijo čopiča
glede na rotacijo tabličnega pisala (angl. rotation). Ob kliku na sliko trenutnega čopiča se
nam odpre seznam raznovrstnih čopičev, med katerimi lahko izbiramo. Na voljo je velika
izbira pogosto uporabnih čopičev za slikanje tekstur kot so umazanije, trava, packe, šivi in
podobne podrobnosti, ki jih morda potrebujemo na naši teksturi. Radirka ima enake izbire
kot čopič (slika 4.3).
9
Slika 4.3 Orodja za slikanje in atributi čopiča
Ko izberemo naš objekt in želimo pričeti slikati nanj, imamo na voljo podobne nastavitve za
izbiro ozadja teksture in dodajanja novih slojev (angl. layer) kot pri drugih programih za
slikanje (npr. Adobe Photoshop)(slika 4.4). Izbiramo med številnimi načini mešanja (angl.
blend modes), ki omogočajo določitev končne barve teksture. Izbrani način bo imel vpliv
na vse plasti pod njim. Posameznim slojem lahko tudi spreminjamo moč izbranega učinka
med 0% in 100% (slika 4.4).[7]
10
Slika 4.4 Nastavitve slojev v BP 3D (levo) in PS (desno)
4.2 Projekcijsko slikanje
Projekcijsko slikanje v orodju BodyPaint neposredno za 3D modele nam omogoča, da v
realnem času vidimo in preizkusimo, kako se tekstura prilagaja našemu objektu, kako se
različne teksturne mape odzivajo na svetlobne vire in kako se transparentne in bleščeče
teksture odzivajo na okolje. Prihranimo čas, ki bi ga sicer porabili za odvijanje tekstur in
prehajanjem med programi. [6]
11
Dobro je, da ob koncu modeliranja preverimo, ali so normale3 na ploskvah našega modela
poravnane. Da lahko normale ploskev vidimo, moramo pod nastavitvami pogleda obkljukati
polje normale mnogokotnikov – »Polygon Normals«. Če opazimo, da ima model nepravilno
usmerjene normale jih poravnamo tako, da označimo vse ploskve modela in izberemo
izbiro poravnavanje normale – »Align Normals« (slika 4.5).
Slika 4.5 Obrnjena normala, orodje »Align Normals« (1) ter upodobitev (2)
S tem se prepričamo, da bodo naše ploskve korektno usmerjene in ne bo prišlo do
problemov ali napačnega senčenja in osvetlitve modelov in naše teksture. Izognemo se tudi
problemov pri projekcijskem slikanju na morebitne površine z obrnjenimi normalami.
Ko model dokončamo in ga izberemo, orodja za projekcijsko slikanje še ne moremo takoj
uporabiti. Da lahko pričnemo z uporabo orodja, moramo izbranemu 3D modelu ali delu 3D
modela ustvariti UV mapo z orodjem »Paint Setup Wizard« (slika 4.1). Ob kliku nanj se nam
odpre pogovorno okno z nastavitvami (slika 4.6).
3 Normala je navidezni vektor, ki je usmerjen iz središča ploskve in pove katera stran ploskve je sprednja in katera zadnja. Cinema 4D ne zna vedno ločiti zunanje in notranje strani ploskve in lahko napačno usmeri normale ploskev. Problem pogosto nastane pri kroglah, ki imajo samo eno površino z zunanjo in notranjo stranjo. To lahko povzroči nepravilno projekcijo tekstur in glajenje robov (slika 4.5). [7][11]
12
Slika 4.6 Koraki ustvarjanja UV mape
Okno s prvim korakom je namenjeno izbiri modela ali delu modela, ki ga želimo odviti in
nanj slikati. Modele, ki jih ne želimo vključiti, odkljukamo. Drugi korak vsebuje nastavitve
za odvijanje 3D modelov. Za naše namene nastavitev ni potrebno spreminjati. Pri tretjem
koraku izberemo velikost ustvarjene teksture in lastnosti, ki jih želimo dodati kot
posamezne kanale. Za slikanje tekstur je zadostovala izbira barve in alfa mape za
prosojnost. Standardne velikosti tekstur so 512x512, 1024x1024 in 2048x2048 pikslov. Pri
vseh objektih (razen nizkomnogokotniškega travnika, ki smo mu določili maksimalno
velikost 4096x4096) smo določili maksimalno velikost 2048x2048, saj jo lahko še vedno
zmanjšamo, če je to potrebno.
Ko je model odvit imamo dva zavihka za pogled, »View« in »Texture«. Prvi zavihek pokaže
3D pogled modela, drugi pa samo UV mapo. S klikom na »3D Painting Mode« lahko
pričnemo slikati na modele.
Pri izbiri načina 3D slikanje – »3D Painting Mode« (Slika 4.2) lahko slikamo na modele,
vendar gre za slikanje na UV mapo modela, ki upošteva šive teksture in pri šivih ne omogoča
slikanja preko robov, saj se čopič premika po UV mapi in ne po površini modela (slika 4.8).
S klikom na gumb »Projection Painting« omogočimo projekcijsko slikanje neposredno na
model kot ga vidimo v 3D okolju (slika 4.7).
13
Slika 4.7 Orodja za projekcijsko slikanje
Slikanje je neprekinjeno in se nanaša na teksturo neposredno iz našega pogleda. Pozorni
moramo biti na naš pogled, predvsem pri izbočenih ali dvignjenih površinah, saj slikamo iz
našega pogleda v prostoru. Ko se obračamo po sceni lahko vidimo, da smo ponekod izpustili
dele scene, ki zaradi usmerjenosti pogleda niso bili vidni (slika 4.8).
Slika 4.8 Primerjava »3D Painting« (1) in »Projection Painting« (2)
Med spreminjanjem modela in orientiranjem po sceni ima naš 3D model slabšo kakovost
teksture, da ne preobremeni CPE. S klikom na gumb »UV Polygons« lahko vidimo, kako naš
model dejansko izgleda v sceni in kakšna bo tekstura, ko bo model upodobljen (slika 5.3).
14
5. USTVARJANJE SCEN
Za izdelavo scen smo potrebovali dostop do programov Cinema 4D in BodyPaint 3D, kar
nam je omogočila licence za akademske namene 2017/2018, do katere imamo dostop
študenti Fakultete za elektrotehniko, računalništvo in informatiko. Pri ustvarjanju tekstur
nizkomnogokotniških modelov smo potrebovali tudi grafično tablico (Wacom Intuos Pro),
saj smo teksture slikali prostoročno.
Pred začetkom izdelave 3D modelov smo izdelali osnovne koncepte posameznih objektov,
ki so v scenah. Preiskali smo različne modele v video igrah in fotografije na spletu ter izdelali
lasten koncept za sceno, ki smo jo kasneje pričeli modelirati in teksturirati. Izbrali smo
sceno, ki prikazuje delček narave. Obe sceni vsebujeta del zemlje, ki je na vrhu prekrit s
travo, spodaj pa vidimo zemljo. Obe sceni vsebujeta tudi eno iglasto drevo iz realnega sveta
in eno bolj abstraktno listnato drevo, travo, podrt hlod, kamenje ter praproti. To sceno smo
izbrali zato, ker je nekako univerzalna (narava) in se zelo pogosto uporablja v vseh vrstah
medijev (animirani filmi, mobilne igre, računalniške igre, aplikacije, visokokakovostne
upodobljene slike).
Za konsistentnost pri času upodabljanja smo uporabljali pri vseh 3D modelih in obeh
združenih scenah enako osvetlitev (samo nebo »Physical Sky«) in nastavitve upodabljanja,
in sicer naslednje (slika 5.1).
Slika 5.1 Nastavitve upodabljanja modelov in scen
15
5.1 Nizkomnogokotniška scena
Pri nizkomnogokotniški sceni smo začeli z modeliranjem hloda. Izbrali smo si osnovno
obliko cilinder in iz nje oblikovali osnovni hlod. Izbrani cilinder je imel osem rotacijskih
segmentov (angl. rotation segments) in pet višinskih segmentov (angl. height segments). Ti
parametri so zadostovali za nizkomnogokotniški model, ki ima prepoznavno obliko kljub
majhnemu številu mnogokotnikov.
Hlod smo nato pretvorili v obliko za urejanje, ga oblikovali v željeno obliko in mu dodali eno
vejo. Pred odvijanjem hloda smo vse mnogokotnike modela spremenili v trikotnike ali
štirikotnike, da smo se izognili problemu pri odvijanju modelov. Če so na našem modelu n-
kotniške ploskve, BodyPaint 3D ne prepozna oblike ploskve in je ne zna odviti (slika 5.2).
Slika 5.2 N-kotnik (1) in nepravilno odvita tekstura takšne površine (2)
Model smo odvili in nanj začeli slikati teksturo. Končni model hloda je imel 121
mnogokotnikov (slika 5.3). Modeliranje je trajalo 30 minut, slikanje teksture pa okoli 3 ure.
16
Slika 5.3 Končni model hloda s teksturo
Nizkomnogokotniški praprot smo oblikovali tako, da smo na iz ploskve oblikovani obliki iz
osmih mnogokotnikov, ročno naslikali teksturo praproti s pomočjo barvnega kanala in alfa
kanala za prosojnost (slika 5.4). Modeliranje je trajalo 10 minut, teksturiranje pa 4 ure.
Slika 5.4 Primerjava obeh različic praproti
Travo smo naredili na enak način s štirimi ploskvami. Teksture smo risali 2 uri (slika 6.1).
17
Kamen smo oblikovali iz pet-kotnega cilindra z dvema višinskima segmentoma. Model je bil
oblikovan iz 17-ih mnogokotnikov. Modeliranje je trajalo 2 minuti, teksturo pa smo risali
20 minut (slika 5.5).
Slika 5.5 Visoko- in nizkomnogokotniški kamen s teksturo
Iglastega drevesa smo se lotili tako, da smo iz pet-kotnega cilindra oblikovali steblo, veje z
iglicami pa smo narisali pa ploskev iz šestih mnogokotnikov. Ustvarjeno ročno naslikano
vejo smo nato klonirali in ji ustvarili 5 kopij, ki smo jih v krogu razvrstili okoli debla. To smo
ponovili petkrat vzdolž debla drevesa, vendar smo vsako skupino vej nekoliko spremenili v
velikosti, usmerjenosti in razporeditvi. Risanje teksture drevesa in vej je trajalo najdlje časa,
in sicer 4 ure, modeliranje pa le okoli 20 minut. To drevo nam je pri teksturiranju vzelo
največ časa v primerjavi z vsemi ostalimi teksturami, saj smo morali na en model narisati
veliko število vej in posameznih iglic, še več časa pa je vzelo risanje alfa mape, saj je bilo
potrebno podobno kot pri praproti obrisati vsako posamezno iglico. Skupaj je imela scena
139 mnogokotnikov (slika 5.6).
Listnato drevo smo naredili na enak način kot hlod, vendar je samo modeliranje drevesa
trajalo zaradi zavite oblike okoli eno uro časa (slika 6.1). Teksturo krošnje na krogli smo
risali okoli dve uri, debla pa eno uro. Kroglo smo nato pomnožili in ustvarili še ostali dve
krogli krošnje. Drevo je imelo na koncu 408 mnogokotnikov.
18
Slika 5.6 Smreka s teksturo in veje
Travnik, ki je osnova scene za ostale modele, je na koncu vzel največ časa. Veliko časa smo
porabili za ustvarjanje alfa kanala za travo, ki visi preko roba in ki visi iz hribčka. Zemljo smo
modelirali 10 minut, teksturirali pa okoli 30 minut. Ustvarjen model zemlje smo nato
podvojili in obrnili za 180°, da smo dobili hribček zemlje. Za teksturiranje trave smo porabili
4 ure, ustvarjena pa je bila iz osnovne oblike diska in nismo imeli dela z modeliranjem. V
sceni je bilo na koncu 412 mnogokotnikov travnika s hribčkom (slika 5.7). Po travniku smo
nato razporedili še posamezne trave, ki smo jih prej omenili in jih uporabili namesto
posameznih travic.
19
Slika 5.7 Scena s travnikom in hribčkom, nastavitve »Constant Shading«
5.2 Visokomnogokotniška scena
Pri ustvarjanju visokomnogokotniške scene smo za začetek preučili fotografije dreves, listja,
vejevja, trav in kamenja, da smo si lažje predstavljali, kako bo naša scena izgledala. Preučili
smo tudi 3D modele video iger in animacij z visokomnogokotniškimi modeli.
Začeli smo z modeliranjem visokomnogokotniške scene, saj je za ustvarjanje
nizkomnogokotniške scene lažje ustvariti prvo visokomnogokotniški, bolj realistični, 3D
model in imeti tako neposredno referenco za izgled nizkomnogokotniškega 3D modela.
Modeliranje iglastega drevesa smo se lotili v treh delih. Modeliranje smo ločili na deblo,
veje in vejice z iglicami.
Deblo smo ustvarili z oblikovanjem krivulje osnovne oblike debla (angl. spline) ter z
generatorjem »Sweep Object« ustvarili enostavno deblo. Za obliko debla smo potrebovali
20
tudi n-kotnik, v našem primeru deset-kotnik. Število kotov izbranega n-kotnika določa
število stranic, ki jih bo imelo naše deblo. Izbrali smo jih deset, saj je pri desetih segmentih
deblo izgledalo že gladko in na prvi pogled ni bilo opaznih ostrih robov. Generatorju smo
parameter »End Scale« določili na 9%, kar je deblo na koncu krivulje zožilo na 9% osnovne
velikosti.
Deblo smo podvojili in mu spremenili obliko krivulje ter iz njega oblikovali osnovno vejo, na
katero smo dodali manjše vejice na enak način. Ko smo zaključili z oblikovanjem veje, smo
jo z orodjem »Array Object« pomnožili na štiri dodatne kopije, to ponovili petkrat vzdolž
debla in jih razporedili po deblu. Vejam smo dodali lase z orodjem »Hair Tool« in lasem
dodali teksturo iglaste veje. Tako deblu kot vejam in iglicam smo dodali tudi preslikavo z
normalami in izboklinami za čimbolj kakovosten izgled teksture. Končni model je imel
12501 mnogokotnikov. Drevo smo modelirali približno eno uro. Teksturo smo naredili v
nekaj minutah, saj smo samo izbrali že obstoječo teksturo in jo prilagodili velikosti ploskve
lasa oz. debla in vej. Enako velja pri ostalih visokomnogokotniških modelih (slika 5.8).
Slika 5.8 Model brez teksture in upodobljen s teksturo.
21
Praprot smo oblikovali iz ploščate mreže iz 100 mnogokotnikov, na katero smo dodali
teksturo fotografije praproti (slika 5.4). Ploskev smo oblikovali okoli 15 minut.
Visokomnogokotniški hlod smo zmodelirali tako, da smo uporabili orodja za kiparjenje
(angl. sculpt). Nizkomnogokotniškemu modelu hloda smo povečali število mnogokotnikov
štirikrat in ga pričeli oblikovati s pomočjo orodij za kiparjenje. Model je imel na koncu 30080
mnogokotnikov (slika 5.2.2) in modeliranje je trajalo okoli eno uro.
Slika 5.9 Visokomnogokotniški hlod s teksturo
Model visokomnogokotniškega kamna smo oblikovali na podoben način, le da smo mu
število mnogokotnikov povečali iz 17 na 400 z generatorjem »Subdivision Surface«, ga z
orodjem »Brush« površinsko preoblikovali in mu dodali teksturo kamna (slika 5.5).
Modeliranje je trajalo okoli 15 minut.
Travnik in zemljo smo oblikovali iz diska, razdeljenega na zgornjo in spodnjo plast, ki sta
skupaj imeli 2699 mnogokotnikov. Dodali smo tudi hribček, ki je imel 1710 mnogokotnikov.
Zgornji površini smo dodali osnovno teksturo trave ter ji dodali lase z orodjem »Hair Tool«.
V sceno smo dodali 20719 las na ploskvi trave in še dodatnih 20180 las na hribčku. Lasje so
imeli po 8 segmentov in dolgi med 27 in 29 centimetri. Za željeno obliko trave smo lase še
z orodjem »Brush« še počesali. Oblikovanje in česanje las je trajalo okoli pol ure (slika 5.10).
22
Slika 5.10 Prikaz trave v visokomnogokotniški sceni
Visokomnogokotniško listnato drevo smo prav tako kot deblo oblikovali s kiparjenjem, da
smo dobili željeno zavito obliko. Krošnjo smo oblikovali iz treh krogel tipa »Hexahedron«
ter jih z orodjem »Brush« preoblikovali v nepravilno obliko. Posameznim kroglam smo
dodali 20000 las s teksturo zelenega lista. Lase smo prav tako kot pri travi ročno počesali
navzgor, da smo dosegli videz bolj abstraktnega drevesa. Drevo je imelo 14912
mnogokotnikov pri deblu in 1152 pri krošnji (slika 5.11). Modeliranje nam je vzelo 2 uri,
teksturiranje pa 20 minut.
Slika 5.11 Listnato drevo in upodobitev
23
6. PRIMERJAVA SCEN IN NJUNE UPORABE
Skupaj smo za modeliranje nizkomnogokotniške scene porabili 80 minut in za teksturiranje
21 ur (slika 6.1). Za visokomnogokotniško sceno smo porabili 5 ur za modeliranje in 1 uro
za teksturiranje (slika 6.2).
Obe sceni smo upodabljali le z virom svetlobe nebo – »physical sky« in enakimi
nastavitvami. Nizkomnogokotniško sceno smo upodabljali 20 sekund,
visokomnogokotniško pa 8 minut in 37 sekund.
Kljub naprednejšim nastavitvam upodabljanja nizkomnogokotniška scena izgleda bistveno
lepša preden jo upodobimo v pogledu »Constant Shading«. Nizkomnogokotniški modeli
najbolj pridejo do izraza, če izstopa samo njihova narisana tekstura in njihova osnovna
oblika ni zasenčena.
Visokomnogokotniška scena pride najbolj do izraza, ko dodamo teksturam preslikave z
normalami – »normal map«, alfa preslikave, preslikave z izboklinami – »bump map«,
preslikave s premikanjem – »displacement map« in odbojnost – »reflectance«, če le imamo
na razpolago vse te izbire.
24
Slika 6.1 Končna nizkomnogokotniška scena
25
Slika 6.2 Končna visokomnogokotniška scena
Veliko časa bi prihranili, če bi pri ustvarjanju teksture UV mape modela lahko določili
prosojno ozadje. Če ozadje teksture skrijemo, je na mestu brez teksture šahovnica. Če
želimo prosojno ozadje, moramo na alfa kanal ali na masko prosojne dele teksture narisati
ročno. To lahko pri teksturah z veliko podrobnosti vzame veliko časa, tudi nekaj ur (slika
6.3).
26
Slika 6.3 Šahovnica ob skritju ozadja teksture
Pri modeliranju iglastega drevesa smo morali veje drevesa na novo zmodelirati in število
las in segmentov posameznega lasa zmanjšati na 1, saj je upodabljanje scene pri treh ali več
segmentih las vzelo enostavno preveč časa.
Program je pogosto deloval zelo počasi, ker za upodabljanje Cinema 4D uporablja procesor
(CPE) in ne grafičnega procesorja (GPE). Kljub temu, da smo uporabljali priporočeno
konfiguracijo računalnika (Intel 64-bit CPU, 8 GB RAM) je večkrat prišlo do težav pri delu s
Cinemo 4D. Program se je zapiral in zaradi velikih zahtev po procesiranju v CPE in hitrem
pomnilniku pogosto povzročal počasno delovanje računalnika in programa. Morda bi bilo
upodabljanje boljše v programih, ki za upodabljanje uporabljajo GPE (3ds Max, odprtokodni
Blender, itd.).
Veliko časa pri modeliranju in teksturiranju visokomnogokotniških 3D modelov bi lahko
prihranili z vtičnikom Forester za Cinema 3D razvijalca 3DQUAKERS, ki postopkovno
omogoča hitro izdelavo različnih vrst dreves, rastlin, kamnov in terena.
27
Nizkomnogokotniški 3D modeli z ročno naslikanimi teksturami se pogosto pojavljajo v
mobilnih igrah in aplikacijah. Mobilni telefoni in tablični računalniki imajo vedno boljše
specifikacije in večje sposobnosti, vendar morajo razvijalci upoštevati gladko delovanje na
vseh napravah. Razvijalci pogosto izberejo takšen način 3D modeliranja in teksturiranja, saj
kljub majhnemu številu mnogokotnikov igre in aplikacije izgledajo vizualno privlačno in
omogočajo gladko, nemoteno delovanje na čim večjem številu naprav in posledično
doseganje čim večjega števila uporabnikov.
Nizkomnogokotniški modeli se zadnje čase uporabljajo tudi zaradi stila. Ta stil je postal
popularen tako v mobilnih igrah (npr. Subway Surfers) kot tudi v animacijah in računalniških
igrah zaradi svojega privlačnega stila, ki je pogosto minimalistično teksturiran (npr.
Ooblets)(slika 6.4) ali podoben stilu risanih filmov. V zadnjih nekaj letih je veliko video iger
s takšnim stilom postalo zelo popularnih (npr. League of Legends, Fortnite, itd.)(slika6.4) in
veliko razvijalcev sledi trendom in posledično popularizira stil.
Slika 6.4 Ooblets (levo) in League of Legends (desno). [3][12]
Visokomnogokotniški 3D modeli z natančnimi teksturami so najpogosteje uporabljeni v 3D
animiranih kratkih filmih (Slika 6.5), filmih podjetij Pixar in Dreamworks ipd.
28
Slika 6.5 The Last Bastion, 2016. [9]
Na začetku naprave niso bile dovolj zmogljive, da bi prenesle gladko delovanje video iger in
aplikacij z zelo natančnimi in zahtevnimi modeli, danes pa temu ni več tako. Veliko več
razvijalcev strmi k visokomnogokotniškem hiperrealizmu in moderne konzole kot so Sony
PlayStation 4 in Microsoft Xbox One jim to omogočajo. Modeli so zelo natančni, teksture
oseb, oblačil in predmetov so ponekod celo skenirane iz resničnega življenja za kar se da
realistični videz (slika 6.6).
Slika 6.6 Devil May Cry 5 (2019) s hiperrealističnimi, skeniranimi modeli [2]
29
7. SKLEP
V diplomskem delu smo preučili izdelavo in uporabo iste scene z nizkomnogokotniškimi in
visokomnogokotniškimi modeli. Ugotovili smo, da nam je kljub veliko daljšem času izdelave
bolj všeč nizkomnogokotniška scena.
Potrdimo lahko predpostavko, da smo pri modeliraju nizkomnogokotniških modelov
porabili bistveno manj časa in da smo za teksturiranje nizkomnogokotniških modelov
uporabili dlje časa kot pri visokomnogokotniški sceni. Modeliranje nizkomnogokotniških
scen je bilo hitro in enostavno, visokomnogokotniške scene pa so vzele dlje časa. Pri
visokomnogokotniških modelih smo vse teksture imeli na razpolago na spletu, zato smo jih
samo izbrali.
Delno lahko potrdimo tudi predpostavko, da se nizkomnogokotniški modeli uporabljajo
večinoma v igrah, visokomnogokotniški pa v animiranih filmih in sicer zato, ker se že danes
in se bodo tudi v prihodnosti v video igrah vedno več uporabljali visokomnogokotniški
modeli.
Za ustvarjanje nizkomnogokotniških modelov in tekstur je orodje BodyPaint 3D zelo
učinkovito, saj smo z njim zlahka dosegli zastavljeni cilj ustvarjanja privlačnih tekstur.
Ugotovili smo, da bi predvsem za hitrejše upodabljanje visokomnogokotniških modelov bilo
bolje uporabljati druge programe kot so Autodesk 3ds Max ali odprtokodni program
Blender, ki za upodabljanje scen in animacij uporabljajo grafični procesor.
30
8. VIRI IN LITERATURA
[1] 3D modeling, 2018. Dostopno na: https://en.wikipedia.org/wiki/3D_modeling
[13. 7. 2018].
[2] Araujo, Y. E3 2018: Announcing Devil May Cry 5, coming to Xbox One, PS4 and PC in
Spring 2019, 2018. Dostopno na:
http://www.capcom-unity.com/dubindoh/blog/2018/06/10/e3-2018-announcing-
devil-may-cry-5-coming-to-xbox-one-ps4-and-pc-in-spring-2019 [17. 8. 2018]
[3] Brown, M. Pokémon meets Animal Crossing in Ooblets for Xbox One, 2017.
Dostopno na: https://www.windowscentral.com/ooblets-preview [20. 8. 2018]
[4] Gahan, A. 3ds Max Modeling for Games: Insider’s Guide to Game Character, Vehicle,
and Environment Modeling Volume 1, Second Edition, Volume1. USA: Focal Press,
2011.
[5] Marcus, R. Level-of-Detail Independent Voxel-Based Surface Approximations.
Dostopno na: http://robbinmarcus.blogspot.com/p/thesis.html [13. 7. 2018].
[6] MAXON, a Nemetschek Company. BodyPaint 3D, 2018.
Dostopno na: https://www.maxon.net/en/products/bodypaint-3d/features/
[7. 8. 2018].
[7] MAXON Computer GmbH. Cinema 4D / BodyPaint 3D Program Documentation.
Dostopno na: https://help.maxon.net/ [7. 8. 2018].
[8] Normal Mapping, 2018.
Dostopno na: https://en.wikipedia.org/wiki/Normal_mapping [19. 7. 2018].
[9] Overwatch: The Last Bastion, 2016. Dostopno na: https://playoverwatch.com/en-
us/media/bastion-animated-short [17. 8. 2018]
[10] Petry, C. NormalMap Online, 2016. Dostopno na:
http://cpetry.github.io/NormalMap-Online/ [11. 8. 2018]
[11] Pluralsight Creative. CG101: What are normals?, 2014.
Dostopno na: https://www.youtube.com/watch?v=L3oCQEwtMLI [10. 8. 2018].
https://en.wikipedia.org/wiki/3D_modelinghttp://www.capcom-unity.com/dubindoh/blog/2018/06/10/e3-2018-announcing-devil-may-cry-5-coming-to-xbox-one-ps4-and-pc-in-spring-2019http://www.capcom-unity.com/dubindoh/blog/2018/06/10/e3-2018-announcing-devil-may-cry-5-coming-to-xbox-one-ps4-and-pc-in-spring-2019https://www.windowscentral.com/ooblets-previewhttp://robbinmarcus.blogspot.com/p/thesis.htmlhttps://www.maxon.net/en/products/bodypaint-3d/features/https://help.maxon.net/#1000https://en.wikipedia.org/wiki/Normal_mappinghttps://playoverwatch.com/en-us/media/bastion-animated-shorthttps://playoverwatch.com/en-us/media/bastion-animated-shorthttp://cpetry.github.io/NormalMap-Online/https://www.youtube.com/watch?v=L3oCQEwtMLI
31
[12] Riot Aeion. SRU Beta comes to a close, 2015. Dostopno na:
https://na.leagueoflegends.com/en/news/game-updates/features/sru-beta-
comes-close [20. 8. 2018]
[13] Stacy, L. What is BodyPaint 3D, 2017.
Dostopno na: http://blog.maxon.co.uk/what-is-bodypaint-3d [17. 7. 2018].
https://na.leagueoflegends.com/en/news/game-updates/features/sru-beta-comes-closehttps://na.leagueoflegends.com/en/news/game-updates/features/sru-beta-comes-closehttp://blog.maxon.co.uk/what-is-bodypaint-3d