• Ei tuloksia

3D-mallin teksturointi : perinteinen teksturointi vs. PBR-teksturointi

N/A
N/A
Info
Lataa
Protected

Academic year: 2022

Jaa "3D-mallin teksturointi : perinteinen teksturointi vs. PBR-teksturointi"

Copied!
47
0
0

Kokoteksti

(1)

3D-mallin teksturointi

Perinteinen teksturointi vs. PBR-teksturointi

Kalle Vikström

OPINNÄYTETYÖ Lokakuu 2019 Tietojenkäsittely Games Academy

(2)

TIIVISTELMÄ

Tampereen ammattikorkeakoulu Tietojenkäsittely

Pelituotanto

VIKSTRÖM, KALLE 3D-mallin teksturointi

Perinteinen teksturointi vs. PBR-teksturointi Opinnäytetyö 47 sivua, joista liitteitä 2 sivua Lokakuu 2019

Tässä opinnäytetyössä tutustuttiin 3D-mallin perinteiseen teksturointiin ja PBR- teksturointiin eli Physically Based Rendering –periaatteeseen perustuvaan teks- turointiin-, sekä verrattiin näitä menetelmiä keskenään. Tässä opinnäytetyössä kehitettiin toimeksiantajalle eli Iceflake Studios Oy:lle PBR:n periaatteiden mukai- sesti toimiva ja johdonmukainen teksturointityönkulku. Kehitystyötä kuvastaa 3D- mallin teksturointiprosessi, joka toteutettiin opinnäytetyön aikana käyttäen Blen- der-, Quixel Suite 2- ja Unity-sovelluksia. Tuloksena saatiin aikaiseksi hyvä pohja teksturoinnin työnkululle, jota voidaan lähteä kehittämään tarkemmin toimeksian- tajan tarpeisiin sopivaksi.

Teoriaosuudessa selvitettiin teksturointiin liittyviä tärkeimpiä tekijöitä sekä pereh- dytään yleisimpiin tekstuurikarttoihin. Tämän jälkeen syvennytään PBR-tekstu- roinnin periaatteisiin, eli pääasiassa valon ja materian fyysisiin ominaisuuksiin ja vuorovaikutukseen. Lisäksi käsiteltiin PBR-teksturoinnin yleisimmät työnkulut ja tekstuurikartat. Opinnäytetyön teksturoitava 3D-malli oli kirves, jolle luotiin ruos- teisen metallinen terä, puinen varsi ja nahkainen kädensija. Teksturointiprosessi käydään läpi perusteellisesti Quixel Suite 2 –ohjelmassa. Teksturoinnin jälkeen valmis kirves vietiin Unity-pelimoottoriin, jossa tutustuttiin Unity Standard -shade- riin. Prosessin lopuksi kirvestä vertailtiin eri ohjelmien sisällä ja havaittiin, että ne näyttävät lähes samalta, vaikka valaistus oli toisistaan poikkeava.

Opinnäytetyön aikana todettiin, kuinka PBR on nopeuttanut 3D-mallin teksturoin- tiprosessia, kun halutaan mahdollisimman realistinen lopputulos. Teksturoinnissa havaittiin, että PBR-teksturointiprosessi on perinteiseen teksturointiin verrattuna luotettavampi ja nopeampi. PBR-teksturointi voi olla prosessina melko yksinker- tainen, mutta sisältää tiettyjä periaatteita, joita tulisi noudattaa. Nykyään artistille on tarjolla niin paljon erilaisia sovelluksia ja materiaalipankkeja teksturoinnin avuksi, että kuka vain pystyy pienen perehdytyksen jälkeen teksturoimaan oikea- oppisesti.

Asiasanat: PBR, materiaali, teksturointi, 3D

(3)

ABSTRACT

Tampereen ammattikorkeakoulu

Tampere University of Applied Sciences Business Information Systems

Games Academy VIKSTRÖM, KALLE Texturing a 3D Model

Traditional Texturing vs. PBR Texturing

Bachelor's thesis 47 pages, appendices 2 pages October 2019

This thesis introduced and compared traditional texturing of a 3D model and tex- turing using the principles of PBR (Physically Based Rendering). The aim was to create a working consistent texturing workflow that follows these principles and produces realistic looking materials. This thesis was commissioned by Iceflake Studios Oy. The process of creating the workflow was represented by texturing a 3D model of an axe. The software used to create the axe were Blender, Quixel Suite 2 and the Unity game engine. This thesis produced a good starting base for a workflow, that can be further iterated to suite the needs of Iceflake Studios Oy.

This thesis studies some of the most important subjects related to texturing and explains the most common maps used in texturing. After the basics of texturing, this thesis takes a deeper approach with PBR. The theory behind PBR is mostly based on light and its interaction with surfaces consisting of different materials.

This part also explains the most commonly used PBR workflows and texture maps. The PBR texturing process of the axe is explained step by step using Quixel Suite 2, while also comparing it with the traditional approach to texturing.

The 3D model of the axe and its different texture maps were imported to Unity, where the Unity Standard shader was introduced. The appearance of the axe was compared in Quixel and Unity. There were no major differences even though the lighting in the different software were not identical.

This thesis concluded that using a PBR workflow speeds up the texturing process of a 3D model and compared to traditional texturing is more reliable in terms of realism. Texturing according to the PBR principles can be a very simple process but it contains certain rules and guidelines that should be followed.

Key words: PBR, material, texturing, 3D

(4)

SISÄLLYS

1 JOHDANTO ... 5

2 TEKSTUROINTI... 6

2.1 Shader ... 7

2.2 UV-map ... 7

2.3 Perinteinen tapa teksturoida ... 8

2.4 Siirtyminen fyysisiin ominaisuuksiin perustuvaan teksturointiin ... 9

3 PBR-TEKSTUROINNIN PERIAATTEET ... 12

3.1 Valo ... 12

3.2 Pinnan metallisuus ... 13

3.3 BRDF ... 14

3.4 Fresnel ... 15

3.5 IOR ja F0 ... 16

4 PBR-TEKSTUROINNIN TYÖNKULKU ... 18

4.1 Albedo/Diffuse map ... 19

4.2 Metal/Specular map ... 20

4.3 Roughness/Glossiness map ... 22

4.4 Normal map ... 23

4.5 Ambient Occlusion ... 24

4.6 Metallisuuteen perustuva lähestymistapa ... 26

4.7 Specular tai peilimäinen lähestymistapa ... 28

5 3D-MALLIN TEKSTUROINTI PBR-MATERIAALEILLA ... 29

5.1 Blender ... 30

5.2 Quixel Suite 2 ... 33

5.3 Unity ja Standard shader ... 40

6 POHDINTA ... 44

LÄHTEET ... 46

(5)

1 JOHDANTO

Teksturointi tietokonegrafiikassa on tärkeä osa sitä, miltä erilaiset 3D-mallit näyt- tävät simuloidussa ympäristössä. Teksturoinnin tarkoituksena on pinnoittaa 3D- malli yhdellä materiaalilla, joka kattaa sen kaikki tarvittavat fyysiset ominaisuudet.

Materiaalissa oleva shader, eli algoritmeista koostuva ohjelma, laskee kuinka ky- seinen objekti tulisi piirtää 3D-ympäristössä. Peliteollisuudessa 3D-mallien teks- turointi on erittäin tärkeä osa tuotantoa, sillä se määrittelee hyvin pitkälti miltä peli tulee näyttämään. Tämän takia teksturointiin sijoitetaan erittäin paljon aikaa ja vaivaa, jotta saataisiin haluttu lopputulos.

