• Ei tuloksia

3D-objektin teksturointi Blenderissä ja Unreal Engine 4:ssä

N/A
N/A
Info
Lataa
Protected

Academic year: 2022

Jaa "3D-objektin teksturointi Blenderissä ja Unreal Engine 4:ssä"

Copied!
36
0
0

Kokoteksti

(1)

Krista Talvipuro

3D-OBJEKTIN TEKSTUROINTI BLENDERISSÄ JA UNREAL ENGINE 4:SSÄ

(2)

3D-OBJEKTIN TEKSTUROINTI BLENDERISSÄ JA UNREAL ENGINE 4:SSÄ

Krista Talvipuro Opinnäytetyö Syksy 2018

Viestinnän tutkinto-ohjelma Oulun ammattikorkeakoulu

(3)

TIIVISTELMÄ

Oulun ammattikorkeakoulu

Viestinnän tutkinto-ohjelma, visuaalinen suunnittelu

Tekijä: Krista Talvipuro

Opinnäytetyön nimi: 3D-objektin teksturointi Blenderissä ja Unreal Engine 4:ssä Työn ohjaaja: Tuukka Uusitalo

Työn valmistumislukukausi- ja vuosi: 2018 Sivumäärä: 33+ liite

Tavoitteenani oli kirjoittaa selkeä ja tyhjentävä kokonaisuus 3D-objektin teksturoinnista ja miten se tapahtuu. Kirjoitinkin prosessia kuvaavan tutkielman saavuttaakseni itseäni ja muita hyödyttä- vän kokonaisuuden.

Sovelsin kirjoituksessani erilaisia alan kirjallisuutta sekä molempien ohjelmien, Blenderin ja Un- real Engine 4:n, virallisia verkkosivuja. Sen lisäksi hyödynsin tutkielmaa kirjoittaessa omia koke- muksiani.

Lopputuloksena oli itselleni ja muille aiheesta kiinnostuneille eheä tutkielmakokonaisuus 3D-ob- jektien teksturoinnista. Mistä 3D-objektin laadukkaat tekstuurit koostuvat ja kuinka niitä tehdään.

(4)

ABSTRACT

Oulu University of Applied Sciences Bachelor of Culture and Arts, Visual design

Author(s): Krista Talvipuro

Title of thesis: 3D object texturing in Blender and Unreal Engine 4 Supervisor(s): Tuukka Uusitalo

Term and year when the thesis was submitted: 2018 Number of pages: 33

I try to write this so anyone who is interested in 3D graphics can read and learn what is texture and how they are made.

I used a literature of area and also the official websites of Blender and Unreal Engine 4.

As the result of my work we have a record of texturing basics and information what is the quality of texturing and how the quality is measured.

(5)

SISÄLLYS

TERMISTÖ ... 6

1 JOHDANTO ... 8

2 MAPIT JA NIIDEN OSUUS TEKSTUROINNISSA ... 10

2.1 UV mapping ... 10

2.2 Mapit ... 11

2.2.1 Diffuse ... 11

2.2.2 Bump ... 13

2.2.3 Normal ... 14

2.2.4 Specular ... 17

2.2.5 Light ... 18

3 UV-MAPPAUKSEN HAASTEET JA TEKSTUROINNIN TAVOITTEET... 19

3.1 UV-mappauksen haasteet ... 19

3.2 Usean materiaalin sisällyttäminen tekstuuriin ... 20

3.3 Laadukkaan teksturoinnin tavoitteet ... 21

4 TEKSTUROINTI 3D-MALLINNUSOHJELMA BLENDERISSÄ ... 23

4.1 Cycles Render ... 23

4.2 Node Editor ... 24

5 MATERIAALIT JA PARTIKKELIT UNREAL ENGINE 4: SSÄ ... 26

5.1 Materiaalit ... 26

5.2 Teksturoidun objektin vieminen Unreal Engine 4:ään... 27

5.3 Partikkelit ... 29

6 YHTEENVETO ... 32

LÄHTEET ... 33

LIITE ... 34

(6)

TERMISTÖ

Pelialan ammattitermistö on lähestulkoon kokonaan englannin kielistä eikä termeille ole välttämättä ollenkaan olemassa suomen kielistä vastinetta. Tästä syystä on tarpeellista aloittaa määrittämällä yleisimmät opinnäytetyön termit.

• 3D on lyhenne englannin kielen sanoista three-dimensional space, joka tarkoittaa kolmi- ulotteista tilaa. Tässä opinnäytetyössä 3D-objekteilla tarkoitetaan kolmiulotteista grafiik- kaa.

• Decal on erikoislainasana englannista. Sitä käytetään kuvaamaan tekstuurin pinnassa ole- vaa 2D-grafiikkaa, joka ei kuulu 3D-objektin perustekstuuriin vaan on ennemminkin ehdon alainen koriste. Esimerkiksi seiniä koristavat luodin jäljet, kun pelaaja ampuu aseella.

• FBX on 3D-tiedostomuoto, jolla siirretään 3D-tietoa ohjelmien välillä.

• Layout on sitaattilaina englannin kielestä. Opinnäytetyössä käytetään layout-sanaa, kun puhutaan pohjasta tai pohjapiirustuksesta.

• Map ja mapping ovat sitaattilainoja englannin kielestä, mikä tarkoittaa karttaa. Opinnäyte- työssä ei ole kuitenkaan kyse tavallisesta kartasta vaan tekstuurikartasta. Esimerkiksi opin- näytetyö käsittelee diffuse, bump, specular, normal ja light mapping -tekniikkaa. Nämä ovat eri map tekstuurikarttoja, joita käsitellään tulevissa kappaleissa.

• Mappaus on erikoislaina sanasta mapping.

• Mesh on sitaattilaina englannin kielestä ja tarkoittaa muotoa. Tätä sanaa käytetään ylei- sesti 3D-mallinnusohjelmissa oletus 3D-objekteista.

• Node on sitaattilaina englannin kielestä. 3D-mallinnusohjelmissa sanaa käytetään pienistä ikkunoista, jotka ovat useimmiten materiaalieditorin näkymässä. Niitä käytetään editorin ominaisuuksien hyödyntämiseksi.

• Pikseli-termi on peräisin englannin kielen sanasta pixel. Digitaaliset kuvat muodostuvat tuhansista pienistä yksiköistä ja niitä kutsutaan pikseleiksi. Kuvan yksi piste on siis pikseli.

• Plane on englannin kielestä sitaattilaina ja tarkoittaa pintaa. 3D-mallinnusohjelmissa plane tarkoittaa erityisesti litteää objektia kolmiulotteisessa ympäristössä.

• Polygon on sitaattilainaus englannin kielisestä termistä ja sitä käytetään, kun puhutaan 3D- objektin piste määrästä. Se tarkoittaa pisteitä, jolla määritetään, montako kulmaa objek-

(7)

• Renderöinti on erikoislaina englannin kielen sanasta rendering. Renderöinnillä tarkoitetaan sitä, miten 3D-mallinnusohjelma laskee pikseleiden sijainnit valon, kameran, objektin ja tekstuurin mukaan.

• Seams on erikoislaina englannin kielistä ja tarkoittaa saumaa. Sanaa käytetään, kun pu- hutaan 3D-objektin purkamisesta UV-mapiksi.

• Shader on sitaattilaina englannin kielestä ja tarkoittaa varjostinta. Sitä sanaa käytetään opinnäytetyössä kuvaamaan 3D-ohjelman ominaisuutta, joka sävyttää tai muuten manipu- loi materiaalin ulkoasua.

• UV on lyhenne, jota käytetään U-V-koordinaateista. UV-koordinaatit ovat yleisesti käytössä 3D-objektin teksturoinnista puhuttaessa, kuten UV mapping.

(8)

1 JOHDANTO