Shader-ohjelmien ja tietokonekomponenttien kehityttyä on siirrytty fyysisesti rea- listisempaan PBR-teksturointimenetelmään (Physically based rendering). PBR perustuu shader algoritmeihin, jotka laskevat pinnan kykyä heijastaa valoa mah- dollisimman realistisesti. Tämän kehityksen jälkeen teksturointiin käytettävä työ- määrä on vähentynyt huomattavasti, sillä 3D-mallille ei tarvitse tehdä eri valais- tuksiin omia materiaaleja. Tämän takia pelituotannossa PBR on johdonmukaisin tapa varmistaa, että saadaan materiaaleja, jotka käyttäytyvät oikein kaikissa va- laisuolosuhteissa.

Tässä opinnäytetyössä on tarkoituksena tutustua 3D-mallin teksturointiin, sekä vertailla perinteistä teksturointia ja PBR-teksturointia keskenään. Pohjustavan teorian jälkeen kuvataan PBR-menetelmiin perustuva 3D-mallin teksturointi. Tä- män opinnäytetyön toimeksiantaja on Iceflake Studios Oy. Tavoitteena on kehit- tää toimeksiantajalle PBR-teksturointia varten järkevä työnkulku, jonka lopputu- loksena olisi pinnaltaan valoon mahdollisimman realistisesti reagoiva 3D-malli.

Työkaluina käytetään Blender-, Quixel Suite 2- ja Unity-sovelluksia.

(6)

2 TEKSTUROINTI

Jos haluaa 3D-mallin pinnan muistuttavan todellista pintaa, täytyy kääntyä teks- turoinnin puolelle. Tämä prosessi on samanlaista kuin lisäisi koristepaperia val- koisen laatikon pinnalle. 3D:ssä tämä toteutetaan lisäämällä grafiikkaa polygo- neista koostuvan mallin pintaan. Nämä grafiikat voivat olla mitä vain, aina valo- kuvista omiin luomuksiin. (Pluralsight 2014.)

KUVIO 1. Teksturoitu 3D-malli ja sen tekstuurikartta (Pluralsight 2014)

Teksturoinnissa on tärkeää pitää mielessä, mihin lopullinen tuotos tulee ja mikä on sen tarkoitus. Esimerkiksi pelituotannossa 3D-mallien tulisi kuvastaa pelin ta- voittelemaa tyyliä. Niiden tulisi olla tyylillisesti mahdollisimman samankaltaisia, jotta pelillinen immersio eli pelimaailmaan uppoutuminen, ei kärsisi. Tämän takia peliyrityksissä on yleensä tapana noudattaa sovittua työkulkua 3D-mallien luon- nissa ja teksturoinnissa. Sovittu työnkulku helpottaa useasta artistista koostuvaa tiimiä luomaan mahdollisimman yhtenäisiä lopputuloksia.

Teksturointi on kuitenkin vain osa 3D-materiaalin luomisprosessia. Artistilla olisi hyvä olla edes perusymmärrys eri tekstuurikartoista, UV-mapista ja shaderin toi- minnasta.

(7)

2.1 Shader

Yksinkertaisesti shader on ohjelma, joka suoritetaan tietokoneen grafiikkaproses- sorissa. Renderöintimoottori syöttää sille 3D-mallin verteksejä, tekstuureja ja muuta tietoa, josta se saa vastaukseksi pikseleiden värit. (Shadercat 2016.) Shader kuvastaa siis 3D-mallin koko materiaalia. Miten se heijastaa ja absorboi valoa, kuinka läpikuultava se on ja millaisia pinnan muotoja siinä on. Tekstuuri on liitetty shaderiin, joka kertoo miltä objektin tulisi näyttää. (Pluralsight 2014.)

KUVIO 2. Flat ja Smooth shading Blender-ohjelmassa

Shaderit voivat käyttää sitä, mitä me tiedämme fysiikasta, simuloimaan oikeaa valaisua mahdollisimman tarkasti. Eli silloin shader toimii PBR:n periaatteiden mukaisesti. (Shadercat 2016.)

2.2 UV-map

EI ole olemassa niin kutsuttua 3D-tekstuuria, koska tekstuurit perustuvat aina 2D- kuvaan. UV-map on litteä kuvaus 3D-mallin pinnasta. Sitä käytetään tekstuurin

(8)

asettamisessa mallin pinnalle. UV-mapin luomisprosessia kutsutaan UV-unwrap- paukseksi- Eli kun 3D-malli on luotu, seuraava askel olisi unwrapata se UV-ma- piksi. Tämän jälkeen malli kartoitetaan 2D-informaatioksi, jotta tekstuuri saadaan asetettua paikoilleen. (Denham n.d.)

KUVIO 3. Unwrapattu kuutio Blender-ohjelmassa

Tämä tarkoittaa, että saumat 3D-mallin tekstuurissa ovat välttämättömiä. Joten UV-mappauksessa on otettava huomioon saumojen sijainnit ja piilotettava niitä tarpeen mukaan.

2.3 Perinteinen tapa teksturoida

Perinteisessä valaisumallissa käytetään yleisesti diffuusitekstuuria, spekulaari- tekstuuria, spekulaarimaskia ja normal mapia. Näihin saatettiin vielä edistyneem- missä materiaaleissa lisätä enemmänkin tekstuureja. (Lagarde 2011.)

(9)

KUVIO 4. Perinteisellä tavalla teksturoitu ase ja sen tekstuurikartat (Wilson 2015)

Komponenttien rajallisen laskentatehon takia karttoihin on lisätty manuaalisesti varjoja ja muita valaistukseen liittyviä korostuksia. Tämän takia artistit joutuivat usein tekemään variaatioita tekstuurikartoista eri valaisutilanteisiin, mikä on var- sin työlästä.

2.4 Siirtyminen fyysisiin ominaisuuksiin perustuvaan teksturointiin

PBR on pelialalla nopeasti standardiksi kehittyvä menetelmä, joka pyrkii uudel- leen määrittelemään miten me luodaan digitaalista sisältöä. Se on konsepti, jonka tarkoituksena on simuloida oikean maailman materiaaleja käyttäen realistisia va- laisumalleja sekä mitattuja pintalukemia. (Wilson 2015.) Suurin eroavaisuus

(10)

PBR:n ja perinteisten menetelmien välillä on valon ja pintojen yksityiskohtaisempi laskelmointitapa. Shader-ohjelmien kehitys on johtanut siihen, että vanhoista suurpiirteisistä menetelmistä voidaan luopua. (Russel 2015.)

KUVIO 5. PBR-periaatteiden mukaiset tekstuurikartat ja teksturoitu ase (Wilson 2015)

KUVIO 6. Perinteinen vs. PBR (Wilson 2015)

(11)

Kuvasta 6 voidaan havaita, kuinka paljon realistisempaa jälkeä saadaan, kun 3D- malli teksturoidaan PBR-periaatteiden mukaisesti. Perinteisellä tavalla tekstu- roitu malli näyttää lähes kokonaan koostuvan samasta muovisesta materiaalista.

Kun taas PBR-mallin pinta reagoi valoon hyvin eri tavalla materiaalista riippuen.

Tärkeitä eroja perinteisen valaisumallin ja fyysisen välillä ovat Fresnel-ilmiö, eli katselukulmaan perustuva heijastuksen voimakkuuden muutos, sekä energian säilyvyys. Energian säilyvyys tarkoittaa sitä, että poistuva energia ei voi olla suu- rempi kuin saapuva. (Seymour 2013.) Näitä periaatteita noudatetaan PBR-mate- riaalin shaderin sisällä.