Peliala jatkaa kasvuaan Suomessa. Yhä useampi pelaa pelejä puhelimella, konsolilla tai tietoko- neella. Myös pelejä tehdään entistä enemmän Suomessa. On siis reilua puhua pelialan kasvusta ilmiönä. Kysyntä kasvaa ja vastareaktiona tarjonta kasvaa, joten myös kilpailu kasvaa. Kilpailu pelialalla vain kovenee. (Talouslehti 2017, viitattu 14.12.2018.)

Yksi pelien kilpailu valttikorteista on pelin visuaalinen ulkoasu. 3D-objektin teksturointi on yksi kriittisistä tavoista vaikuttaa 3D-pelin visuaaliseen kokonaisuuteen. 3D-objektin tekstuurilla tarkoi- tetaan objektin pintaa, sen väriä ja materiaalia. Esimerkiksi posliinikannun tekstuuri olisi sen väri ja kiiltävä pinta. Nämä yhdessä ovat pintatekstuuri.

Yksi kilpailuvalteista 3D-peliä kehitettäessä on siis tekstuurin laatu ja sen takia onkin tärkeää poh- tia tekstuurin laatua. Mitä on laadukas teksturointi ja miten sitä voi mitata? Näihin kysymyksiin vastaaminen voi antaa etulyöntiaseman pelien visuaalisessa erottuvuuskilpailussa.

Blender on ilmainen 3D-mallinnusohjelma, jolla voidaan tuottaa laadukasta teksturointia. Blender on helppokäyttöinen ja laadukas. Internetistä löytyy runsaasti kattavia opetusvideoita ja keskuste- lupalstoja, jotka opastavat Blenderin käyttöön. Näistä syistä Blender on suosittu 3D-mallinnusoh- jelma indie-pelinkehittäjien keskuudessa. Blenderistä on helppo viedä 3D-grafiikkaa pelimootto- reihin, kuten valitsemaani Unreal Engine 4:ään.

Unreal Engine 4 on pelimoottori, joka soveltuu tietokone-, konsoli- ja mobiilipelien tekemiseen.

Pelimoottorit ovat alustoja, joille voi lähteä rakentamaan peliä ilman, että joutuu aloittamaan täy- sin tyhjästä. Pelimoottorit sisältävät yleensä muun muassa renderöinti- ja fysiikkamottorit. Peli- moottorin käyttäminen helpottaa pelin tuottamista huomattavasti. Unreal Engine 4:n käyttäminen on ilmaista, mutta se veloittaa 5 % lisenssimaksuja. Se tarkoittaa sitä, että mikäli Unreal Engine 4:llä tehdään ilmainen peli jakoon, siitä ei tarvitse maksaa Unreal Engine 4:lle yhtään mitään. Jos tuote on jaossa maksullisena, ottaa Unreal Engine 4 tuotosta 5 % lisenssimaksuja. Unreal Engine 4 on laadukas ja sillä on mielekästä luoda näyttäviä materiaaleja. (Unreal Engine 4, viitattu 14.12.2018)

(9)

Tässä opinnäytetyössä käsitellään 3D-grafiikan teksturointiprosessia ja materiaalien tekoa Unreal Engine 4:ssa. Tavoitteena on luoda selkeä kokonaisuus, joka tarjoaa tyhjentävän selvityksen teksturoinnista Blenderissä ja Unreal Engine 4:ssä. Opinäytetyöni on suunnattu kaikille, jotka ovat kiinnostuneita 3D-grafiikasta tai pelien kehittämisestä. Tarkoituksena on kirjoitaa tämä siten, että kuka vain, joka lukee kirjallisen osuuden opinnäytetyöstä, saavuttaa selkeän ymmärryksen laa- dukkaista tekstuureista ja materiaaleista. Sen lisäksi lukija tietää, kuinka tekstuureja tuotetaan Unreal Engine 4:ssä ja Blenderissä.

Tässä kovenevassa pelialan kilpailussa opinnäytetyöni tarjoaa vastauksen kysymykseen, mitä on laadukas teksturointi ja kuinka se tapahtuu. Nykyaikana pelin teon menestys on jokaisen ulottu- villa, mutta tiedetäänkö, miten menestyvän pelin materiaalia tuotetaan.

(10)

2 MAPIT JA NIIDEN OSUUS TEKSTUROINNISSA

Map on englantia ja tarkoittaa karttaa. Kyseessä on yksinkertaisuudessaan tekstuurikartta. Nämä tekstuurikartat on kehitetty entistäkin näyttävämpien ja kustannustehokkaampien 3D-grafiikkojen tuottamiseksi. Tulevissa luvuissa perehdytään, minkälaisia erilaisia mappeja on olemassa ja mitkä ovat niiden käyttötarkoitukset.

2.1 UV mapping

UV mapping on 3D-teksturoinnin perusta. 3D-objekti koostuu pinnoista U-V-koordinaateilla. Näillä koordinaateilla määrittyy, kuinka tekstuuri kietoutuu 3D-objektin ympäri. U, V ja W ovat X, Y ja Z karteesiset koordinaatit 3D-objektista. Yleisesti käytetään kirjaimia U ja V, kun puhutaan tekstuu- rien koordinaateista. (Franson 2006, 7.)

Yleensä kolmiulotteista tilaa hahmotetaan karteesisilla koordinaateilla X, Y ja Z. Sekoituksen vält- tämiseksi 3D-objektin pinnan koordinaatit ilmoitetaan eri kirjaimilla, jotka ovat U, V ja W.

UV mapping -tekniikassa 3D-objekti levitetään litteäksi 2D-kuvaksi. Mappiin voi sijoittaa kuvia omavalintaisessa ulkoisessa kuvankäsittelyohjelmassa. Kun kuvan vie takaisin 3D-mallinnusoh- jelmaan, ohjelma osaa kääriä 2D-kuvan 3D-objektin ympärille.

Kuvassa 1 vasemmalla puolella näkyy 3D-näkymä 3D-mallinnusohjemasta Blender, missä on esi- merkki 3D-objekti. Oikealla on UV map objektista. 3D-mallinnusohjelma Blenderissä 3D-objekti on purettu pintoihin ja sitten tuotu ulos UV layout -kuvaksi. Sen jälkeen tehdään tekstuuri kuvankäsit- telyohjelmassa UV layoutin perusteella. Näin kuvasta on tehty tekstuuri. Sitten tekstuuri viedään Blenderiin, jossa ohjelma osaa kietoa tekstuurin objektin ympärille. Tämä on erittäin mielekäs tapa teksturoida ja hallita 3D-objektin ulkonäköä.

UV mapeista puhuttaessa viitataan nimenomaan 3D-objektin muodostamaan mappiin, joka syntyy silloin, kun objekti on U, V ja W akseleilta purettu kaksiulotteiseksi layoutiksi. UV-mappaaminen on siis teksturoinnin pohja, jonka päälle rakennetaan muut mapit ja materiaalit.

(11)

KUVA 1. 3D-objekti ja UV map.

2.2 Mapit

UV-mappien jälkeen käsitellään erilaisia mappeja, joilla voi vaikuttaa tekstuurin laatuun ja luon- teeseen. Toisinkuin UV map nämä mapit ovat erikoistuneempia ja tuovat kukin omalla tavallaan materiaalin tuntoa pintaan. Kappaleissa kerrotaan map kohtaisesti jokaisen tarkoitus ja kuinka ne toimivat. Sen lisäksi prosessia kuvataan ja selitetään, miten niitä käytetään riippuen, mistä ma- pista on kyse.

2.2.1 Diffuse

Diffuse on tekstuurin perusta. Se on se pääväri, mitä objekti edustaa. Esimerkiksi objekti, joka esittää, että se on tehty puusta, sen diffuse map on lähikuva puunpinnasta, tai rapistunut betoni- seinän diffuse map käyttää kuvaa sopivan rapistuneesta betoni pinnasta.

Dennis Summers sanoo kirjassaan, että diffuse on objektin pääväri. Toisinkuin muut mapit diffuse ei muutu riipuen siitä mistä kulmasta sitä tarkastellaan. Objekti heiastaa valoa tasaisesti joka suuntaan riippumatta kameran positiosta toisinkuin esimerkiksi bump map. (Summers 2004, 100.)