KUVIO 7. Energian säilyvyys (Russell 2015)

(12)

3 PBR-TEKSTUROINNIN PERIAATTEET

PBR:n kaikki fyysiset ominaisuudet perustuvat valoon. Jotta me ymmärtäisimme jotain PBR:n periaatteista, meidän on ensin ymmärrettävä miten valo reagoi, kun sitä kohdistetaan eri materiaaleista koostuviin pintoihin. Valon heijastus tai hei- jastamattomuus on kuitenkin se, mihin kaikki meidän silmillä havaittu informaatio ja PBR perustuu.

3.1 Valo

Valo on monimutkainen ilmiö, sillä se käsittelee erilaisia aaltoja ja partikkeleja.

Tämän seurauksena on luotu erilaisia malleja siitä, miten valon käyttäytymistä voidaan simuloida. Teksturointiartistille kiinnostavin malli on valonsädettä kos- keva malli, sillä se kuvaa valon ja materian vuorovaikutusta. Mitä enemmän ym- märrämme valon käyttäytymisestä, sitä paremmalta tekstuurimme näyttävät.

(The PBR Guide part 1.)

Kun valo osuu pintaan, osa siitä heijastuu pois vastakkaisen kulman suuntaan.

Samalla tavalla kuin pallo kimpoaa, kun se heitetään seinään tai maahan. Täysin sileällä pinnalla tämä heijastuminen antaa peilimäisen vaikutelman. Sanaa ”spe- cular” eli peilimäinen, käytetään usein kuvaaman tätä ilmiötä. Kaikki valo ei kui- tenkaan heijastu pinnasta takaisin. Usein osa valosta läpäisee valaistun asian pinnan ja joko imeytyy siihen tai siroutuu sisäisesti useaan suuntaan. Osa tästä siroutuneesta valosta saattaa kuitenkin päästä pois pinnasta, jolloin se on taas silmien tai kameran havaittavissa. Tätä valoa kutsutaan diffuusivaloksi. (Russel 2015.) Jos objekti absorboi vain vähän valoa ja sirontaa ei tapahdu, valonsäteet voivat läpäistä suoraan sen pinnan. Näin tapahtuu esimerkiksi lasin kanssa. (The PBR Guide part 1.)

(13)

KUVIO 8. Valon heijastuminen ja siroutuminen (Russell 2015)

Jotta valo voi olla diffuusiovaloa, sen pitää ensin läpäistä objektin pinta, eli se ei heijastu pinnalta takaisin. Tätä voidaan pitää siis esimerkkinä energian säilyvyy- destä. Eli valo, joka poistuu pinnasta ei voi olla kirkkaampaa kuin siihen alunperin kohdistettu valo. (Russel 2015.) PBR-teksturoinnissa artistin ei tarvitse miettiä energian säilyvyyttä, sillä se on täysin shaderin kontrollissa. (The PBR Guide part 1.)

Erilaisista valon aaltopituuksista johtuen diffuusivalo vaihtelee ja tämä määritte- lee objektin värin. Eli jos objekti absorboi suurimman osan valosta ja sirottaa sen sinisenä, silloin objekti ilmenee sinisenä. Tietokonegrafiikassa objektille annettua albedo tekstuurikarttaa käytetään määrittelemään sitä, minkä värisenä siroutunut valo ilmenee. (Russel 2015.)

3.2 Pinnan metallisuus

Tietokonegrafiikassa materiaalit jaetaan kahteen kategoriaan: eristävät (esim.

puu) ja johtavat materiaalit (esim. teräs). Eli johtaako materiaali sähköä vai ei.

Metallit ovat siis johtavia materiaaleja ja ne omaavat korkeamman heijastavuu- den kuin eristävät materiaalit. Termi metallisuus tulee siitä, että onko materiaali metallia vai ei. Tietokonegrafiikassa sitä määritellään usein muuttujalla, joka on

(14)

nollan ja yhden väliltä. (Nichols 2018.) Eli tämän mukaan materiaali voisi olla esim. 50% metallia, joka pitää paikkaansa ainoastaan harvinaisempien metalli- seosten kohdalla. Yleensä materiaali on metalli tai jokin muu.

KUVIO 9. Materiaalin metallisuus kuvattuna asteikolla 0.0 – 1.0 (Körner 2015)

Eristävistä materiaaleista heijastuva valo on aina väritöntä, kun taas johtavien materiaalien heijastavuuden vaihtelun vuoksi niistä heijastuvan valon väri voi olla värjättyä. Tämä värjääminen on harvinainen ilmiö, mutta sitä esiintyy esimerkiksi kullassa, kuparissa ja messingissä. Teoriassa metalliset materiaalit eivät näytä ikinä merkkejä diffuusivalosta korkean heijastavuutensa takia. Mutta käytän- nössä, metallin pinnalla on usein hapettumia ja muita jäämiä, jotka sirottavat pie- nen määrän valosta. (Russel 2015.)

PBR-materiaalia luodessa on siis järkevää kysyä, onko se metallia vai ei. Jos on, niin on myös hyvä miettiä missä kunnossa metalli on. Onko se maalattua, ruos- teessa tai muun materian (esim. hiekan) peitossa? Jos materiaali ei ole puhdasta metallia, sitä kohdellaan eristävänä materiaalina. (The PBR Guide part 1.) Mate- riaalin metallisuutta määritellään usein mustavalkoisella tekstuurikartalla, joka kertoo, mikä on metallia (valkoinen) ja mikä ei (musta). Tätä karttaa kutsutaan metallic mapiksi.

3.3 BRDF

Bidirectional reflectance distribution function tai BRDF, on shaderissa sijaitseva funktio, joka määrittelee pinnan heijastavuuden ominaisuudet. Eli heijastuksen

(15)

kirkkauden ja diffuusivalon määrän. Jotta BRDF olisi fyysisesti mahdollinen, sen pitää noudattaa energian säilyvyyttä ja käyttäytyä vastavuoroisuusperiaatteen mukaisesti. Vastavuoroisuusperiaate tarkoittaa sitä, että saapuvia ja poistuvia va- lonsäteitä voidaan ajatella toistensa kääntöpuolina, vaikuttamatta BRDF:n loppu- tulokseen. (The PBR Guide part 1.) Artistin olisi hyvä tietää mikä on kyseisen funktion tarkoitus, sillä shaderissa voi olla eri BRDF-vaihtoehtoja.

3.4 Fresnel

Tietokonegrafiikassa sana Fresnel tarkoittaa katselukulmasta riippuvaa heijasta- vuuden vaihtelua. Eli valo, joka osuu katselukulmaan nähden objektiin sivusta, heijastuu todennäköisemmin kuin se, että valo osuisi siihen kohtisuoraan. Toisin sanoen objekteilla, joilla on toimiva Fresnel, on kirkkaampi heijastus reunoissa.

(Russel 2015.)

KUVIO 10. Heijastetun valon määrä kasvaa suuremmaksi katselukulman kasva- essa. (Scratchapixel n.d)

Toisin kuin perinteisessä teksturoinnissa, PBR-teksturoinnissa shader kontrolloi materiaalin Fresneliä. Kaikki sileät pinnat heijastavat lähes täydellisesti valoa 90

(16)

asteen katselukulmassa. (The PBR Guide part 1.) Tämän vuoksi artistien ei tar- vitse miettiä Fresneliä teksturoidessaan PBR-periaatteen mukaan.

3.5 IOR ja F0