(12)

Kuvassa 2 diffuse map on asetettu niin sanotun plane-objektin päälle. Plane on litteä pinta Blen- desissä, jota käytetään esimerkiksi lattioiden tai seinien rakentamisessa. Blenderissä tekstu- roidessa on todella kätevää jakaa työtila kolmeen näkymään. Yksi on Node Editoria varten. Se on kuvan 3 oikeassa yläreunassa. Sitten yksi ikkuna 3D-näkymässä objektin muokkaamista varten.

Se on oikeassa alareunassa (kuva 3). Kolmantena on näkymä renderöintiä varten. Näin voi muo- kata materiaalia ja objektia nopeasti ja tehokkaasti. Tulokset näkyvät renderöinti näkymässä.

Kaikki tämä on yhtä aikaa käytettäväsissä kätevästi. Renderöinti tapahtuu painamalla F12 näp- päintä. Kuten kuvasta 3 näkyy, plane on saanut pintatekstuurin, mutta se ei ole kolmiulotteisen näköinen.

UV-mappauksen avulla diffuse map on tuonut plane-objektiin pintaan kuvatekstuurin. Se toimii jatkossa tekstuurin päävärinä, joka heijastaa valoa samalla tavalla riippumatta kameranpositiosta.

Diffuse map on ensimmäinen map materiaalin luomisessa, mistä syystä sopivan kuvan ja värin valitsemiseen on kannattavaa kiinnittää huomiota.

KUVA 2. Diffuse map.

(13)

KUVA 3. Diffuse mapin lisääminen plane-objektiin.

2.2.2 Bump

Bump map on yksinkertainen tapa luoda illuusio objektin epätäydellisyydestä. Map sisältää tietoa, jonka avulla ohjelma tietää, miten objekti renderöidään. Bump map sisältävät tietoa musta-, har- maa- ja valkoskaalalla. Siinä ei ole värejä. Bump map voi määrittää pinnan rosoisuuden intensiivi- syyttä.

Dennis Summers kirjoittaa, että tämä on yleisesti taiteilijoiden käyttämä tekniikka korostamaan myös objektin täydellistä sileyttä. Hän myös huomauttaa, että objekti ei saa todellisuudessa lisää kolmiulotteisuutta vaan efekti on täysin visuaalinen. (Summers 2004, 105).

Kuvassa 5 näkyy, että plane-objektiin on lisätty bump map. Node Editorissa sille on lisätty oma haara ja se kulkee mikseri-noden läpi ulostulo-nodeen. Nyt renderöidyssä kuvassa näyttää olevan kolmeulotteisuutta jonkin verran. Pintamateriaalin tarkastelua varten valonlähde on tuotu lähem- mäksi plane-objektin pintaa. Tiilistä lankeaa varjo. Kuvassa 4 on itse bump map. Diffuse map vie- dään kuvankäsittelyohjelmaan, jossa siitä tehdään mustavalkokuva. Saadakseen parhaan mahdol- lisen lopputuloksen aikaseksi kontrastia voi säätää vaikka hieman jyrkemmäksi. Näin syntyy bump map.

(14)

Bump map täydentää diffuse mappia ja käyttää UV-mappausta samalla tavalla hyväkseen kuin diffuse map. Kun diffuse ja bump map on lisätty tekstuuriin, alkaa pinnan materiaali vähitellen muo- dostua. Joissakin materiaaleissa tämä voisi olla tarpeeksi teksturointia, mutta laadun takaamiseksi on olemassa lisää mappeja, joilla taata kaunis lopputulos.

KUVA 4. Bump map.

KUVA 5. Bump mapping Blenderissä.

2.2.3 Normal

Normal map näyttää sinisen ja violetin skaalassa informaatiota 3D-maillinnusohjelmalle 3D-objektin yksityiskohdista. Normal map on yksinkertainen ja kustannus tehokas tapa luoda lisää yksityiskoh-

(15)

jotta peli ei kuormittaisi liikaa pelimoottoria. Nykyajan pelikonsolit, tietokoneet ja jopa mobiililaitteet ovat hyvin sorituskykyisiä, mutta siitä huolimatta on hyvin tärkeää tehdä tehoja säästävää 3D-mal- lintamista, jotta pelistä ei tulisi pelilaitteille liian raskas suorittaa.

Blender nettisivuilla kerrotaan, että normal map ja bump map määrittää 3D-objektin pinnan koho- amia lisäämättä todellista kolmiulotteisuutta objektiin. Molemmat lisäävät pintaan varjostuksen niin kuin pinnassa olisi paljon pieniä yksityiskohtia sen sijaan, että pinta olisi tyystin litteän näköinen.

Koska molemmat mapit vain muokkaavat jokaisen pikselin varjostusta, ne eivät lisää objektin kol- meulotteisuutta. (Blender, viitattu 19.11.2018.)

Vaikka bump mappeja ja normal mappeja käytetään lähestulkoon samaan tarkoitukseen, niiden ero piilee siinä, että bump map käsittelee pinnan intensiivisyyttä, kun taas normal map ennemmin- kin pikseleiden suuntaa. Pikseleiden suunta vaikuttaa siihen, miten objekti renderöidään kameraan.

KUVA 6. Normal mapin työstäminen Crazy Bump -ohjelmalla.

Normal mapin voi piirtää kuvankäsittelyohjelmassa, mutta siihen on olemassa myös erilaisia nor- mal map -generaattoreita kuten esimerkiksi Crazy Bump -ilmaisohjelmaa. Lataamalla kuvatekstuu- rin ohjelmaan se generoi siitä normal mapin. Esikatseluikkunassa normal map päivittyy reaaliaikai- sesti. Sitä voi eri arvoilla säätää minkälaiseksi haluaa. Kun tulos miellyttää silmää, mapin voi tal- lentaa tietokoneelle. Kuvassa 6 näkyy miten normal mappia voi muokata. Kuvassa myös näkyy,

(16)

myös muita mappeja kuten specular, displacement, ja occulsion mapit. Displacement map on vaih- toehtoinen ratkaisu bump mapille. Occulsion map puolestaan sisältää tietoa objektin valaistuk- sesta. Kumpaakaan näistä mapeista ei tulla käsittelemään tässä opinnäytetyössä.

Kuvassa 7 on Crazy Bump -ohjelmassa tehty normal map. Normal map lisätään plane-objektiin (katso kuva 8). Sille tehdään jälleen Node Editoriin uusi haara, joka yhdistyy mikseriin ja se output- nodeen.

Normal mappeja on vaikea tavallisella kuvankäsittelyohjelmalla ja siksi sitä varten on olemassa omat ohjelmansa kuten Crazy Bump -tietokoneohjelma. Normal-mapilla luodaan tehokkaasti lisää yksityiskohtia pintamateriaaliin.

KUVA 7. Normal map.

(17)

2.2.4 Specular

Specular map edustaa pinnan metallisuutta ja kiiltävyyttä. Se on mielekäs tapa manipuloida objek- tin ulkonäköä eikä se vie paljoa tehoa renderöinnissä.

Specular map määrittää objektin kiiltoläiskän terävyyden ja laajuuden. Se tarkoittaa sitä, että spe- cular map voi tehdä pinnasta joko lasisen kiiltävän tai mattapintaisen riippuen specular mapista, kirjoittaa Summers. (Summers 2004, 102.)

Toisin kuin diffuse mapissa, kameran kulma vaikuttaa specular mappiin. Tämä tarkoittaa sitä, että kun kamera liikkuu, objektin kiiltoläiskä liikkuu kameran position mukaan.

Kuvassa 9 on specular map ja kuvassa 10 se on lisätty plane-objektiin Blenderissä. Blenderin ren- deröinnissä voi nähdä, miten objektin pinta on saanut selkeästi lisää näennäistä kolmeulotteisuutta.