IOR eli Index of refraction on mittalukema, joka kertoo, kuinka nopeasti valo lä- päisee tietyn materiaalin. Mitä korkeampi indeksi on, sitä hitaammaksi valo muut- tuu materiaalin sisällä. Esimerkiksi tyhjiön IOR on 1,000 ja veden IOR on 1,333333. IOR määrittelee myös, kuinka valonsäde muuttaa suuntaa materiaalin sisällä. Esimerkiksi kun valo siirtyy tiheämpään materiaan, se refraktoituu ja hi- dastumisesta johtuen taittuu normaalin suuntaan. (Ashish 2018.)

KUVIO 11. Pilli näyttää vääntyneeltä, johtuen valon refraktoinnista (The PBR Guide part 1)

Kun valo osuu pintaan kohtisuoraan katselukulmaan nähden, tietty määrä siitä valosta heijastuu pois. Pinnan IOR-lukua käyttäen, voidaan päätellä heijastuvan valon prosentuaalinen osuus koko valon määrästä. Tätä valon heijastunutta

(17)

osuutta kutsutaan F0:ksi (Freznel zero). Valon osuutta, joka siroutuu pintaan, kut- sutaan 1-F0:ksi. (The PBR Guide part 1.)

F0-arvo eristäville pinnoille on 0,02 (2%) – 0,05 (5%) ja johtaville pinnoille 0,5 (50%) – 1,0 (100%). Teksturoinnissa F0-arvo tulisi pitää mielessä, ellei se ole täysin shaderin hallinnassa. Eristävillä pinnoilla on mustavalkoinen arvo ja johta- villa pinnoilla RGB-arvo. PBR:n kannalta voidaan todeta, että eristävien pintojen F0 heijastaa 2% - 5% valosta ja 90 asteen kulmasta 100%. (The PBR Guide part 1.)

KUVIO 12. Sileän eristävän pinnan F0 heijastaa 2-5% valosta ja 90 asteen kat- selukulmasta 100% valosta (The PBR Guide part 1)

(18)

4 PBR-TEKSTUROINNIN TYÖNKULKU

On useita eri tapoja luoda PBR tekstuureja. Valittu metodi riippuu hyvin paljon omista mieltymyksistä ja mitä ohjelmia on käytettävissä. (Wilson 2015.) Fyysisiin ominaisuuksiin perustuva renderöinti eli PBR on siis enemmän menetelmäoppi kuin varsinainen standardi. (The PBR Guide part 2.) Tekstuurien luomisprosessi ei ole kuitenkaan yhtä tärkeä kuin varsinainen lopputulos. Tämän takia eri mene- telmien kokeilu on suositeltavaa, jotta löytyisi sopivin metodi omiin tarpeisiin.

Tekstuurien muokkausta tietynlaiseen valaisutilanteeseen tulisi välttää, sillä PBR-materiaalin pitäisi näyttää mahdollisimman realistiselta valaistuksesta riip- pumatta. Paras tapa on käyttää mitattuja arvoja. Silloin prosessi pysyy yksinker- taisempana ja materiaalit johdonmukaisempina. (Wilson 2015). Alkuun pääsee hyvin käyttämällä valmiita pohjamateriaaleja, joita löytyy erilaisista materiaalipan- keista, kuten esimerkiksi Quixelin Megascans verkkokirjastosta.

KUVIO 13. PBR-periaatteiden mukaisesti teksturoitu puuhöylä (Maertz n.d)

(19)

KUVIO 14. Puuhöylän PBR-tekstuurikartat (Maertz n.d)

4.1 Albedo/Diffuse map

Albedo map on tekstuurikartta, joka määrittelee materiaalin pohjavärin, eli diffuu- sivalon värin. Albedo eroaa perinteisestä diffuusikartasta niin, että siitä puuttuu kokonaan kohdistettu valo ja ambient occlusion. Kohdistettu valo näyttäisi vää- rältä eri valaisutilanteissa ja ambient occlusion tulee lisätä erillisenä karttana.

(Wilson 2015.) Albedo map voi määrittää myös metallin heijastavuuden.

PBR:ssä näiden metallien heijastavuuden arvot tulisivat olla mitattuja, oikeita ar- voja. (The PBR Guide part 2.)

(20)

KUVIO 15. Puuhöylän albedo-kartta (Maertz n.d)

KUVIO 16. Albedo määrittelee diffuusivalon värin (Wilson 2015)

4.2 Metal/Specular map

Metallic map osoittaa mitkä alueet materiaalista kuvastavat metallia. Se on mus- tavalkoinen kuva, joka tomii käytännössä samalla tavalla kuin perinteinen maski.

Se kertoo materiaalin shaderille kuinka sen tulisi tulkita pohjavärin eri alueita. Eli mitkä kohdat ovat metallia ja mitkä eivät.

(21)

KUVIO 17. Puuhöylän metallic-kartta. (Maertz n.d)

Jos metallinen alue on esimerkiksi maalin peitossa, sitä tulisi tulkita epämetallina.

Kyseinen alue merkataan silloin mustaksi metallic karttaan. Raaka metalli merki- tään valkoisella ja näiden kahden sekoitus on harmaata. Esimerkiksi metalli, jonka päällä on pintaa vääristävä likakerros, voitaisiin merkitä harmaalla. (The PBR Guide part 2.)

KUVIO 18. Ruostuneita alueita kohdellaan eristävinä, joten niiden F0-arvo on 4% (The PBR Guide part 1)

(22)

Specular map määrittelee materiaalin heijastavuuden värin, sekä sen voimakkuu- den. Eli tällä menetelmällä pinnalta heijastuvalla valolla voi olla eri väri kuin sen diffuusiovalolla.

4.3 Roughness/Glossiness map

Roughness map kuvailee pinnan epätasaisuuksia, jotka aiheuttavat valon dif- fusointia eli hajontaa. Tässä kartassa mustat alueet kuvastavat sileää ja valkoiset alueet epätasaista pintaa. Epätasaisilla pinnoilla on suurempi ja sumeammalta vaikuttava heijastus. Kun taas sileämmillä pinnoilla heijastusalue on pienempi ja kirkkaampi. Heijastuvan valon määrä pysyy kuitenkin samana.

KUVIO 19. Puuhöylän roughness-kartta (Maertz n.d)

Glossiness map toimii samalla periaatteella kuin roughness. Ainoa ero on se, että kartta on käänteinen. Eli mustat alueet kuvastavat epätasaisuuksia ja valkoiset sileää pintaa. (The PBR Guide part 2.)

Näillä kartoilla on tarkoitus luoda pinnalle kulumaa ja antaa sille personaalisuutta.

Missä ympäristössä se on? Mille asioille pinta on altistunut? Onko se vanhaa vai

(23)

uutta? Hyvä paikka aloittaa epätasaisuuksien teko on normal map, joka sisältää tärkeitä yksityiskohtia materiaalin pinnan muodoista. (The PBR Guide part 2.) Eli tässä kohtaa artistin tulisi käyttää hyväksi luovaa vapautta. Vaikka toimitaankin fyysisten sääntöjen rajoissa, ei tulisi unohtaa luovuttaa ja mielikuvitusta.

4.4 Normal map