Objekti sisältää yhä ainoastaan neljä polygonia. Voi siis kiistatta todeta, että lopputulos on kustan- nustehokas ja selkeästi silmää miellyttävämpi. Näiden eri mappien ansiosta Blender osaa laskea, kuinka valo renderöidään riippuen kameran sekä valon sijoittelusta. Nodet toimivat liitoskohtina, joihin voi syöttää tietoa, miten mapeja luetaan ja muita säädettäviä tietoja. Mappien ja nodejen yhdistelmällä saadaan aikaan vaikuttava pintatekstuuri, joka elävöittää objektin pintaa.

KUVA 9. Specular map.

(18)

KUVA 10. Viimeistelty tekstuuri Blenderissä. Tekstuuriin on lisätty specular map.

2.2.5 Light

Light map keventää alueen valaistuksen renderöintiä. Se sisältää tietoa valoista ja varjoista ilman, että se kuormittaa tietokonetta liikaa. Light map on lähestulkoon ainoastaan pelinkehitystarkoituk- siin, sillä light map on kehitetty sitä varten, että 3D-grafiikkaa renderöidään reaaliaikaisesti. Light map on siis ennemmin alueelinen kartoitus kuin yksittäisen kolmiulotteisen objektin mappaus. Hy- vin tehty light map säästää koneen tehoja ja tekee pelin visuaalisesta ulkoasusta näyttävämmän.

Tämä on hyvin tärkeää, sillä valaistus on avain asemassa pelin tunnelman luomisessa ja tuo peliin mieleen painuvaa atmosfääriä. Huolellisesti tehty light map on siis oleellinen osa pelin kehitystä.

Light mappia ei käsitellä sen tarkemmin, koska se on joukko objekteja ja ympäristöä, kun tämä opinnäytetyö keskittyy nimenomaan yksittäisen objektin teksturointiin ja miten se tapahtuu.

(19)

3 UV-MAPPAUKSEN HAASTEET JA TEKSTUROINNIN TAVOITTEET

UV-mappaukseen liittyy myös erilaisia haasteita ja ongelma kohtia, joita on hyvä ottaa huomioon.

Tämän lisäksi on hyvä tiedostaa mikä on toivottu lopputulos tekstuurille ja mitä on laadukas teks- turointi. Näihin asioihin syvennytään tässä luvussa.

3.1 UV-mappauksen haasteet

Eräs haasteista, joka voi ilmetä tekstuuria tehdessä, kun 3D-mallia puretaan UV layoutiksi. Koska 3D-objekti on ehjä kokonaisuus, tekstuuria tehdessä siihen pitää 3D-mallinnusohjelmassa määrit- tää saumakohdat niin, että objekti leviää siistiksi UV-layoutiksi kuten kuvassa 1 on. Näistä sau- moista eli seamsseista voi joskus koitua haastavia tilanteita tekstuuria tehdessä.

Kiiski kertoo saumojen olevan ongelma, jota ei voi välttää 3D-objektin teksturoinnissa. Kiiski mai- nitsee, että ongelmaa voi kiertää piilottamalla saumat. ”Esimerkiksi pelihahmon kasvot voidaan UV- mapata niin, että sauma osuu hahmon hiusrajaan, jonka päälle voi asettaa hahmon hiukset” (Kiiski, sähköpostihaastattelu 1.12.2018.)

Kiiski hyvin oivaltavasti kuvailee, miten saumat voidaan piilottaa pelaajan silmältä. 3D-objektia pur- kaessa UV mapiksi saumat voidaan määrittää objektin alueisiin, jotka jäävät piiloon. Esimerkiksi pöytää esittävän 3D-objektin saumat voidaan piilottaa pöydän alle, tai kirjahyllyä esittävän objektin saumat voidaan piilottaa kirjahyllyn taakse, joka tulee muutenkin seinää vasten, jolloin ne eivät näy kamerassa.

Kiiski mainitsee saumojen aiheuttavan haastavia tilanteita, kun tekstuurien reunat pitää kohdata oikeassa kohtaa tekstuurin jatkuvuuden vuoksi (Kiiski, sähköpostihaastattelu 1.12.2018).

Esimerkiksi puun tekstuuria maalatessa olisi suotavaa, että oksasta alkanut kaarnan uurre jatkuisi samasta kohtaa puun runkoon, vaikka välissä olisi sauma. Muun muassa tästä syystä teksturointiohjelmat kuten Substance Painter, ovat jumalan lahja 3D-mallintajalle. Niissä voi maalata suoraan mallin päälle, jolloin ei tarvitse välittää saumoista. (Kiiski, sähköpostihaas- tattelu 1.12.2018.)

(20)

Koska 3D-objektin tekstuurit useimmiten sisältävät kuvioita, on tärkeää, että tekstuurin saumat kohtaavat oikein. Kuten Kiiski mainitseekin, tähän ongelmaan on luotu tietokoneohjelmia, joilla helpotetaan teksturointi prosessia.

Suurin haaste UV-mappaamisessa on saumat ja miten ne sijoitellaan. Ongelmaa voidaan hallita saumojen piilottelulla ja yhteen sovittamisella sekä prosessia tukevilla tietokoneohjelmilla.

3.2 Usean materiaalin sisällyttäminen tekstuuriin

3D-peligrafiikassa usein objekti sisältää useampaa kuin yhtä materiaalia. Teekuppi voi olla esi- merkiksi kokonaan posliinia, kun taas puutuolissa voi olla kangaspäällysteinen istuin. Tässä lu- vussa käsitellään tämän kaltaisia moni materiaalisia objekteja ja miten ne tehdään.

Kiiski purkaa 3D-objektin omiin UV-saarekeihin siinä tapauksessa, jos objekti sisältää useampaa materiaalia. Saumat hän asettaa osumaan materiaalien vaihtumisrajassa, jolloin sauma ei häiritse vaan näyttää luonnolliselta. Tämän jälkeen Kiiski tarkistaa tekstuurin istuvan tasaisesti ja hyvin objektin ympärille, minkä jälkeen hän kertoo aloittavansa tekstuurin valmistelun kuvankäsittelyoh- jelmassa. (Kiiski, sähköpostihaastattelu 1.12.2018.)

Monimateriaalinen teksturoitava 3D-objekti puretaan yhdessä UV mapissa eri UV-saarekkeisiin, jolloin objektin tekstuuria voidaan käsitellä kätevästi. Näin yksi UV map sisältää yhden objektin tekstuuri tiedot ja pelin suoritustehoa säästetään. Näiden eri UV-saarekkeiden ansiosta yksi ob- jekti voi sisältää useampaa pintatekstuuria. Samalla materiaalin vaihtumisraja tarjoaa luonnollisen paikan saumalle ja siten objektista tulee yhdessä mielessä laadukkaasti teksturoitu. Tämmöisiin UV-sarakkeisiin usein puretaan esimerkiksi, pelihahmoja ja monimutkaisempia objekteja. Pelihah- mot on tyypillisesti purettu siten että kasvot ja pää on yksi saareke, keskivartalo toinen, alavartalo ja jalat kolmas ja lopuksi kädet ja hiukset ovat neljäs ja viides saareke.

Tällaisella tekniikalla monimateriaalisen objektin tuottaminen on hallittavaa eikä ollenkaan niin on- gelmallista kuin voisi luulla. UV mapin sisältämät UV-saarekkeet ovat olennainen ja mielekäs tapa työstää 3D-objektin tekstuuria.

(21)

3.3 Laadukkaan teksturoinnin tavoitteet

Mikä on laadukas tekstuuri? Miten se määritellään ja mitä tekstuurilla halutaan saada aikaan?

Laatua usein mitataan numeerisin arvoin, mutta tekstuurin laatua mitatessa se ei ole mielekäs ratkaisu. Sillä tekstuurin laatu on visuaalista, mikä on subjektiivinen kokemus.

Kiiski kirjoittaa tekstuurien laadusta, että tekstuurien pitää olla visuaalisesti yhteen sopivia pelin tyyliin ja tekstuurien värit tulisi olla harmoniassa keskenään. Tämän lisäksi UV mappien sijainnit tulisi olla mietittynä hyvin. (Kiiski, sähköpostihaastattelu 1.12.2018.)

Yleensä tekstuurin tarkkuus on oltava lähes sama. Suuret tekstuurin tarkkuus heittelyt voivat olla häiritseviä. Tekstuurin tarkkuudessa voidaan tehdä niin halutessa poikkeuksia. Kiiski kertoo esi- merkiksi, että tekstuurin tarkkuudessa voidaan tehdä poikkeus, ”-- jos halutaan hahmon silmien olevan tarkemmat kuin muut osat kasvoista”. (Kiiski, sähköpostihaastattelu 1.12.2018.)

Tekstuurit ovat siis keskeisessä osassa pelin maailman luomisessa. Tekstuurit tuovat väriä ja tun- nelmaa. Ne ovat siis tärkeitä visuaalisia komponentteja 3D-maailmassa. Mikäli tekstuuri on huo- nosti maalattu tai se poikkeaa pelin tyylistä, se häiritsee pelaajan immersiota. (Kiiski, sähköposti- haastattelu 1.12.2018.)

Immersiosta pelimaailmassa puhutaan, kun pelaamiskokemus on mukaansa tempaava. Useim- miten immersion rikkoontuminen voi saada pelaajan hermostumaan niin, että hän lopettaa pelin pelaamisen kokonaan tai antaa huonot arvosanat pelille. Tämä on tietysti pelaaja kohtaista, miten tärkeää immersio on pelaajalle, mutta yleisesti immersio mainitaan yhtenä eniten merkitsevänä pelin laadun mittarina. Tästä syystä on hyvin vakavaa, jos huono tai virheellinen tekstuuri rikkoo pelaajan immersion.