Normal mapia käytetään simuloimaan pinnan muotoja. Se on RGB-kartta, jossa jokainen väri vastaa pinnan X-, Y-, Z-koordinaatteja. Siinä voidaan esimerkiksi säilyttää yksityiskohtaisia pinnan muotoja korkearesoluutioisesta 3D-mallista, jotka sitten projisoidaan matalaresoluutioiseen malliin. (The PBR Guide part 2.) Toisin sanoen, siihen yleensä leivotaan yksityiskohtaisia pinnan muotoja geomet- rian määrän säästämiseksi. Normal map ei kuitenkaan muokkaa pinnan varsi- naista muotoa, joten 3D-mallin silhuetti on sama joka tapauksessa.

KUVIO 20. Puuhöylän normal-kartta (Maertz n.d)

(24)

KUVIO 21. Normal mapin vaikutus 3D-mallin pintaan (Chadwick n.d) 4.5 Ambient Occlusion

Ambient Occlusion, lyhennettynä AO, määrittelee kuinka paljon ympäristöstä tu- leva valo vaikuttaa materiaalin pintaan. Eli sillä estetään valoa pääsemästä tiet- tyyn pisteeseen. Se yleensä leivotaan 3D-mallin pinnan muodoista tekstuurikar- taksi käyttäen simuloitua valaistusmallia. PBR:ssä sitä ei tulisi laittaa albedoon, vaan pitää se omana erillisenä karttana. AO:n tulisi peittää ainoastaan dif- fuusiovaloa, eikä vaikuttaa heijastuvaan valoon ollenkaan. (Wilson 2015.)

(25)

KUVIO 22. AO-kartta ja Albedo kartta. (The PBR Guide part 2)

Joissakin renderöintimoottoreissa on mahdollista simuloida ambient occlusionia reaaliaikaisesti, jolloin tämä kartta ei ole välttämätön. Tätä simulointia kutsutaan screen space ambient occlusionksi, eli SSAO:ksi. Yleensä kuitenkin näiden kah- den menetelmän yhdistelmä tuottaa parhaimman tuloksen.

(26)

KUVIO 23. AO:n vaikutus digitaalisessa ympäristössä (Arvi VR 2018)

4.6 Metallisuuteen perustuva lähestymistapa

PBR-teksturoinnin alkuvaiheessa on yleensä hyvä kysyä, onko materiaalin pinta metallia vai ei? Sillä sekä metal/roughness- että specular/glossiness työnkulku perustuvat pääasiassa pinnan metallisuuteen. Lähestymistavat johtavat lähes sa- maan lopputulokseen, mutta omaavat hieman erilaiset ominaisuudet.

(27)

KUVIO 24. Specular vs. metalness (Wilson 2015)

Metalness-työnkulussa albedo map määrittelee pinnan värin materiaalin tyypistä riippumatta sekä pinnan heijastavuuden. Metallic map määrittää mitkä alueet pin- nassa ovat eristävää materiaalia ja mitkä metallia. Tämän takia kontrolli pinnan heijastavuudesta siirtyy käytännössä kokonaan shaderin puolelle. Eristäville ma- teriaaleille määrätään vakio heijastavuus, joten sitä ei pääse erikseen muokkaa- maan. Näin ollen epärealistisia pintoja ei pääse syntymään yhtä helposti, mutta kontrolli materiaalin ominaisuuksista rajoittuu. Roughness mapilla määritellään kuinka sileää tai rosoista pinta on ja sen tarkoitus on tehdä materiaalista persoo- nallinen. Metalness-työnkulku käyttää myös vähemmän tekstuurimuistia kuin täy- sin värillinen specular-työnkulku, joka on optimaalista varsinkin pelituotannossa.

(Wilson 2015.)

(28)

4.7 Specular tai peilimäinen lähestymistapa

Specular-työnkulku käyttää diffuusikartan lisäksi specular- ja glossiness-karttaa.

Tämä työnkulku voi olla helpompi lähestymistapa artisteille, jotka ovat tottuneet käyttämään perinteisempiä shader-malleja, jossa tämä on tavanomaisempaa.

Keskeisintä tässä työnkulussa on parempi kontrolli pinnan heijastavuudesta, mikä tosin antaa enemmän tilaa virheille. (Wilson 2015.)

Diffuusikartta, jota kutsutaan myös albedoksi, antaa pohjavärin, mutta ei sisällä heijastavuusinformaatiota. Kartassa metalliset kohdat määritellään mustiksi.

Specular-kartta on värillinen RGB-kartta, jossa määritellään metallien heijasta- vuus sekä eristävien materiaalejen F0 arvot. Näin ollen eristävillä materiaaleilla voi olla omat heijastavuusarvot, toisin kuin metalness-työnkulussa. Glossiness- kartta toimii samalla periaatteella kuin roughness-kartta, mutta käänteisesti. (Wil- son 2015.)

(29)

5 3D-MALLIN TEKSTUROINTI PBR-MATERIAALEILLA

Tämän kappaleen aikana käydään läpi fantasiamaailmaan sopivan 3D-taistelu- kirveen teksturoinnin PBR-materiaaleilla. Kirves on tätä opinnäytetyötä varten mallinnettu Blender-ohjelmalla. Se teksturoidaan Quixel Suite 2-sovelluspaketilla metallic työnkulkua noudattaen. Kirveelle tehdään kolme erilaista materiaalia:

puu, teräs ja nahka. Teksturoinnissa käytetään Quixelin mukana tulevia pohja- materiaaleja prosessin nopeuttamiseksi. Tämän aikana käydään kuitenkin läpi mitä ne sisältävät ja kuinka niiden eri tekstuurikarttojen muokkaaminen vaikuttaa varsinaiseen lopputulokseen. Lopuksi kirves viedään Unity-pelimoottoriin, jossa tekstuurikartat kytketään Unityn Standard shaderiin.

KUVIO 25. Prosessikaavio toteutettavasta työnkulusta

Tarkoituksena on nähdä kuinka hyvältä teksturoitu kirves näyttää pelimoottorissa ja näyttääkö se samalta kuin teksturointiohjelmassa. Tästä pitäisi nähdä kuinka paljon eri valaisut, shaderit ja renderöintimoottorit vaikuttavat lopulliseen 3D-mal- liin. Samalla vertaillaan työnkulkua perinteiseen tapaan teksturoida, jotta saa- daan käsitys siitä, miten PBR parantaa teksturointiprosessia. Tärkeintä tässä on kuitenkin se, että saadaan dokumentoitua toimivaksi todettu metallic-työnkulku ja saadaan aikaiseksi realistinen pinta kirveelle.

(30)

5.1 Blender

Blender on ilmainen avoimen lähdekoodin 3D-mallinnus ohjelma, joka toimii Win- dowsilla, Linuxilla ja Macintoshilla. Se tukee koko 3D-työnkulkua, eli mallinnusta, riggausta, animointia, simulointia, renderöintiä, liikkeen seurantaa, editointia ja pelintekoa. (Blender n.d.)

Kirves mallinnettiin kolmessa osassa. Ensin metallinen terä, sitten puinen varsi ja lopuksi nahkainen kädensija. 3D-mallin geometria pidetään alhaalla, jotta se olisi mahdollisimman optimaalinen pelimoottoriin. Eli tehtiin ns. low poly -malli.

Yleensä tässä vaiheessa tehdään ensin high poly -malli, josta leivotaan geomet- rian yksityiskohdat normaalikarttaan. Kartta laitetaan low poly -mallille, jolloin säästetään geometriassa, mutta ei yksityiskohdissa. Tämä vaihe jätettiin kuiten- kin tekemättä ajan säästämiseksi. Quixel Suite 2:lla saadaan tätä demonstraa- tiota varten tarpeeksi hyvää jälkeä, ottaen huomioon kuinka yksinkertainen kysei- nen kirves on.

KUVIO 26. Low poly kirves Blenderissä

(31)

Mallinuksen jälkeen kirveelle määriteltiin saumat ja se unwrapattiin UV-kartaksi.

Kun 3D-mallilla on UV-kartta, siitä voidaan leipoa AO –kartta sekä ID –kartta. ID- kartassa on annettu kaikille halutuille elementeille oma uniikki väri, esim. kaikki metalli on punaista, kaikki puu on sinistä ja kaikki nahka on vihreää. (Franczak 2018.) Kirveen jokaiselle materiaalille annetaan oma väri ID-kartassa. Tämä mahdollistaa nopeamman tavan määritellä tarvittavat pohjamateriaalit jokaiselle elementille.

Perinteisessä teksturoinnissa itse mallinnusvaihe ja uv-mappaus toteutetaan sa- malla periaatteella. ID-kartta ei ole pakollinen ja sen tekeminen riippuu täysin siitä, miten teksturointi toteutetaan ja minkälainen teksturoitava 3D-malli on. Esi- merkiksi jos teksturointi tehdään täysin käsin Photoshopissa, ID-kartta ei välttä- mättä auta prosessia merkittävästi ja eri materiaalit voidaan maskata Photos- hopissa tarpeen mukaan. Perinteisessä teksturoinnissa AO-kartta leivotaan 3D- mallista ja asetetaan diffuusikarttaan. Tämä tarkoittaa sitä, että jos pelissä olevan 3D-mallin AO:ta halutaan muuttaa, täytyy muokata sen diffuusikarttaa pelimoot- torin ulkopuolella. PBR:ssä AO-kartta laitetaan shaderissa omaan kanavaan, jo- ten AO:n määrää pystyy säätämään kätevästi pelimoottorin sisällä.

KUVIO 27. Kirveen UV-kartta

(32)

KUVIO 28. Kirveen ID-kartta

KUVIO 29. Kirves ID-kartalla

(33)

5.2 Quixel Suite 2

Mallinnuksen jälkeen päästään varsinaiseen teksturointiin. Teksturointia pystyy harjoittamaan lukuisilla eri työkaluilla. Sunstance Painter-, Zbrush-, 3D-coat-, Mudbox- ja Photoshop-ohjelmat ovat hyviä esimerkkejä. Jopa Blenderillä pystyy teksturoimaan, mutta se ei ole varsinaisesti siihen erikoistunut ohjelma. Tässä opinnäytetyössä päädyttiin kuitenkin Quixel Suite 2 -sovelluspakettiin, jota käyte- tään Iceflake Studiosilla pääasiallisena teksturointityökaluna.

Quixel Suite 2 on käytännössä ohjelmapaketti, jota käytetään Photoshopin si- sällä. Pakettiin kuuluu NDO-, DDO-, ja 3DO-ohjelmat. NDO on normaali kartan muokkaukseen tarkoitettu työkalu, jolla voi helposti lisätä uurteita ja kuhmuja tekstuuriin. Tämä on esimerkiksi kätevä erilaisten kovien pintojen yksityiskohtien lisäämiseen. 3DO-työkalu mahdollistaa materiaalien muokkauksen 3D-näky- mässä. Se sisältää myös eri jälkikäsittely- ja valaisuvaihtoehtoja. DDO:lla artisti voi nopeasti ja helposti luoda korkea laatuisia materiaaleja. Se mahdollistaa ma- teriaalipintojen maalaamisen lisäksi eri tasojen maskauksen. Se käyttää hyväksi Quixelin kattavaa materiaali- ja smart materiaalikirjastoa. (Quixel n.d.)

Smart –materiaalit sisältävät useita tasoja, jotka valmiiksi kaikki tarvittavat kulu- mat, hapettumat, maalit ja muut vastaavat elonmerkit. Nämä ovat yleensä mas- kattu niin, että ne asetetaan 3D-mallin geometrian mukaan järkevästi. Eli esim.

reunakulumat tulevat aina oikeaan paikkaan mallista riippumatta. Quixeliin voi tuoda myös lisää materiaaleja muualta, esimerkiksi Quixelin Megascans -materi- aalikirjastosta. Vaihtoehtoisesti voi myös tehdä omia materiaaleja sekä smart - materiaaleja. Kaikki Quixelin sisältämät materiaalit käyttävät skannattuja oikeaan maailmaan perustuvia arvoja, joten artistin ei tarvitse huolehtia niiden fyysisistä ominaisuuksista.

Kirveen 3D-malli, AO-kartta ja ID-kartta tuotiin Quixelin DDO-ohjelmaan. Reso- luutioksi tuleville tekstuureille laitettiin 1024 pikseliä sekä valittiin pakkausmuoto, joka noudattaa Unityn metallic -työnkulkua. ID-kartan ansiosta, DDO:ssa pystyy helposti teksturoimaan ennalta määriteltyä aluetta ilman erillistä maskausta. Kir- veen terälle määriteltiin pohjamateriaaliksi kulunut teräs, joka kattaa koko terän.

(34)

3DO-työkalua hyödyntäen teräksen päälle maalattiin harjattua metallia, joka nä- kyy ainoastaan varsinaisessa terävässä kohdassa. Ja lopuksi kaiken päälle lai- tettiin kevyt ruostepinta. Kirveestä tulee heti mielenkiintoisempi, kun siinä näkyy selkeitä käytön ja ajan aiheuttamia yksityiskohtia. Nämä tärkeät yksityiskohdat sijaitsevat roughness -kartassa. Roughness kontrolloi myös metallin heijasta- vuutta pinnan kuluman mukaan.

KUVIO 30. Teksturoitu terä

(35)

KUVIO 31. Terän eri tekstuurikarttojen materiaalit, väri ja läpinäkyvyys

Puiselle varrelle määriteltiin pohjamateriaaliksi perus puumateriaali ja siihen mas- kattiin päälle likakerrostuma. Maskaus tapahtui 3DO:n avulla maalaamalla likaa halutuille alueille. Puu ei ole metallia, joten metallic -kartassa se merkataan mus- taksi. Normaali- ja roughness -kartta sisältävät puun yksityiskohdat ja albedosta löytyy puun pohjaväri. Puun F0 on 4%, joka on vakio kaikille eristäville materiaa- leille metallic -työnkulun mukaisesti.

(36)

KUVIO 32. Teksturoitu puu

KUVIO 33. Puuvarren materiaalitasot

(37)

Nahkamateriaali toteutettiin käyttämällä smart -materiaalia. Kyseinen materiaali sisälsi nahkaisen pohjamateriaalin, värjäymätason ja reunakulumatason. Pohja- materiaalin sekä värjäymän albedo-väriä muokattiin lähes mustaksi ja reunaku- luman väriä vaalennettiin tuomaan hieman kontrastia.

KUVIO 34. Teksturoitu nahka

(38)

KUVIO 35. Nahkamateriaalin tasot

KUVIO 36. Teksturoitu kirves Quixelin 3DO-näkymässä

(39)

Kirveen teksturoinnin jälkeen valmiit tekstuurikartat pakattiin metallic-työnkulun mukaisesti Unityn standard shaderiin sopiviksi. DDO:ssa käytetään glossiness - karttaa, joka invertoidaan pakkausvaiheessa roughness -kartaksi. Quixel sijoittaa roughness -kartan metallic -kartan alfakanavalle.

KUVIO 37. Kirveen albedo-, metallic- (roughness alfakanavassa), normal- ja AO-kartat