Laadukkaan tekstuurin takaamiseksi on siis hyvä olla perusteellinen pohjatyö tehtynä. On kannat- tavaa luoda konseptitaidetta pelimaailmasta ja sen väreistä. Tällöin yksittäiset objektit ovat mie- lekkäitä suunnitella sopimaan kokonaisuuteen. Seuraavaksi on syytä pohtia, miten 3D-objekti ra- kennetaan ja miten saumat sijoitellaan. Kiiski kertoo aloittavansa 3D-objektin työstämisen kon- septitaiteella, oli sitten kyseessä monimutkainen objekti tai yksinkertainen laatikko (Kiiski, sähkö-

(22)

Laadukas tekstuuri on siis kokonaisuutta tukevaa ja värimaailmaltaan hyvin toteutettu. Sen laatu pitää olla samaa tasoa muiden tekstuurien kanssa. Se on myös suunniteltu huolella, jotta saumat eivät jää pelaajalle näkyviin tai tekstuurin jatkuvuus ei katkea sauman takia.

(23)

4 TEKSTUROINTI 3D-MALLINNUSOHJELMA BLENDERISSÄ

Blender on ilmainen 3D-mallinnusohjelma. Ohjelmassa voi 3D-mallintaa, teksturoida, luoda ani- maatioluurankoja ja animoida 3D-grafiikkaa. Animaatioluurangoilla tarkoitetaan tässä yhteydessä 3D-grafiikkaan upotettua luurankoa, joka toimii grafiikan tukirankana. Tällä tavalla grafiikkaa voi väännellä sekä asetella miten vain tarvitaan. Tämä mahdollistaa 3D-grafiikan animoimisen. 3D Blender on suosittu muun muassa pelinkehittäjien keskuudessa 3D-mallinnustyökaluna. Blender toimii Windows-, Linux- ja Mac-käyttöjärjestelmissä. Tässä luvussa tutustutaan Blenderin Cycles- renderöintiin ja teksturointiin Blender-ohjelmassa. Lisäksi syvennytään myös Node Editorin käyt- töön.

4.1 Cycles Render

Renderöinti on geometrian muuntamista 2D:stä tai 3D:stä pikseleiksi näytölle tai tallennettuun ku- vatiedostoon. Tämän toiminnan suorittamiseksi tarvitaan monimutkaisia laskutoimituksia. Yhden pikselin eteen on suoritettava paljon laskutoimituksia 2D- ja 3D-geometrian pohjalta. (Zeman 2015, 111.)

Zeman kiteytti mallikkaasti mitä renderöinti on. Renderöimällä saadaan kuvia 3D-malleista, niiden teksturoinnista, valoista ja materiaaleista. Renderöintiin tarvitaan siis kamerat, geometriaa, valot, varjostukset ja materiaalit.

Cycles Render on Blenderin renderöijä. Cycles Renderiä kuvailtiin Blenderin virallisilla verkkosi- vuilla seuraavasti (Blender 2016, viitattu 10.7.2016). Cycles Render mahdollistaa säteenseuran- taan perustuvan renderöinnin. Sen jälkeen, kun julkaistiin Apache 2.0, Cycles Renderiä on myös käytetty muissakin 3D työkaluissa kuten Poser ja Rhino. Cycles Renderillä voi nähdä välittömästi muutokset tekstuurissa.

Cycles Render -ominaisuus on siis hyvä olla valittuna, kun objektia teksturoidaan Blenderissä.

Koska Cycles laskee valon säikeiden osumiskulmaa, se tuottaa realistisen kuvan materiaaleista 3D-objektissa. Toisaalta, koska Cycles laskee paljon asioita taustalla, se on raskaampi suorittaa

(24)

kuin Blender Render. Tästä syystä Cycles Render ei ole oletuksena päällä vaan käyttäjän pitää itse asettaa se päälle.

Cycles-renderöinti tekee teksturointi prosessista helpompaa, sillä tekstuurin materiaali päivittyy re- aaliajassa. Sen ansiosta tekstuurin muokkaaminen on kätevää Cycles Renderissä. Ilman Cycles Renderiä tekstuurin luominen tapahtuisi ilman visuaalista palautetta ohjelmalta ja se olisi huomat- tavasti hitaampaa ja työläämpää.

4.2 Node Editor

Node Editorin käyttö on oleellinen osa materiaalin muokkaamisessa. Blenderin virallisilla verk- kosivuilla on selitetty noden käyttäminen seuraavasti (Blender 2016, viitattu 10.7.2016):” Materials, lights and backgrounds are all defined using a network of shading nodes. These nodes output values, vectors, colors and shaders.” Tämä tarkoittaa sitä, että Node Editorissa voi käsitellä mate- riaaleja, valoja ja taustoja. Nämä nodet määrittelevät arvot, vektorit, värit ja varjostukset.

Node Editorissa kuvatekstuurin kanssa on mahdollista määrittää mitä materiaalia kuva esittää. Eri shaderit toimivat suodattimen tavoin ja muokkaavat lopullista ulostuloa. Shader tyyppejä on neljää eri sorttia: BSDF, Emission, Volume ja Background Shader. BSDF kuvailee valon heijastusta ob- jektien pinnoilla. Emission puolestaan kuvailee objektin valonheijastavuuden. Volume Shader ku- vailee valon hajontaa volumen sisässä. Viimeisenä Background Shader kuvailee valon heijasta- vuutta ympäristöstä. (Blender 2016, viitattu 10.7.2016).

Node Editorissa voi käyttämällä erilaisia nodeja hallita ja muokata tekstuureja ja materiaaleja. Eri shadereiden liittymäkohtien avulla voi säädellä materiaalin ulkoasua hyvin pitkälle viimeistelyyn asti. Shaderit ovat yksi keskeisimmistä node tyypeistä.

Nodet muodostavat materiaalieditorissa verkoston, johon voi lisätä erilaisia mappeja. Näiden mappien lisäksi nodeihin voi lisätä shadereita ja ne tuovat oman pienen lisäripauksen materiaalin viimeistellyn laadukkaan lopputuloksen takaamiseksi. Nämä node-verkostot voivat helpostikin kasvaa valtaviksi riippuen materiaalin monimutkaisuudesta. 3D-objektin tekstuurin voi luoda peri- aatteessa jopa kokonaan nodeilla ja ilman, että yhtäkään mappia on käytetty.

(25)

Nodet ovat monipuolinen työkalu Blenderissä materiaalin luomista varten. Ne myös havainnollis- tavat visuaalisesti materiaalin muokkaamisen, joten se on hyvin intuitiivista eikä ollenkaan hanka- laa. Nodeja on erilaisia, toiset ovat miksereitä, toiset ovat shadereitä ja lopuksi Node Editorissa on vielä ulostulo-node, johon node-verkosto päättyy. Pienellä säädöillä nodeilla voi saada monen- laista jälkeä aikaan.

(26)

5 MATERIAALIT JA PARTIKKELIT UNREAL ENGINE 4: SSÄ

Unreal Engine 4 on ilmainen pelimoottori. Sitä käytetään monipuolisesti myös pelialan ulkopuolella kuten muotoilusuunnittelussa ja sisustussuunnittelussa. Tässä luvussa käsitellään materiaalien luomista ja 3D-grafiikan tuomista Blenderistä Unreal Engine 4:ään. Luku sisältää myös osion par- tikkeliefekteistä, mitä ne ovat ja miten niitä tehdään.

5.1 Materiaalit

Unreal Engine 4:ssä on materiaalieditori, joka muistuttaa aika paljon Blenderin Node Editoria. Un- real Engine 4:n materiaalieditorissa materiaalia muokataan nodeilla ja materiaalin päivittymistä voi seurata reaaliaikaisesti esikatseluikkunassa, jolloin materiaalin muokkaaminen on nopeaa ja help- poa.

Unreal Engine 4 käyttää hyväkseen Physically Based Rendering, lyhennettynä PBR-teknologiaa.

Se mahdollistaa realististen materiaalien luomisen kuten metalli, petoni, tiili ja paljon muuta. Unreal Engine 4:ssä materiaalit määrittävät kaiken meshien pinnoissa, kuten väri, kiiltävyys, kuoppaisuus ja toistuvuus. Materiaaleja voi myös animoida manipuloimalla kulmia. Materiaaleja voi käyttää myös decaleihin, jälkiprossesseihin ja valofunktioihin. (Satheesh 2016, Chapter 3, Materials)

Unreal Engine 4:ssä on helppo käyttöliittymä. Avaamalla materiaalieditorin näkymän, mikä aukeaa omaan ikkunaan, voit helposti määritellä meshin materiaalia. Materiaali näkymään kuuluu pieni esikatseluikkuna, johon materiaalin ulkonäkö päivittyy reaaliajassa (katso kuva 11). Materiaalien käsittely on hyvin saman kaltaista kuten Blenderissä. Aiheesta kerrottiin edellisessä luvussa. Kuten Blenderissä myös Unreal Engine 4:ssä on nodeja, joiden avulla materiaalien luominen tapahtuu.

Kuvassa 11 on luotu esimerkki materiaali. Ensimmäinen node, joka on yhdistetty materiaaliulos- tulo-nodeen, on Constant 3vector Node. Sillä voi määritellä materiaalin värin. Seuraavana tulee Expressional Content Node. Siihen voi syöttää arvoja ykkösestä nollaan. Yhdistämällä Expressi- onal Noden Metallic-sisääntuloon voi määritellä materiaalin metalliksi. Koska materiaali voi olla metallia tai epämetallia, silloin sen arvo voi olla vain yksi tai nolla. Yksi on metallia ja nolla on

(27)

sisääntuloon. Expressional Contentin arvoksi on määritelty 0.4. Arvo voi olla ykkösen ja nollan vä- lillä mitä vain, sillä arvo määrittää pinnan karheutta. Mitä lähemmäs arvo menee nollaa, sitä si- leämpi pinta on ja sama toisinpäin; mitä lähemmäs arvo menee ykköstä, sitä karheampi pinta on.

Tulokseksi näistä kaikista arvoista tulee siniharmaan metallinen materiaali, jonka pinta on melko sileä. Materiaaleihin voi käyttää kuvia. Niistä voi tehdä erilaisia mappeja, jotka sisältävät tietoa, jota Unreal Engine 4 osaa lukea ja tulkita eritavoin. Esimerkiksi bump mappeja Unreal Engine 4 osaa lukea siten, että tummat kohdat ovat kohoamia ja vaaleat syvennyksiä.

Unreal Engine 4:n materiaalieditori poikkeaa jonkin verran Blenderin Node Editorista, mutta niissä on kuitenkin paljon yhteneväisyyksiä. Molemmissa materiaali syntyy node-verkostoissa. Unreal En- gine 4:n materiaalieditorissa on kuitenkin omat säännöt ja nimikkeet nodeille, jotka määrittävät ma- teriaalin lopputuloksen.

KUVA 11. Unreal Engine 4:n materiaalieditorin näkymä.

5.2 Teksturoidun objektin vieminen Unreal Engine 4:ään

Blenderissä teksturoidun objektin tuominen Unreal Engine 4:ään on prosessi, joka ei ole itsestään selvää. Luvussa kuvataan askel kerrallaan, kuinka se tapahtuu ja avataan hieman syitä menettely

(28)

tapaan. Luvussa kuvaillaan materiaalin käsittelyä viimeistelevänä askeleena objektin teksturoin- nissa.

Kuvassa 13 Blenderissä teksturoitu objekti on viety Unreal Engine 4:ään. Sen materiaalia voi muokata helposti materiaalieditorissa (katso kuva 12.).

Hyväksi havaitsemani tapa oli purkaa objekti UV layoutiksi ja UV-mapata se Blenderissä. Siellä voi esikatsella tekstuurit niin, että ne istuvat sievästi objektin ympärille ja erilaiset mapit näyttävät toimivan halutulla tavalla. Sen jälkeen teksturoitu objekti viedään Unreal Engine 4:ään. Siellä ma- pit asetellaan kohdilleen ja objekti viimeistellään materiaalieditorissa.

Aiemmasta saattaa herätä kysymys, miksi edes teksturoida objektia Blenderissä. Kun objekti on purettu UV-mapiksi ja teksturoitu Blenderissä, sen FBX ulosviety muoto sisältää tiedon siitä, mi- ten objekti on purettu UV layoutiksi ja että miten tekstuuri kietoutuu objektin ympäri. Tämän li- säksi, kun muokataan mappeja, ne on helppo lisätä Blenderiin ja esikatsella, miten ne käyttäyty- vät valossa. Kun objekti näyttää hyvältä Blenderissä, sen saa helposti näyttämään hyvältä myös Unreal Engine 4:ssä. Kun objekti tekstuureineen päivineen on tuotu Unreal Engine 4:n puolelle, mapit loksahtavat kuin itsestään paikoilleen materiaalieditorissa. Materiaalieditorissa on paljon lisäasetuksia, joilla voi määrittää ja syventää materiaalin käyttäytymistä valossa.

3D-objekti puretaan UV mapiksi, minkä avulla saadaan erilaiset mapit rakennettua. Blenderissä mapeista luodaan tekstuurimateriaali. Kun 3D-tuotos on hyvän näköinen Blenderissä, se viedään Unreal Engine 4:n puolelle, missä mapit uudelleen asetellaan paikoilleen. Unreal Engine 4:n edis- tyneellä materiaalieditorilla pintatekstuuri viimeistellään ja lopputuloksena on kaunis 3D-objekti teksturoituna.

(29)

KUVA 12. Materiaalieditori Unreal Engine 4:ssä.

KUVA 13. Teksturoitu plane Unreal Engine 4:ssä.

5.3 Partikkelit

3D-objektit eivät ole aina täysin kiinteitä vaan niissä voi olla liikkuvia osia kuten soihdussa voi olla lepattava liekki tai taikalaatikossa taianomainen sädehdintä. Tällaiset komponentit ovat yhä edel- leen tärkeä osa 3D-objektin ulkoasua, mutta ne ovat alati liikehdinnässä. Tämän takia tässä lu-

(30)

vussa käsitellään partikkeliefektejä, joilla voidaan täydentää objektin ulkoasua. Luku antaa partik- keliefekteistä selkeän kuvan, mitä ne ovat ja kuinka niitä tehdään Unreal Engine 4:ssä.

Kuten Franson sanoo, yhä useammin näkee, miten animoidut tekstuurit korvataan partikkeliefek- teillä. Partikkelit tosin vievät enemmän tehoja kuin animoidut tekstuurit, mistä syystä animoidut tekstuurit eivät ole aivan heti katoamassa tyystin. (Franson 2004, 8.)

Partikkeliefektit ovat liikkuvaa grafiikkaa, joka elävöittää tehokkaasti pelimaailmaa. Ne voivat olla helposti huomaamattomia atmosfäärin tehostajia tai niin sanottuja ”show stoppereita”, jotka pysäyt- tävät pelaajan täydelliseen ihastukseen. Partikkeliefektit reagoivat pelimaailman fysiikkaan ja se tekee niistä virtuaalisen maailman täydellisiä elävöittäjiä. Partikkelisysteemit koostuvat useimmiten kaksiulotteisista sprite grafiikasta. Nämä efektit voivat myös sisältää kolmiulotteista grafiikkaa. Par- tikkeliefektejä voi olla vaikka minkälaisia. Ne voivat olla itseään toistavia, jolloin efekti ei lopu kos- kaan tai ennen kuin jokin ehto on toteutunut. Tällaisia efektejä ovat tyypillisesti kipinäsuihku tai soihdun lepattava tuli. Toiset efektit voivat olla hyvinkin lyhyt kestoisia ja tapahtuvat vain kerran tai tiettyjen ehtojen tapahtuessa. Kerran tapahtuvia partikkeliefektejä voisi esimerkiksi olla räjähdys tai tähtipölyn kimallus.

Unreal Engine 4:ssä partikkelisysteemin luominen ja editointi on intuitiivista. Ensiksi tarvitsee vain luoda uusi particle system. Kaksoisklikkauksella saa auki pienen ikkunan, jossa voi aloittaa partik- kelisysteemin muokkaamisen. Kuvassa 14 näkyy miltä Particle System Editor näyttää Unreal En- gine 4:ssä. Systeemin muokkaaminen tapahtuu visuaalisilla kaavioilla ja valitsemalla eri materiaa- leja efektille. Kuvassa 15 näkyy miltä visuaalinen kavio näyttää, kun partikkeliefektiä muokataan.

Visuaalisien kaavioitten lisäksi partikkelisysteemiä voi muokata vaihtamalla eri tekstikenttiin nu- meerisia arvoja.

Partikkeliefektit ovat tärkeä osa pelin elävöittämistä. Niitä voi tehdä Unreal Engine 4:ssä käyttä- mällä Particle System Editoria, jossa muutokset näkyvät heti arvoja muuttamalla. Tämä on miele- käs tapa luoda ja muokata partikkeliefektejä.

(31)

KUVA 14. Unreal Engine 4:n partikkeliefektin muokkaus näkymä. Näkymässä on oletus tuliefekti.

KUVA 15. Unreal Engine 4:n Particle Editor -ikkuna, jossa näkyy purppura partikkeliefekti. Keltai- sella rajattu laatikko on kaavioiden muokkaus näkymä.

(32)

6 YHTEENVETO

Laadukas teksturointi on siis teknisesti ja visuaalisesti hyvin toteutettu 3D-objektin pintamateriaali.

Sen värit ovat tärkeässä osassa pelin ulkonäön luomisessa. Laatu tulee siitä, että kokonaisuus on koherentti ja se auttaa pelaajaa uppoutumaan pelaamiskokemukseen eikä pilaa sitä. Teksturointi- tyylin on pelattava pelin tyylin kanssa yhteen ja se ei kuluta liikaa tehoja.

Tekstuuri koostuu siis erilaisista mapeista: diffuse, bump, specular ja normal mapeista. Näillä jo- kaisella on oma osuutensa materiaalin määrittämiseksi, miten objekti renderöidään 3D-mallinnus- ohjelmassa ja pelimoottorissa. Purkamalla 3D-objekti hyvin harkitusti UV layoutiksi se saadaan kauniisti teksturoitua ilman, että rumat saumat jäävät näkyville. Tämä on myös merkittävä osa sitä, mistä tekstuurin laatu koostuu. Teksturointiin liittyy haasteita, kuten saumojen yhteen sovitta- minen. Tämän työprosessin helpottamiseksi on olemassa erilaisia apuohjelmia. Monimateriaa- liobjekti ei myöskään ole ongelma, kun sen purkaa UV layoutissa siten, että eri materiaalit ovat omia UV-saarekkeita UV mapissa. Tämä on mielekäs tapa tuottaa laadukasta teksturointia 3D- mallinnusohjelmassa.

Opinnäytetyö käsitteli partikkeliefektejä, jotka ovat matkivampi vaihtoehto animoidulle tekstuurille.

Siinä missä ennen animoitiin savua ja liekkiä, niitä tehdään yhä enemmän partikkeliefektillä. Par- tikkeliefekti luvussa käytiin läpi, mitä nämä efektit ovat ja miten niitä tehdään.

Opinnäytetyössä on käsitelty läpi teksturoinnin perusteet Blenderissä ja Unreal Engine 4:ssä. Mo- lemmat on tehty helppokäyttöiseksi ja koska molemmat ovat ilmaisia, ne ovat myös kaikille saata- villa. Koska etenkin Unreal Engine 4 on tehty pääosin visuaaliseksi ja intuitiiviseksi käyttää, on sille paljon kysyntää. Jotkut pelinkehittäjät ovat jopa tuottaneet kokonaisen pelin Unreal Engine 4:llä ilman minkäänlaista koodaamistaitoa, niin visuaaliseksi pelimoottorin käyttö on tehty. Ei siis mikään ihme, että indie-pelinkehittäjät suosivat molempia pelinkehityksessä.

Loppujen lopuksi laadukas tekstuuri on 3D-objektin kaunis pinta, joka on viimeinen silaus pelin henkiin puhaltamiseksi. Tekstuurin laatu on se, joka luo mieleen painuvan atmosfäärin ja mahdol- listaa unohtumattoman kokemuksen kolmiulotteisessa virtuaalimaailmassa.

(33)

LÄHTEET

Blender. 2018. Blender 2.79 Manual.

https://www.blender.org/manual/render/cycles/nodes/introduction.html.

Franson, D. 2004. The Dark Side of Game Texturing. Boston: Premier Press.

Kiiski, E. 2018. Game Artist. Sähköpostihaastattelu 1.12.2018. Tekijänhallussa.

Satheesh, PV. 2016. Unreal Engine 4 Game Development Essentials, Birmingham: Packt Publish- ing.

Summer, D. 2004. Texturing: Concepts and Techniques: Charles River Media.

Talouselämä. 18.4.2017. Talouselämä, Uutiset, Peliala.

https://www.talouselama.fi/uutiset/suomen-pelialan-kasvu-jatkui-hidastumisesta-huolimatta-talle- vuodelle-odotetaan-280ta-uutta-tyopaikkaa/e89066ce-27a4-31ac-bc1c-a261a9860730

Unreal Engine 4. 2018. Unreal Engine 4 Commercial Game Deployment Guidelines https://www.unrealengine.com/en-US/release

Zeman, N. 2015. Essentials Skills of 3D Modeling, Rendering, and Animation. London New York:

CRC Press.

(34)

KIISKI M. SÄHKÖPOSTIHAASTATTELU LIITE 1

Kerrotko lyhyesti mikä on sinun ammattinimikkeesi ja mikä on sinun 3D osaamisesi: mallin- taminen ja teksturointi.

”Ammattinimikkeeni on Game Artist ja olen generalisti, eli teen grafiikkaa laidasta laitaan. Osaami- seeni kuuluu kaikenlaista sekä 2D:n että 3D:n puolelta. Koko urani ajan olen työskennellyt mobiili- pelien parissa, tuottaen niihin muun muassa pelin sisäistä grafiikkaa (in-game, 2D & 3D), käyttöliit- tymän ulkoasua sekä toiminnallisuutta (UI & UX), animaatioita (2D & 3D) ja visuaalisia efektejä (VFX, partikkeliefektit).

Käytän työssäni mallintamiseen Autodesk Mayaa sekä teksturoimiseen Adobe Photoshopia.

Osaan myös mallintaa high poly -objekteja Mayan puolella sekä tiedän sculptauksen perusteet, mutta näitä tulee tehtyä harvemmin. Olen myös testaillut teksturoimiseen tarkoitettuja ohjelmia ku- ten Substance Painteria, mutta ne eivät ole istuneet omaan workflow’hun ainakaan toistaiseksi.”

Mikä tekee mielestäsi tekstuurista laadukkaan?

”Laadukas tekstuuri on mielestäni ensinnäkin pelin tyyliin istuva, eikä pistä silmään muiden teks- tuurien joukossa. Siinä on mietittynä värien valuet ja harmonia, ja se toimii kokonaisuutena. Hy- vässä tekstuurissa on mietitty loppuun UV-mappien sijainti ja texel-tarkkuus, jottei ainakaan yhden objektin tekstuurissa olisi suuria heittelyitä tarkkuuksien välillä. Ellei se sitten ole tarkoituksellista, esimerkiksi jos halutaan hahmon silmien olevan tarkemmat kuin muut osat kasvoista.

Laadukkaassa tekstuurissa on myös voitu yhdistellä useamman objektin tekstuuri, jottei pelin esi- merkiksi yhteen tiettyyn sceneen tarvitsisi ladata kovin montaa tekstuuria kerrallaan.”

Mitkä ovat epätoivottuja teksturointituloksia ja kuinka niiltä vältytään?

”Nopeiten silmäänpistäviä ongelmia teksturoinnin suhteen ovat seamit eli saumat, joita väkisin syn- tyy UV-mappauksen yhteydessä, kun objektin UV pilkotaan sopiviin paloihin. Tältä ongelmalta ei voi valitettavasti välttyä, mutta saumojen paikat voi valita niin, etteivät ne saman tien osu pelaajan

(35)

silmään. Esimerkiksi pelihahmon kasvot voidaan UV-mapata niin, että sauma osuu hahmon hius- rajaan, jonka päälle voi asettaa hahmon hiukset.

Suuria alueita mallinnettaessa (esimerkiksi ruoho- tai hiekkakentät) tulee teksturoinnissa ottaa huo- mioon toistuvien tekstuurien saumattomuus (seamless texture). Jos tekstuuria toistetaan saman 3D-objektin pinnalla useasti, se saattaa alkaa nopeasti näyttää koostuvan neliön muotoisista teks- tuuripaloista. Tätä voi välttää koittamalla tehdä tekstuurista mahdollisimman tasaisen ilman suuria silmiin pistäviä yksityiskohtia, jotka toistuessaan paljastavat heti, että isolla alueella on käytetty vain yhtä tekstuuria. Esimerkiksi ruohoalueella voi käyttää tällaisen tekstuurin päällä toistuvuutta rikko- via pieniä objekteja kuten kiviä, alpha planeista tehtyjä ruohotukkoja tai pensaita.”

Minkälainen vaikutus teksturoinnin laadulla on pelaajan pelikokemukseen?

”3D-pelissä tekstuurit luovat ympäristön, missä pelaaja hahmoaan liikuttaa. Jos tekstuurit on maa- lattu huonosti tai ne eivät noudata samaa tyyliä pelin sisällä, se rikkoo immersion hyvin nopeasti.

Immersiota haittaa myös silmiinpistävä pikselöitynyt tai blurraantunut tekstuuri.”

Minkälaisia haasteita sinulla on tullut vastaan peliobjektien teksturoinnissa tai UV-mappaa- misessa?

”Tekstuurin maalaamisessa Photoshopissa tulee usein ongelmia saumojen kanssa. Esimerkiksi liukuvärien (gradient) käyttö on välillä haastavaa, kun sen tulee jatkua samanlaisena myös toisella puolella UV:ta, eikä molempia puolia ole aina helppo saada osumaan kohdilleen. Sama pätee myös jatkumaan tarkoitettujen yksityiskohtien toistamisessa UV:n toiselle puolelle. Esimerkiksi puun tekstuuria maalatessa olisi suotavaa, että oksasta alkanut kaarnan uurre jatkuisi samasta kohtaa puun runkoon, vaikka välissä olisi sauma. Muun muassa tästä syystä teksturointiohjelmat kuten Substance Painter, ovat jumalan lahja 3D-mallintajalle. Niissä voi maalata suoraan mallin päälle, jolloin ei tarvitse välittää saumoista.

Olen työssäni joutunut paljon muokkaamaan valmiita 3D-objekteja, joita on esimerkiksi tilattu muu- alta tai ostettu Unityn Asset Storesta. Kun tarpeettomia edge loopeja poistelee valmiista mallista, UV-map saattaa vääntäytyä ihan kummalliseksi ja sen takia tekstuuri voi näyttää venyneeltä ja

(36)

mutta välillä ehdottoman tarpeellista, kun objektien polygon-määriä on pakko optimoida alkuperäi- sestä.”

Kerro workflow’stasi, kun UV-mappaat ja teksturoit monitekstuurista objektia (esim. puulaa- tikko rautareunoilla).

”Ensiksi varmistan, että minulla on hyvä kuvallinen suunnitelma (concept art), oli kyseessä sitten pelkkä laatikko tai monimutkainen hahmo. Siitä näen väriharmonian ja värikylläisyyden (value) toi- mivuuden ja saan nopeasti napattua värit lopulliseen tekstuuriin.

Esimerkiksi mainitun puisen laatikon tapauksessa UV-mappaisin tekstuurien eri osat erilleen. Eli metalliset ja puiset osat saisivat omat UV-shellinsä omien materiaaliensa mukaisesti. Niin helpotan teksturointityötä ja saumat jäisivät kätevästi eri materiaalien väleihin, jolloin ne eivät pistäisi sieltä ikävästi silmään. Kun olen testannut checker-tekstuurilla (testaukseen tarkoitettu tekstuuri, jossa on shakkilaudan tapaista neliökuviota), että UV näyttää tasaisen hyvältä, otan siitä UV Snapshotin ja vien kuvan Photoshopiin. Sitten maalaan tekstuuriin ensiksi pohjavärit ja testailen miltä se näyt- tää mallin päällä Mayassa. Lisäilen varjot ja valot ja muut tasaiset värialueet ennen yksityiskohtien maalaamiseen menemistä. Lopulta maalaan yksityiskohdat ja säädän värien arvot kohdilleen.”

Kiiski E. Sähköpostihaastattelu 1.12.2018

Viittaukset

LIITTYVÄT TIEDOSTOT

Opinnäytetyötä varten tein tutkimuksen, missä mitattiin tietokoneen näytönohjaimen ja suorittimen tarvitsemaa aikaa näyttääkseen yhden pelin ruudun.. Tutkimuksen

Laske pyramidin sivusärmän pituus ja kaltevuuskulma pohjan suhteen (vastaukset kahden numeron tarkkuudella).. Minä vuonna Vlerelsen taulukon mukaan Taulukko

Caiculate the positive sequence reactance / km of a three phase power line having conductors in the same horizontal plane.. The conductor diameter is 7 mm and

Valtioneuvoston asetuksessa maaperän pilaantuneisuuden ja puhdistus tarpeen arvioinnista (214/2007) on säädetty maaperässä yleisimmin esiintyvien haitallisten aineiden

The purpose of this thesis was to learn more about animation in video games and to learn how to use a commercial game engine, Unreal Engine 4’s basic animation workflow and tools

väylät, pois lukien.

Avainsanat Google ARCore, Lisätty todellisuus, Unreal Engine Blueprint, Visuaalinen ohjelmointi.. Sivut 55 sivua ja liitteitä

Tämän ase- generaattorin aseet saavat tulitusnopeus arvon niiden rungoista, koska runkoon on kytketty myös tulitusmekanismin tyyppi.. Recoil eli rekyyli aiheuttaa