Perinteisessä teksturoinnissa ainoastaan normal-kartta olisi pysynyt samanlai- sena. AO-kartta olisi upotettu albedoon eli diffuusikarttaan, johon olisi vielä lisätty ylimääräisiä varjoja ja heijastuksia sopimaan ennalta määritettyyn valaisumalliin.

Metallic- ja roughness -kartat olisi korvattu specular -kartalla, johon pitäisi käsin maskata kuinka paljon kukin alue kirveestä heijastaa valoa ja kuinka paljon. Tämä

(40)

olisi huomattavasti enemmän aikaa vievä lähestymistapa, sillä heijastusten arvoa pitäisi säätää pelimoottorin ympäristön valaisutilanteeseen sopivaksi ja se tapah- tuu ainoastaan kokeilun tai kokemuksen kautta. Jos otetaan vielä huomioon digi- taalisen ympäristön muuttuva valaisu, silloin artistin tulisi tehdä näihin eri valai- sutilanteisiin sopivat maskit. PBR-teksturoinnissa materiaalin pinta reagoi valon määrästä riippumatta aina realistisesti, joten sama metallic/specular -kartta riit- tää, eikä ylimääräistä säätöä tarvita.

5.3 Unity ja Standard shader

Unity on ilmainen monialustainen pelimoottori, jolla pystyy luomaan 2D- ja 3D- pelejä, sovelluksia ja interaktiivisia kokemuksia. (Unity3D n.d.) Se julkaistiin vuonna 2005, tarkoituksena mahdollistaa pelienteko kaikille halukkaille osaami- sesta tai budjetista riippumatta. Unity on erittäin suosittu indie-, eli itsenäisten pelintekijöiden keskuudessa ja sillä onkin jo yli 6 miljoonaa aktiivista käyttäjää.

(Axon 2016.) Tässä opinnäytetyössä päädyttiin käyttämään Unityä, koska se on ilmainen ja se on käytössä Iceflake Studiosilla.

Unityn Standard shader on pelimoottoriin sisäänrakennettu shader, joka noudat- taa PBR:n periaatteita. Eli se noudattaa energian säilyvyyttä ja simuloi Fresnel- heijastuksia. Idea sen taustalla oli saada käyttäjäystävällinen shader, joka rende- röi johdonmukaisesti uskottavia pintoja kaikissa valaisutilanteissa. Standard sha- der on suunniteltu pääasiassa kovia pintoja varten, mutta tekee kelpo jälkeä myös pehmeille pinnoille. (Unity documentation 2019) Unity sisältää myös useita ns.

Legacy shadereita, joita käytettiin ennen Standard shaderia. Shadereita on niin monta lähinnä niiden yksinkertaisuuden takia ja koska ne sopivat vain tiettyihin tilanteisiin. Perinteiseen teksturointiin nähden PBR on tässäkin tapauksessa huo- mattavasti yksinkertaisempi, sillä se tarvitsee ainoastaan yhden shaderin toimi- akseen oikein. Näin ollen, ei tarvitse luoda tekstuureja eri shadereiden ja valai- sutilandein mukaan.

(41)

KUVIO 38. Unityn Standard shaderin ominaisuudet

(42)

KUVIO 39. Esimerkki yhdestä Unityn Legacy shaderista (Unity documentation)

Kirveen 3D-malli ja Quixelissa pakatut tekstuurikartat tuotiin Unityyn. Tämän jäl- keen luotiin uusi materiaali, joka käyttää Unityn Standard shaderia. Aluksi katsot- tiin jokaisen tekstuurikartan vaikutus 3D-mallin pintaan yksittäin. Kaikki kartat muuttivat merkittävästi mallin pintaan, paitsi AO-kartta. Sen vaikutus on varsin huomaamaton kaikkialla muualla paitsi kädensijan nahkaremmin väleissä. Kir- veessä ei ole kovin montaa paikkaa, johon valon pääsyä pitäisi estää, joten tämä oli odotettavissa.

Lopulta lisättiin kartat yksitellen materiaaliin ja katsottiin kuinka ne vaikuttavat yh- dessä kirveen pintaan. Lopullinen materiaali käyttäytyy lähes samalla tavalla kuin

(43)

Quixelin 3DO-näkymässä, eikä mitään suurempia eroavaisuuksia ole havaitta- vissa. 3DO:ssa materiaalin pinta on hieman saturoituneempi ja tummempi kuin Unityssä. Tämä johtuu joko valaisutilanteesta tai eri shaderien tavasta renderöidä kirveen pinta. Molemmissa tapauksissa kirveen eri materiaalien pinnat näyttävät uskottavilta. Voidaan siis päätellä, että tällä teksturointimenetelmällä saadaan tehtyä nopeasti PBR:n periaatteita noudattava materiaali. Huonoja puolia työn- kulussa on yksityiskohtien menetys high poly -mallin poisjättämisestä ja täysi riip- puvuus materiaalikirjaston sisällöstä.

KUVIO 40. Teksturoitu kirves Unity-ohjelmassa ja Quixel 3DO-ohjelmassa

(44)

6 POHDINTA

Tämän opinnäytetyön tavoitteena oli kehittää PBR-periaatteita noudattava työn- kulku, joka noudattaa pinnan metallisuuteen perustuvaa lähestymistapaa. Tämän seurauksena luotiin 3D-malli, jonka pinta heijastaa valoa uskottavasti eri rende- röintimoottoreissa. Työnkulku oli nopea, noudatti opinnäytetyössä läpikäytyjä PBR:n periaatteita ja todettiin toimivaksi tavaksi teksturoida yksinkertainen 3D- malli. Toimeksiantajalle tämä työnkulku on hyvä alku, jota voisi vielä kehittää koko 3D-tiimille sopivaksi. Tiimillä ei ole tällä hetkellä yhteistä teksturointityönkulkua, vaan jokainen teksturoi pitkälti omien tottumuksien mukaan. Yhteinen toimiva työnkulku voisi tehostaa teksturointiprosessia ja yhtenäistää lopputuloksia. Työ- kalut vaihtuvat ja muuttuvat, mutta ajatus prosessin takana pysyy melko samana.

Opinnäytetyössä ei käyty läpi varsinaisten materiaalien luontia. Tämä prosessi ei ole pakollinen, sillä nykyään on saatavilla niin paljon valmiita fyysisesti realistisia materiaaleja, joita pystyy hyödyntämään teksturoinnissa. Valmiit materiaalit ra- joittavat tietenkin luovaa prosessia hieman, sillä silloin luovutaan materiaalien ominaisuuksien täydestä kontrollista. Tarkoituksena oli myös vertailla hieman pe- rinteistä teksturointia PBR:ään ja huomattiin, että PBR automatisoi prosessia huomattavasti, jolloin aikaa säästyy. Käsintehdyt varjot ja heijastukset voidaan kokonaan unohtaa ja keskittyä ainoastaan eri PBR-materiaalien ja tasojen yhdis- telyyn. Yksinkertaisesti se, että PBR-teksturoitu 3D-malli näyttää hyvältä missä tahansa valaisutilanteessa on tarpeeksi hyvä syy siirtyä pois perinteisistä mene- telmistä.

Opinnäytetyö tutustuttaa aloittelevalle 3D-artistille tarvittavat teksturointikäytän- nöt ja auttaa ymmärtämään mitä PBR on ja kuinka sen periaatteita sovelletaan.

Se on kuitenkin vasta pintaraapaisu siitä, mitä kaikkea PBR oikeasti käsittelee.

Sen taustalla olevaa teoriaa ja fysiikkaa on niin paljon, että 3D-artistin kannalta, sen läpikäyminen olisi turhan päätä sekoittavaa. PBR voi aluksi tuntua monimut- kaiselta ja rajoittavalta. Perus asioiden ymmärtämisen jälkeen voidaan kuitenkin todeta, että PBR tarjoaa valmiita työnkulkuja, jotka nopeuttavat teksturointipro- sessia ja pitävät materiaalit fyysisesti mahdollisina. PBR-periaatteita noudattava

(45)

shader hoitaa suurimman osan työstä, jolloin artisti voi keskittyä pääasiassa luo- vaan työhön. PBR-työnkulku auttaa myös eri artisteista koostuvia tiimejä luo- maan suoraviivaisempia lopputuloksia, jotka toimivat kaikissa valaisutilanteissa.

3D-artistille on tarjolla niin paljon eri sovelluksia ja materiaalipankkeja, että PBR- teksturointiprosessi on lähes automaattista. Tämä tarkoittaa sitä, että lähes ketä vain pystyy saamaan aikaan todella realistisen näköisiä 3D-malleja vain muuta- malla napin painalluksella. Täytyy kuitenkin pitää mielessä se, että PBR-tekstu- rointi toimii tiettyjen periaatteiden mukaisesti. Vaikka ketä vain pystyy teksturoi- maan, virheiden välttämiseksi, tulisi kuitenkin ymmärtää PBR:n tärkeimmät omi- naisuudet.

(46)

LÄHTEET

Allegorithmic. n.d. The PBR Guide part 1 [verkkodokumentti] Luettu 25.09.2019.

https://academy.allegorithmic.com/courses/the-pbr-guide-part-1

Allegorithmic. n.d. The PBR Guide part 2 [verkkodokumentti] Luettu 25.09.2019.

https://academy.allegorithmic.com/courses/the-pbr-guide-part-2

Ashish. 17.12.2018. What is the Index of Refraction (Refractive Index)? Luettu 11.10.2019. https://www.scienceabc.com/pure-sciences/what-index-of-refrac- tion-defintion-examples-water-air-glass.html

Arvi VR. 07.11.2018. Ambient Occlusion 2 [verkkodokumentti] Luettu 15.11.2019. https://vr.arvilab.com/blog/ambient-occlusion%2007.11.2018 Dustin Maertz. n.d. Stanley Hand Planer No.5 [verkkodokumentti] Luettu 15.11.2019. https://dustinmaertz.artstation.com/projects/GXmbz

Eric Chadwick. n.d Stairs [verkkodokumentti] Luettu 15.11.2019. http://ericchad- wick.com/img/farmhouse_stairs.jpg

Erland Körner. 18.02.2015 Working with physically-based shading: a practical approach [verkkodokumentti] Luettu 17.10.2019.

https://blogs.unity3d.com/2015/02/18/working-with-physically-based-shading-a- practical-approach/

Jeff Russel. 01.11.2015 Basic theory of physically based rendering [verk- kodokumentti] Luettu 25.09.2019. https://marmoset.co/posts/basic-theory-of- physically-based-rendering/

Joe Wilson. 01.10.2015 Physically-based rendering, and you can too! [verkko- dokumentti] Luettu 25.09.2019. https://marmoset.co/posts/physically-based-ren- dering-and-you-can-too/

Joe Wilson. 01.10.2015 PBR Texture conversion [verkkodokumentti] Luettu 25.09.2019. https://marmoset.co/posts/pbr-texture-conversion/#metalvspec Mike Seymour. 04.07.2013 Game environments – Part A: rendering Remember Me terminology [verkkodokumentti] Luettu 25.09.2019.

https://www.fxguide.com/fxfeatured/game-environments-parta-remember-me- rendering/

Michael Franczak. 29.06.2018 Creating ID maps in Blender terminology [verk- kodokumentti] Luettu 17.10.2019. https://evermotion.org/tuto-

rials/show/11071/creating-id-maps-in-blender

Pluralsight. 16.01.2014 Start mastering Important 3D texturing terminology [verkkodokumentti] Luettu 22.09.2019.

https://www.pluralsight.com/blog/film-games/cover-bases-common-3d-texturing- terminology

(47)

Quixel. n.d. Quixel SUITE 2 Overview [verkkodokumentti] Luettu 17.10.2019.

https://quixel.se/tutorial/quixel-suite-2-overview/

Shadercat. 21.03.2016 What is a Shader? terminology [verkkodokumentti] Lu- ettu 22.09.2019. https://www.shadercat.com/what-is-a-shader/

Samuel Axon, 27.09.2016, Unity at 10: For better-or worse-game development has never been easier [verkkodokumentti] Luettu 17.10.2019. https://arstech- nica.com/gaming/2016/09/unity-at-10-for-better-or-worse-game-development- has-never-been-easier/

Scratchapixel 2.0. n.d. Reflection, Refraction (Transmission) and Fresnel. [verk- kodokumentti] Luettu 15.11.2019. https://www.scratchapixel.com/lessons/3d-ba- sic-rendering/introduction-to-shading/reflection-refraction-fresnel

Thomas Denham n.d. What is UV mapping & unwrapping? terminology [verk- kodokumentti] Luettu 22.09.2019. https://conceptartempire.com/uv-mapping-un- wrapping/

Unity3D n.d. Download Unity terminology [verkkodokumentti] Luettu 17.10.2019. https://unity3d.com/get-unity/download

Unity documentation 08.10.2019, Standard Shader [verkkodokumentti] Luettu 17.10.2019. https://docs.unity3d.com/Manual/shader-StandardShader.html Unity documentation 08.10.2019, Bumped diffuse [verkkodokumentti] Luettu 17.10.2019. https://docs.unity3d.com/Manual/shader-NormalBumpedDif- fuse.html

Viittaukset

LIITTYVÄT TIEDOSTOT

Puiden teksturointiin ja materiaaleihin panostin enemmän kuin maaston, koska puut ovat näkyvämmin esillä ja peittivät osittain maastoa.. Runkojen teksturointi ja

Esimerkiksi bump mappeja Unreal Engine 4 osaa lukea siten, että tummat kohdat ovat kohoamia ja vaaleat syvennyksiä.. Unreal Engine 4:n materiaalieditori poikkeaa jonkin

Tarvitsin mappien beikkaamiseen UV:t myös high poly-malleille, mutta niitä en tehnyt käsin vaan käytin suoraan automaattisia UV:ita.. Näillä UV-kartoilla ei olisi mitään

Kävi ilmi, että seostussuhde vaikut- taa siihen, kuinka hyvin jauhe tarttuu muotin pintaan, miten hyvin se siinä pysyy kui- vuessaan, ja kuinka paljon muotti niin sanotusti

kohdekappaleen pinnalla. Heittovarjoja kappaleen pinnalla. kolmiulotteisuutta paljastamalla varjojen avulla kappaleiden muotoja, joita ei muuten näkyisi. Esimerkiksi valaistus

Ongelma syntyy siitä, että valopolulle pääsee valoa, jonka aallonpituus ei ole suunnitellun mukai- nen 13,5 nm.. Tämä valo aiheuttaa optiikkapolulle päästessään sekä

Kauppalehden ja Markkinointi & Mainonta -lehden eettisissä uutisissa Google ei pääse ääneen lainkaan, ja Helsingin Sanomatkin päästää Googlen ääneen vain

Epämetallisia sulkeumia voidaan vähentää ESR:n (Electro Slag Remelting) avulla ja VAR:n (Vacuum Arc Remelting) avulla voidaan vaikuttaa jonkin verran suotautumien syn- tyyn.