3d-mallin pintaurien mallinnustekniikoita

Samankaltaiset tiedostot
Visualisoinnin perusteet

7 tapaa mallintaa maasto korkeuskäyristä ja metodien yhdistäminen

Harjoitus Bones ja Skin

Painevalut 3. Teoriatausta. Mallinnuksen vaiheet. CAD työkalut harjoituksessa diecasting_3_2.sldprt. CAE DS Kappaleensuunnitteluharjoitukset

Perusteet 5, pintamallinnus

Teoriatausta. Mallinnuksen vaiheet. CAD työkalut harjoituksessa. Uppokipinätyöstön elektrodi

Perusteet 6, lisää pintamallinnusta

Luento 6: Geometrinen mallinnus

Pintamallintaminen ja maastomallinnus

Julkaisun laji Opinnäytetyö. Sivumäärä 43

STL:n luonti IronCADillä

Jussi Klemola 3D- KEITTIÖSUUNNITTELUOHJELMAN KÄYTTÖÖNOTTO

Perusteet 3, tilavuus ja pintamallinnus

Digikuvan peruskäsittelyn. sittelyn työnkulku. Soukan Kamerat Soukan Kamerat/SV

3D-mallinnus ja teksturointi tietokonepeleissä

Perusteet 3, tilavuus ja pintamallinnus

Perusteet 2, pintamallinnus

Luku 8. Aluekyselyt. 8.1 Summataulukko

Liikkuva keerna 1. Teoriatausta. Mallinnuksen vaiheet. CAD työkalut harjoituksessa. movingcore_2.sldprt. CAE DS Kappaleensuunnitteluharjoitukset

Efficiency change over time

Algoritmi III Vierekkäisten kuvioiden käsittely. Metsätehon tuloskalvosarja 7a/2018 LIITE 3 Timo Melkas Kirsi Riekki Metsäteho Oy

Päästöjen analysointi ja piirteiden korjaaminen 3

Matterport vai GeoSLAM? Juliane Jokinen ja Sakari Mäenpää

Liikkuva keerna. Teoriatausta. Mallinnuksen vaiheet. CAD työkalut harjoituksessa

Harjoitus Morphing. Ilmeiden luonti

MUSEOT KULTTUURIPALVELUINA

Perusteet 5, pintamallinnus

T Vuorovaikutteinen tietokonegrafiikka Tentti

Perusteet 2, pintamallinnus

Painevalut 1. Teoriatausta Knit. Mallinnuksen vaiheet. CAD työkalut harjoituksessa diecasting_1.sldprt. CAE DS Kappaleensuunnitteluharjoitukset

9. Vektorit. 9.1 Skalaarit ja vektorit. 9.2 Vektorit tasossa

Sami Hirvonen. Ulkoasut Media Works sivustolle

Perusteet 4, tilavuusmallinnus

Digitaalinen signaalinkäsittely Kuvankäsittely

Viimeistely Ajourien huomiointi puutiedoissa ja lopullinen kuviointi. Metsätehon tuloskalvosarja 5/2018 LIITE 4 Timo Melkas Kirsi Riekki Metsäteho Oy

Painevalut 3. Teoriatausta Revolved Pattern. Mallinnuksen vaiheet. CAD työkalut harjoituksessa diecasting_3_1.sldprt

2016/06/21 13:27 1/10 Laskentatavat

Perusteet 6, lisää pintamallinnusta

Toinen harjoitustyö. ASCII-grafiikkaa

DIGITAALINEN KUVANVEISTO PELIMOOTTORIIN

Algoritmit 2. Luento 6 To Timo Männikkö

Tasainen seinämänpaksuus 1

Liikkuva keerna. Teoriatausta. Mallinnuksen vaiheet. CAD työkalut harjoituksessa Liikkuva keerna

Muotin perusrakenne Ruisku tai painevalukappaleen rakenteen perusasiat: päästö, kulmapyöristys, jakopinta ja vastapäästö.

On instrument costs in decentralized macroeconomic decision making (Helsingin Kauppakorkeakoulun julkaisuja ; D-31)

Vektorien pistetulo on aina reaaliluku. Esimerkiksi vektorien v = (3, 2, 0) ja w = (1, 2, 3) pistetulo on

Kuva Suomen päätieverkko 1 Moottoritiet on merkitty karttaan vihreällä, muut valtatiet punaisella ja kantatiet keltaisella värillä.

Videon tallentaminen Virtual Mapista

Pintamallinnus 1: Pursotettuja pintoja

Hard surface -tekniikat Zbrushissa

Built Environment Process Reengineering (PRE)

Other approaches to restrict multipliers

VERKOSTO GRAAFINEN OHJE

Väitöskirjan kirjoittaminen ja viimeistely

LUSAS tiedosto-opas. Matti Lähteenmäki

Solmu 3/2001 Solmu 3/2001. Kevään 2001 ylioppilaskirjoitusten pitkän matematiikan kokeessa oli seuraava tehtävä:

10. Esitys ja kuvaus

KONEISTUSKOKOONPANON TEKEMINEN NX10-YMPÄRISTÖSSÄ

ASCII-taidetta. Intro: Python

Mainoksen taittaminen Wordilla

LIITE 1 1. Tehtävänä on mallintaa kitara ohjeiden mukaan käyttäen Edit Poly-tekniikkaa.

1. Liikkuvat määreet

MALLIN RENDERÖINTI KUVAKSI TAI VIDEOKSI SOLIDWORKS 2010 VERSIOLLA

Operatioanalyysi 2011, Harjoitus 3, viikko 39

y=-3x+2 y=2x-3 y=3x+2 x = = 6

Määrittelydokumentti

Heini Salo. Tuotannonohjauksen kehittäminen digitaalipainossa. EVTEK-ammattikorkeakoulu Mediatekniikan koulutusohjelma. Insinöörityö 15.5.

Keernojen erottaminen

Pistepilvien hyödyntäminen rakennusvalvonnassa

Jäsenyysverkostot Kytkökset ja limittyneet aliryhmät sosiaalisten verkostojen analyysissä

812347A Olio-ohjelmointi, 2015 syksy 2. vsk. IX Suunnittelumallit Proxy, Factory Method, Prototype ja Singleton

Videopelihahmon mallintaminen ja teksturointi nykymenetelmin

KVANTTITELEPORTAATIO. Janne Tapiovaara. Rauman Lyseon lukio

Pyhäjoen kunta ja Raahen kaupunki Maanahkiaisen merituulivoimapuiston osayleiskaava

1. STEREOKUVAPARIN OTTAMINEN ANAGLYFIKUVIA VARTEN. Hyvien stereokuvien ottaminen edellyttää kahden perusasian ymmärtämistä.

Liikkuva keerna 1. Teoriatausta. Mallinnuksen vaiheet. CAD työkalut harjoituksessa movingcore_1.sldprt. CAE DS Kappaleensuunnitteluharjoitukset

Fraktaalit. Fractals. Riikka Kangaslampi Matematiikan ja systeemianalyysin laitos Aalto-yliopisto. 1 / 8 R. Kangaslampi Fraktaalit

Lauseen erikoistapaus on ollut kevään 2001 ylioppilaskirjoitusten pitkän matematiikan kokeessa seuraavassa muodossa:

Ympyrä 1/6 Sisältö ESITIEDOT: käyrä, kulma, piste, suora

Algoritmit 1. Luento 10 Ke Timo Männikkö

Jakopinnat ja liikkuvan keernan pinnat 1, keerna jakopinnan tasalla

Digi-tv vastaanottimella toteutetut interaktiiviset sovellukset

Kuva 1. Jokaisen tavallisen kuvan tasotyökalussa näkyy vain yksi taso, tässä nimellä tausta.

kannet ja kotelot Tuula Höök Tampereen teknillinen yliopisto

Mainosankkuri.fi-palvelun käyttöohjeita

Collector for ArcGIS. Ohje /

Polygoni-mallinnuksen ja digitaalisen veistämisen käyttö pelimallinnuksessa

Tasogeometriaa GeoGebran piirtoalue ja työvälineet

Tutoriaali. Kuvitus vektoreilla

Suora 1/5 Sisältö ESITIEDOT: vektori, koordinaatistot, piste

KYMENLAAKSON AMMATTIKORKEAKOULU Viestinnän koulutusohjelma / digitaalinen media. Jarkko Piippo 3D-PELIHAHMON MALLINNUS ZBRUSHILLA

TAHROJEN POISTO ADOBE PHOTOSHOP ELEMENTS 6:N AVULLA

Muovikierteen suunnittelu

On instrument costs in decentralized macroeconomic decision making (Helsingin Kauppakorkeakoulun julkaisuja ; D-31)

Yhtälönratkaisusta. Johanna Rämö, Helsingin yliopisto. 22. syyskuuta 2014

Astuvansalmen kalliomaalauskohteen dokumentointi 3D:n avulla

10.2. Säteenjäljitys ja radiositeettialgoritmi. Säteenjäljitys

VAASAN YLIOPISTO TEKNILLINEN TIEDEKUNTA SÄHKÖTEKNIIKKA. Lauri Karppi j SATE.2010 Dynaaminen kenttäteoria DIPOLIRYHMÄANTENNI.

Transkriptio:

Petri Liuhto 3d-mallin pintaurien mallinnustekniikoita Hard surface -mallinnustekniikoita pinnan urien toteuttamiseen Metropolia Ammattikorkeakoulu Medianomi (AMK) Viestinnän koulutusohjelma Opinnäytetyö Päivämäärä 11.11.2017

Tiivistelmä Tekijä Otsikko Sivumäärä Aika Petri Liuhto 3d-mallin pintaurien mallinnustekniikoita 32 sivua + 2 liitettä 11.11.2017 Tutkinto Medianomi (AMK) Koulutusohjelma Viestintä Suuntautumisvaihtoehto 3D-animointi ja -visualisointi Ohjaaja Lehtori Kristian Simolin Opinnäytetyö käsittelee urien mallinnusta 3d-mallin pintaan. Urien toteuttaminen mallinnettavan esineen pintaan on haastava, mielenkiintoinen ja keskeinen mallinnuksellinen ongelma, sillä urat ovat usein vastaantuleva pintarakenne. Opinnäytetyössä esitellään lukuisia eri tapoja toteuttaa urat mallinnettuna geometriana ja toisaalta tekstuurin keinoin. Työssä vertaillaan eri toteutusmetodeja ja niitä sovelletaan pintaurien toteuttamiseksi 3dmallin pintaan. Opinnäytetyössä vertaillaan metodeja urien toteuttamiseen perinteisillä polygonimallinnustekniikoilla, digitaalisilla veistotyökaluilla ja bump-tekstuureilla. Esimerkkimallina toimii Star Trek Enterprise -sarjan nimikkoalus USS Enterprise. Syy opinnäytetyön tutkimuskohteen valintaan oli tarve löytää optimaalinen tapa urien mallintamiseen. Pintauria esiintyy Enterprise-mallissa koko mallin pinta-alalla. Oli välttämätöntä löytää keino pintaurien toteuttamiseen kustannustehokkaasti. Urat toteutettiin alun perin mallin pintaan veistettynä geometriana. Veistourakan työläys ja epätarkkuus vaativat muiden toteutusvaihtoehtojen harkitsemista. Urien toteuttamista displacement-tekstuurilla ja floater-geometrialla selvitettiin. Lopulta urat toteutettiin boolean-operaatiolla. Booleanoperaatiolla mallin urat kyettiin toteuttamaan nopeasti ja tarkasti. Opinnäytetyön soveltavassa osuudessa käydään läpi urien toteuttamisen työprosessi boolean-operaation avulla. Menetelmä perustuu bezier-käyrillä luotuun urageometriaan, jota käytetään urien tuottamiseen mallin pintaan vähentävän boolean-operaation avulla. Opinnäytetyö on rajattu vain urien toteuttamiseen liittyvään mallinnukselliseen ongelmaan. Työ ei käsittele muiden pinnanmuodon yksityiskohtien toteuttamista, vaikkakin työssä esiteltyjä tekniikoita voidaan soveltaa myös urien tuottamisen ulkopuolella. Opinnäytetyössä esitellyt mallinnustekniikat eivät ole ohjelmistosidonnaisia, vaan niitä voidaan soveltaa monissa eri 3d-sovelluksissa. Opinnäytetyö edellyttää 3d-mallinnuksen perusteiden tuntemusta, vaikka termistöä avataankin työn toisessa alaluvussa. Siksi työ soveltuu parhaiten 3dmallinnukseen jo jonkin verran perehtyneiden lukijoiden käyttöön. Avainsanat 3d, mallinnus, urat

Abstract Author Title Number of Pages Date Petri Liuhto Techniques to Model Grooves on a 3d Model s Surface 32 pages + 2 appendices 11 November 2017 Degree Bachelor of Media Degree Programme Media Communication Specialisation option 3D Animation and Visualization Instructor Kristian Simolin, Senior Lecturer This thesis presents methods for modeling grooves on the surface of a 3d model. Grooves are a common surface structure in many everyday objects. Creating grooves on a surface is both an interesting and challenging modeling task to undertake. The thesis presents multiple methods for achieving grooved surface structures with both geometry and surface detail maps. The thesis does comparative analysis on the advantages and disadvantages of these methods in the contexts of a practical application on a 3d model. The methods the thesis showcases are the following: producing the grooves with traditional polygon modeling techniques; producing the grooves with digital sculpting tools; and finally, producing the grooves with surface detail maps. The practical application of the presented methods is carried out for a 3d model of a spaceship. The ship is the titular vessel from the tv-series Star Trek Enterprise. The need to study the problematic of the production of surface grooves arose due to the abundance of grooved structures on the 3d model of the Enterprise. It was crucial to find a method to create all the grooved details on the surface as optimally as possible. The first approach was to sculpt the grooves on the model with a digital sculpting software. The sheer amount of details and the lack of precision in the sculpt made it necessary to consider other options. Displacement maps and floater geometry were considered as methods to achieve the surface grooves. In the end, it was concluded that the easiest and most precise way to create the grooves was to utilize a boolean operation. The final application utilizes groove geometry created with bezier curves. The groove geometry is used in a subtractive boolean operation to create the grooves on the model s surface. The subject of the thesis has been confined only to the problematic of production of grooves on a 3d model s surface. This thesis will not be covering the production of any other surface feature. However, the techniques that have been showcased can be applied outside the production of the surface grooves. The methods presented in this thesis are not software specific and can be used in multiple 3d applications. The subject of the thesis presupposes knowledge about the basics of 3d modeling even though the terminology has been explained. Therefore, the thesis is best suited for those readers who already have gained some experience in 3d modeling. Keywords 3d, modeling techniques, grooves

Sisällys 1 Johdanto 1 2 Termit 2 3 Hard surface -mallinnustekniikoita esineen pinnan urien toteuttamiseen 4 3.1 Urat esineen pinnassa 4 3.2 Menetelmiä pinnan urien toteuttamiseen 6 3.2.1 Pinnan urien mallintaminen lopoly-malliin 6 3.2.2 Pinnan urien mallintaminen hipoly-malliin 8 3.2.3 Pinnan urien toteuttaminen tekstuureilla 10 3.2.4 Pinnan urien toteuttamistapojen vertailua 14 4 Mallinnustekniikoiden käytännön sovellus pintaurien toteuttamiseen 18 4.1 Mallinnuskohteen tarkastelua 19 4.2 Lautasosan leveiden urien toteutus 20 4.2.1 Lautasosan leveiden urien mallinnusprosessi 21 4.3 Lautasosan kapeiden urien toteutus 26 4.3.1 Lautasosan kapeiden urien toteuttamisen työprosessi 28 5 Yhteenveto 30 Lähteet 33 Liitteet Liite 1. Kuvia Enterprisen 3d-mallista Liite 2. Lähikuva Enterprisen 3d-mallista

1 1 Johdanto Urat ovat usein toistuva yksityiskohta monissa ihmiskäden luomissa esineissä. Uran esiintyminen esineen pinnassa voi johtua esimerkiksi siitä, että esine on rakennettu useammista toisiinsa liitetyistä paloista. Näihin liitoskohtiin saattaa muodostua silmin erottuvia uria, jotka rikkovat pinnan muodon. Esineen pinnassa kulkevat urat voivat olla koristeellinen elementti, jonka tarkoitus on tehdä pinnasta mielenkiintoisempi tai viehättävämpi. Esineen pinnassa olevat urat ovat myös saattaneet syntyä pintaan kohdistuneen kuluman ja eroosion seurauksena. Opinnäytetyöni esittelee hard surface -mallinnusmenetelmiä esineen pinnan urien toteuttamiseen. Pintaurat ovat toistuva ja usein haastavakin yksityiskohta hard surface -mallinnusprojekteissa. Pintaurat ovat yleinen rakenteellinen elementti monissa todellisen maailman esineissä. Kun näistä esineistä luodaan 3d-malleja, täytyy myös urat kyetä toteuttamaan esineen pintaan, jotta syntyvä malli olisi mahdollisimman uskottava. Uria voi käyttää myös luomaan rakenteellista uskottavuutta ja mielenkiintoisempaa pinnanmuodon käyttäytymistä mielikuvituksellisten esineiden mallinnuksessa. Itse törmäsin urien mallinnuksen problematiikkaan avaruusaluksen mallinnusprojektin yhteydessä. Aluksessa, josta toteutin mallia, urat olivat toistuva pintageometrinen elementti koko aluksen pinta-alalla. Avaruusaluksen 3d-malli oli hyvin yksityiskohtainen ja suuritöinen. Pienemmän mittakaavan projektissa on mahdollista toteuttaa jokin yksittäinen yksityiskohta toteutusmetodeilla, jotka eivät ole mallinnusajan ja resurssien käytön kannalta optimaalisia. Tässä projektissa mallinnettavia uria oli kuitenkin niin paljon, että oli välttämätöntä pyrkiä löytämään mahdollisimman tehokas ja tasalaatuinen toteutusmetodi urien mallintamiseen. Tästä syystä kokeilin lukuisia eri metodeja urien toteuttamiseen mallin pinnassa. Kaikilla näillä metodeilla on omat vahvuutensa ja heikkoutensa riippuen mallinnuskohteen käyttötarkoituksesta. Mallinnusprosessin aikana onnistuin mielestäni kehittämään toimivan ja tehokkaan tavan urageometrian toteuttamisen näinkin suuren mittakaavan projektissa. Tässä opinnäytetyössä esittelen eri metodeja pintaurien toteuttamiseen. Esittelen tapoja urien toteuttamiseen sekä geometriana mallin pinnassa että kuvatekstuureilla. Vertailen eri metodien käytännöllisyyttä suhteessa toisiinsa. Lisäksi tässä opinnäytetyössä esittelen käytännön esimerkin kautta, kuinka mallinnusmetodeja voidaan soveltaa mal-

2 linnuskohteen toteuttamisessa. Olen rajannut tämän opinnäytetyön pelkkään hard surface -mallinnukseen ja käsittelen ainoastaan mallinnuksellisiin ongelmiin liittyviä asioita. En aio käsitellä esimerkiksi teksturointiin tai renderöintiin liittyviä asiaulottuvuuksia muutoin kuin silloin, kun ne sivuavat mallinnuksellisia asioita. Toteutin tämän opinnäytetyön soveltavan osuuden Blender- ja Zbrush -ohjelmilla. Esittelemäni mallinnustekniikat eivät ole kuitenkaan ohjelmistosidonnaisia, vaan niitä voidaan soveltaa laajasti muissakin ohjelmissa. 2 Termit Polygonimalli Polygonimalli on 3d-objekti, joka rakentuu polygoneista. Polygoni on kolmen tai useamman pisteen muodostama pinta. Pisteitä, joista polygonit rakentuvat, kutsutaan vertekseiksi. Verteksien väliin syntyvistä janoista käytetään termiä reuna. Polygoneista, jotka muodostuvat kolmesta verteksistä käytetään termiä kolmio. Neljästä verteksistä muodostuvasta polygonista käytettään termiä neliö. Viidestä tai useammasta verteksistä koostuvasta polygonista käytetään termiä n-gon. Polygonit ovat oletusarvoisesti yksipuolisia pintoja. Polygonin suunnan määrittää pinnan normaali. Kuvio 1. Polygonimallin osat. Vasemmalle on merkitty verteksit, keskelle reunat ja oikealle polygoni.

3 Hard surface -mallinnus Hard surface -mallinnuksella tarkoitetaan sellaisten esineiden tai asioiden mallinnusta, jotka mielletään ihmiskäden rakentamiksi. Vastakohtana tälle on orgaaninen mallinnus, joka käsittää luonnossa luonnollisesti esiintyvät esineet ja asiat. (Vaughan 2012.) Hipoly- ja lopoly-mallit Termit hipoly ja lopoly ovat tyyppiluokituksia 3d-malleille. Lopoly-mallit koostuvat verrattain vähäisestä määrästä geometriaa. Hipoly-mallit koostuvat vastaavasti verrattain suuresta määrästä geometriaa. Hipoly-malleista voidaan tehdä suuremman geometriamäärän ansiosta yksityiskohtaisempia kuin lopoly-malleista. Nämä yksityiskohdat voidaan siirtää lopoly-malliin kuvatekstuureina. Tekstuurien avulla lopoly-mallit saadaan näyttämään yksityiskohtaisemmilta ilman geometrian lisäämistä. Topologia Topologia tarkoittaa tapaa, jolla polygonimallin polygonit on järjestetty. Polygonimalliin topologialle on erilaisia vaatimuksia riippuen mallista ja sen käyttötarkoituksesta. UV-koordinaatit UV-koordinaateilla tunnistetaan pisteitä 3d-mallin pinnasta. UV-koordinaatit määrittämällä mallin pintaan voidaan kartoittaa kuvatekstuuri. (Timaxmedia n.d.) Renderöinti Renderöinti on prosessi, jossa 3d-ohjelmassa kolmiulotteisessa tilassa olevat objektit piirretään kaksiulotteisina kuvina kuvaruudulle. Subdivision-mallinnus Subdivision-mallinnuksessa objektin alkuperäisen geometrian pinnat jaetaan pienempiin osiin käyttämällä matemaattisia algoritmeja (Elo 2010, 3). Subdivision-mallinnuksen avulla voidaan luoda monimutkaisia sileitä muotoja pienellä määrällä geometriaa.

4 Bezier-käyrä Bezier-käyrä on piirtotekniikka, jossa vähintään kahden pisteen avulla pisteiden välille piirretään käyrä. Tekniikassa oleellisinta ovat pisteisiin määritellyt kahvojen suunnat ja voimakkuudet, joilla saadaan aikaan tasainen ja äärettömästi skaalautuva käyrä pisteiden välille. Bezier-käyrää käytetään hyvin yleisesti vektorigrafiikassa. (Wikipedia 2014.) 3 Hard surface -mallinnustekniikoita esineen pinnan urien toteuttamiseen Tässä luvussa esittelen hard surface -mallinnustekniikoita esineen pinnan urien toteuttamiseen. Arvioin eri mallinnusmetodien etuja ja käytännöllisyyttä kussakin tilanteessa. 3.1 Urat esineen pinnassa Monista ihmiskäden luomista esineistä voi löytää uria tai urien tapaisia pintarakenteita. Uria syntyy usein esineisiin silloin, kun ne rakentuvat useista toisiinsa liitetyistä osista. Urat voivat olla myös koristeellinen elementti, jolloin ne noudattavat usein jonkinlaista kaavaa tai logiikkaa. Uria voi myös syntyä kuluman kautta, jolloin ne ovat ulkomuodoiltaan orgaanisempia ja vähemmän yhdenmukaisia. Urat ovat usein vastaantuleva yksityiskohta hard surface -mallinnuksessa. Urilla voi jäsentää mallinnettavan esineen muotoa ja jakaa mallin pinta-alaa eri alueisiin. Urien lisääminen malliin luo vaikutelman siitä, että malli on oikea esine, joka on rakennettu toisiinsa liitetyistä elementeistä. Urat antavat katsojalle visuaalisen vihjeen siitä, että mallin pinnan alla on rakenteita, joita peittämään pinnan rakennuspalat on aseteltu. Urat muodostavat myös mielenkiintoisia heijastuksia ja varjoja esineen pintaan, kun esine valaistaan.

5 Kuvio 2. Uria esineen pinnassa. Kuvio 3. Koristeellinen urakuvio.

6 Kuvio 4. Toisiinsa liitettyjen palojen väliin muodostuneita uria. 3.2 Menetelmiä pinnan urien toteuttamiseen Tässä luvussa esittelen menetelmiä, joilla voidaan toteuttaa uria 3d-mallin pintaan. Lisäksi arvion eri metodien heikkouksia ja vahvuuksia. 3.2.1 Pinnan urien mallintaminen lopoly-malliin Yksi mahdollinen lähestymiskulma esineen pinnalla kulkevien urien toteuttamiseen on mallintaa urat geometriana lopoly-mallin pintaan. Polygonimallin pintaa voidaan muokata polygonimallinnukseen tarkoitettujen tietokoneohjelmien mallinnustyökalujen avulla. Yleisiä mallinnustoimenpiteitä ovat polygonimallin komponenttien, kuten verteksien, reunojen ja polygonien, liikuttelu ja muokkaus. Mallin geometria, tai osa siitä, voidaan jakaa udelleen tiheämmäksi geometriaksi subdivision-toiminnolla. Geometriaa voidaan jakaa myös käsin leikkaamalla.

7 Malliin voidaan tuottaa uutta geometriaa synnyttämällä sitä lisää jo olemassa olevasta muodosta. Tätä menetelmää kutsutaan extrude-menetelmäksi. Extrude-menetelmällä kaksiulotteiset pinnat voidaan muuttaa kolmiulotteisiksi objekteiksi lisäämällä niihin syvyyttä (Timaxmedia n.d.). Esimerkiksi mallista voidaan valita yksi sen polygoneista ja valitulle polygonille voidaan antaa syvyyttä extrude-toiminnolla. Tällöin mallin pinnasta nousee uutta geometriaa. Extrude-toiminnolla malliin voidaan luoda myös sisentyviä muotoja. Kuvio 5. Extrude-menetelmällä luotua uutta geometriaa mallin pinnasta. Kuvio 6. Mallin pintaan luotu ura geometriaa jakamalla, muokkaamalla ja extrude-toiminnolla. Urat voidaan myös toteuttaa boolean-operaatiolla. Boolean-operaatiossa kahden toisensa lävistävän geometrisen objektin avulla luodaan kolmas objekti. Boolean-

8 operaatioita on kolmenlaisia: vähentäviä, liittäviä ja leikkaavia. (Timaxmedia n.d.) Vähentävää boolean-operaatiota varten luodaan ensin mallin pinnassa kulkevaa uraa vastaava uraobjekti. Objektin täytyy osittain lävistää malli, johon urien halutaan syntyvän. Boolean-operaation seurauksena syntyvästä uudesta mallista on poistettu uraobjektin lävistämä tilavuus. Kuvio 7. Oikealla kaksi toisensa leikkaavaa objektia. Vasemmalla vähentävän booleanoperaation lopputuloksena syntyvä uusi objekti. 3.2.2 Pinnan urien mallintaminen hipoly-malliin Esineen pinnalla kulkevat urat voidaan myös toteuttaa mallintamalla ne geometriana hipoly-mallin pintaan. Urat voidaan mallintaa käyttäen samoja mallinnustekniikoita kuin lopoly-mallinkin kanssa. Tämä ei tosin ole useinkaan kovin käytännöllinen lähestymistapa, koska hipoly-mallien polygonitiheys on usein niin suuri. Nämä mallinnustekniikat muuttuvat hyvin työläiksi, jopa mahdottomiksi, kun mallin polygonien lukumäärää mitataan tuhansissa tai jopa miljoonissa polygoneissa. Paljon tehokkaampi mallinnusmenetelmä urien toteuttamiseen on niiden veistäminen mallin pintaan. Digitaalinen veistäminen on mallinnusmenetelmä, jossa mallinnusohjelmistotyökaluilla voidaan muovata mallia kuin se olisi tehty savesta. Veistämiseen voidaan käyttää työkaluja, jotka toiminnoiltaan muistuttavat oikeita kuvanveistotyökaluja. Veistotyökaluilla mallin pintaa voidaan vetää, työntää ja tasoittaa. Mallin muotoa ei muuteta manipuloimalla yksittäisiä polygoneja kuten lopoly-mallinnuksessa, vaan työkaluilla, jotka manipuloivat lukuisia polygoneja samanaikaisesti. Tästä syystä digitaali-

9 nen veistäminen on oiva tapa muokata hyvin tiheitä polygonimalleja, jollaisia hipolymallit usein ovat. Kuvio 8. Zbrush 4R8 esimerkkinä digitaalisesta veisto-ohjelmasta. Veisto-ohjelmien veistosiveltimillä mallin pintaa voidaan käsitellä monin eri tavoin. Urat voidaan mallintaa työntämällä mallin pinnan geometriaa sisään veistosiveltimellä. Siveltimenvedon käyttäytymistä voi hallita monissa veisto-ohjelmissa muuttamalla vetoa ohjaavia asetuksia. Siveltimenvedon voi esimerkiksi rajoittaa kulkemaan vain suorassa linjassa, tai siveltimen veto voi seurata sivellinkursoria viiveellä, jolloin syntyvä veto on tasaisempi. Siveltimen synnyttämän jäljen muotoon voi myös vaikuttaa käyttämällä kuvatekstuureja siveltimenvedon sablonina. Kuvio 9. Veistosiveltimellä toteutettuja uria mallin pinnassa. Urat voidaan mallintaa hipoly-mallin pintaan myös boolean-operaatiolla.

10 Kuvio 10. Boolean-operaatio Zbrush-ohjelmassa. 3.2.3 Pinnan urien toteuttaminen tekstuureilla Esineen pinnalla kulkevat urat voidaan toteuttaa myös mallin uv-koordinaatteihin sidotulla kuvatekstuurilla. Yleisnimitys tallaiselle tekstuurille on bump-kartta. Bump-kartta luo vaikutelman pinnanmuotojen muutoksesta laskemalla pinnan normaalien suunnat uudelleen. Näin luodaan vaikutelma pinnanmuotojen muutoksista ilman, että muutoksia täytyisi toteuttaa oikealla geometrialla malliin. (Timaxmedia n.d.) Bump-efekti voidaan saavuttaa monella tavalla. Yksi keino tähän on käyttää bumptekstuurina height-karttaa. Height-kartta on harmaasävykuvatiedosto, jonka pikselien väriarvoihin on määritelty pinnankorkeustietoa (Polycount wiki 2016). Toinen vaihtoehto on käyttää bump-karttana normaalikarttaa. Normaalikartta on kuvatiedosto, jossa kuvan pikseleihin on tallennettu suuntia. Näistä suunnista käytetään nimitystä normaali. Kuvan värikanavia käytetään ohjaamaan pikselien normaalien suuntia. (Polycount wiki 2015).

11 Kuvio 11. Normaalikartalla tuotettuja pinnanmuotoja yhdestä polygonista koostuvan 3d-mallin pinnassa. Bump-karttojen valmistamiseen ei tarvita välttämättä 3d-mallinnustekniikoita. Erityisesti height-kartat toteutetaan usein kuvankäsittelyohjelmilla maalaamalla. Paljon yleisempää on kuitenkin valmistaa Bump-karttoja siten, että hipoly-malliin tuotettujen yksityiskohtien pintojen normaalien suunnat tallennetaan lopoly-mallin uv-koordinaatteihin sidottuun kuvatekstuuriin. Bump-karttojen etu suhteessa varsinaisella geometrialla toteutettuihin pinnan yksityiskohtiin on se, että malli säilyy polygonimäärässä mitattuna kevyempänä. Vähäisempi polygonien määrä laskee mallista renderöitävien kuvien renderöintiaikaa. Lisäksi jos mallia halutaan käyttää jossakin reaaliaikaisessa graafisessa ympäristössä, kuten pelimoottorissa, mallin geometria täytyy yrittää optimoida mahdollisimman harvalukuiseksi. Muutoin mallin esittäminen muuttuu pelimoottoria pyörittävälle laitteelle raskaaksi. (OnlineMediaTutor 2014.) Height-karttaa voidaan käyttää ohjaamaan displacement-toimintoa. Height-karttojen sisältämää korkeusdataa voidaan käyttää syrjäyttämään pinnan verteksejä suhteessa toisiinsa. Displacement-toiminnolla saadaan luotua uria haluttuun kohtaan mallia ilman, että ne täytyy mallintaa käsin mallin pintaan (Blender 2.79 Manual, a).

12 Kuvio 12. Displacement-tekstuurilla tuotettuja uria 3d-mallin pinnassa Urat voidaan toteuttaa myös floater-malleilla. Floater-mallien käyttäminen on mallinnusmetodi, jolla pyritään lisäämään yksityiskohtia mallin bump-tekstuureihin käyttämällä hyväksi geometrisia objekteja. (Phan 2015.) Floater-malleja käytetään luomaan pieniä yksityiskohtia mallien pintaan. Esimerkki tällaisesta yksityiskohdasta voisi olla esineen pinnasta ulos työntyvä ruuvi tai pultti. Tällaisten pienien yksityiskohtien lisääminen lopoly-malliin geometriana on hidasta ja työlästä. Usein kuvatessa mallia suuremmalta etäisyydeltä on vaikeaa erottaa, varsinkin pienien yksityiskohtien kohdalla, ovatko ne oikeata geometriaa mallin pinnassa vai bump-kartalla toteutettuja vaikutelmia geometriasta. Tästä syystä on harvoin tarpeellista tai järkevää toteuttaa tällaisia pieniä pinnan yksityiskohtia muilla metodeilla kuin bump tai displacement -kartoilla. Nopea tapa lisätä pultin tapainen yksityiskohta bump-karttaan on mallintaa pultista 3dmalli ja sijoittaa se hipoly-mallin pinnalle. Siirtämällä hipoly-mallin pinnan yksityiskohdat bump-karttaan saadaan lopoly-mallin pintaan vaikutelma pultin muotoa vastaavasta pinnanmuodosta. Pultin floater-mallin voi toki mallintaa myös yhtenäiseksi osaksi hipoly-mallin geometriaa. Usein tämä ei ole tarpeellista, koska hipoly-mallin päällä leijuva

13 floater-malli tuottaa monesti yhtä vakuuttavan lopputuloksen pienemmällä työpanoksella. Kuvio 13. Floater-geometria sijoitetaan hipoly-mallin pinnalle leijumaan. Kuvio 14. Hipoly-malli A:ssa pinnan ulkoneva ja sisentyvä muoto on luotu floater-geometrialla. Hipoly-malli B:ssä samat muodot on luotu mallintamalla ne osaksi hipoly-mallin pintaa. Lopoly-mallit A ja B koostuvat molemmat yhdestä polygonista. Lopoly-malli A:ssa on normaalikartta, joka on luotu hipoly-malli A:n geometriasta. Lopoly-malli B:ssä on normaalikartta, joka on luotu hipoly-malli B:n geometriasta. Lopoly-mallien A ja B bump-efektien laadussa on hyvin vähän eroa.

14 3.2.4 Pinnan urien toteuttamistapojen vertailua Esineen pinnassa kulkevien urien toteuttamiseen on lukuisia tapoja. Eri metodeilla on omat vahvuutensa ja heikkoutensa riippuen siitä, millaisessa tilanteessa niitä halutaan hyödyntää. Urien mallintaminen suoraan lopoly-mallin pintaan perinteisillä polygonimallinnustekniikoilla on suoraviivaisin tapa urien toteuttamiseen. Tasaisilla pinnoilla tämä onkin varsin yksinkertaista. Monimutkaisemmat pinnanmuodot voivat tehdä urien tasalaatuisesta toteuttamisesta haastavaa. Lisäksi urien geometrian sovittaminen yhteen mallin muun geometrian kanssa saattaa aiheuttaa ongelmia. Ongelmat korostuvat subdivision-mallinnuksessa, jossa urien geometria voi tuhota täysin mallin pinnanmuodon, jollei sitä integroida muuhun geometriaan oikein. Urien toteuttaminen boolean-operaatiolla lopoly-mallin pintaan on päällisin puolin vähätöisempi keino luoda tarkkoja pintauria kuin perinteinen polygoni-mallinnus. Booleanoperaation käyttö asettaa kuitenkin lukuisia erillisvaatimuksia operaation kohteena olevalle geometrialle. Boolean-tekniikan tunnettuja rajoitteita on, että siinä käytettävien mallien tulisi olla muodoltaan umpinaisia, ja että mallin sisä- ja ulkopinnan tulee olla selkeästi määritelty. Lisäksi avoimet tilavuudet, päällekkäinen geometria ja itsensä lävistävä geometria voivat tuottaa huonon lopputuloksen. (Blender 2.79 Manual, b.) Nämä rajoitteet saattavat tehdä boolean-operaation käyttämisestä mallinnuskohteesta riippuen mahdotonta tai epäkäytännöllistä. Boolean-operaation seurauksena syntyy myös paljon huonolaatuista polygonigeometriaa, kuten n-goneja. N-gonit tekevät varsinkin subdivision-mallinnuksesta hankalaa. Lisäksi n-gonit voivat estää mallin siirtelyn eri 3d-ohjelmien välillä. Yleinen ohjesääntö 3d-grafiikan alalla on, että mallin geometrian ei tulisi sisältää n-goneja lainkaan (Pluralsight 2014). Boolean-operaation jälkeen on lähes aina välttämätöntä siistiä malligeometriaa. Tämä on usein työlästä ja saattaa johtaa samanlaisiin ongelmiin subdivisionmallinnuksessa kuin perinteisillä polygonimallinnustekniikoilla tuotetuissa urissakin.

15 Kuvio 15. Boolean-operaation seurauksena syntynyt n-gon. Pintaurien toteuttaminen veistämällä hipoly-mallin pintaan on lähes aina helpompaa ja nopeampaa kuin vastaavien pinnanmuotojen mallintaminen lopoly-malliin. Koska digitaalisessa veistossa subdivision-mallinnuksen topologiavaatimukset vodaan unohtaa, on monimutkaistenkin pintaurakuvioiden toteuttaminen mahdollista paljon pienemmällä vaivannäöllä. Subdivision-mallinnuksen topologiavaatimukset voidaan unohtaa, koska hipoly-mallin geometria on jo jaettu kyllin tiheäksi. Hipoly-malliin toteutetuissa urakuviossa on myös se etu, että niiden siirtäminen lopolymalliin voidaan toteuttaa lukuisilla eri menetelmillä. Tästä syystä yleisesti ajatellaan, että on järkevämpää mallintaa hipoly-malli ennen lopoly-mallia. Tällä tavalla mallintajalla säilyy eniten kontrollia siihen, mitkä hipoly-mallin yksityiskohdat siirretään lopolymalliin ja millä metodeilla siirtäminen suoritetaan. Esimerkiksi tilanteessa, jossa tiedetään etukäteen, mitä yksityiskohtia mallin pinnassa halutaan esittää, mutta etäisyys jolta malli esitetään ei ole vielä tiedossa, on järkevämpää mallintaa hipoly-malli ensin. Tällä tavalla lopoly-mallin mallinnustarkkuus voidaan määrittää esitysetäisyyden perusteella. Jos esitysetäisyydessä tapahtuu muutoksia, voidaan lopoly-malliin tarkkuutta nostaa tai laskea retopo-vaiheessa.

16 Myös urien veistämiseen saattaa liittyä ongelmia. Veistäminen käy työlääksi, jos uria on tiheästi mallin pinnassa. Lisäksi on haastavaa säilyttää veistojälki tarkkana ja tasalaatuisena koko mallin pinta-alalla. Mallin muodon monimutkaisuus vaikuttaa veistourakan haastavuuteen. Erityisesti kaarevien urien tarkka veistäminen käsin on haastavaa. Urageometria voidaan mallintaa hipoly-malliin myös boolean-operaatiolla. Booleanoperaatio tuottaa hipoly-mallissa monesti paremman lopputuloksen kuin lopolymallissa. Tämä johtuu hipoly-mallin tiheämmästä geometriasta, jota ei tarvitse enää jakaa tiheämmäksi subdivision-toiminnolla. Boolean-operaatiossa syntyvä huonolaatuinen geometria ei enää tässä vaiheessa vaikuta mallin pinnanmuodon muodostamiseen. Operaation seurauksena syntyvät n-gonit voidaan jakaa kolmioksi ilman, että sillä on vaikutusta topologian toimivuuteen. On syytä kuitenkin ottaa huomioon, että aiemmin mainitut boolean-operaation rajoitteet pätevät myös hipoly-mallien kanssa. Vaikka aiemmin totesin pintaurien mallintamisen lopoly-malliin olevan työlästä ja hankalaa, voidaan tämä prosessi toteuttaa hieman vaivattomammin hipoly-mallin geometrian avulla. Hipoly-mallin tiheä geometria voidaan rakentaa uudelleen kevyemmin niin kutsutussa retopo-vaiheessa. Retopo-vaihe tarkoittaa mallinnustoimenpidettä, jossa mallin topologia rakennetaan uudelleen (Koppström 2014, 18). Menetelmää käytetään yleisesti siihen, että raskaiden hipoly-mallien pinnanmuodot rakennetaan uudelleen matalammalla polygoniresoluutiolla. Retopo-vaihe voidaan suorittaa täysin käsityönä. Vaihe voidaan suorittaa myös täysin automatisoidusti (Pixologic 2017). Koska urien toteuttamiseen ei tarvita retopo-mallinnustekniikoiden lisäksi muita polygonimallinnustekniikoita, lopoly-mallin urien geometrian tasokkuus riippuu ainoastaan hipoly-mallin laadusta ja retopo-vaihetta suorittavan 3d-mallintajan kärsivällisyydestä. Retopovaiheessa syntyvä geometria on helpompi valmistaa myös subdivision-mallinnusta tukevaksi, sillä mallintajan ei tarvitse välittää mallin pinnanmuodon hallinnasta lainkaan. Syy siihen, että mallintajan ei tarvitse välittää mallin pinnanmuodon muodostumisesta lainkaan on se, että retopo-geometria rakennetaan hipoly-mallin pinnan päälle. Mallintaja voi keskittyä varmistamaan, että geometrian topologia tukee subdivisionmallinnusta mahdollisimman hyvin, ja unohtaa pinnanmuodon hallinnan täysin.

17 Retopo-vaiheen työläys riippuu siitä, kuinka tarkasti hipoly-mallin yksityiskohdat halutaan siirtää lopoly-malliin geometriana. Varsinkin sellaiset yksityiskohdat, joissa pinnanmuotojen muutokset ovat vähäisiä tai muutoksia tullaan esittämään vain kaukaa, kannattaa toteuttaa bump-kartoilla. Varsinkin ohuet tai pitkän matkan päästä esitettävät urat voi olla järkevää toteuttaa pelkillä bump-tekstuureilla. Tällöin urat voidaan sivuuttaa retopo-vaiheessa. Kuvio 16. Hipoly-mallin päälle rakennetaan uusi kevyempi polygonimali retopo-vaiheessa Bump-kartalla luotujen pinnanmuotojen uskottavuus riippuu lukuisista tekijöistä, kuten tekstuurin resoluutiosta, esityskuvakulmasta ja etäisyydestä. Yläviistosta esitetyt bumptekstuurin ulkonemat ja sisentymät vaikuttavat valon käyttäytymisen puolesta uskottavammilta kuin vaakatasosta tarkasteltu pinta. Tällaisissa kuvakulmissa bump-kartalla luotu geometrinen huijaus paljastuu helposti. Kuvio 17. Bump-tekstuuri on vakuuttavampi yläviistosta kuin vaakatasosta tarkasteltuna

18 Sen sijaan displacement-toiminnolla pinnanmuodot voidaan luoda oikealla geometrialla. Jotta height-kartta voisi luoda mahdollisimman laadukkaan uran mallin pintaan, täytyy mallin olla joko hyvin tiheää geometrialtaan tai geometrian tulee olla jaettu tiheämmäksi subdivision-toiminnolla. Kummassakin tapauksessa lopputuloksena on paljon geometriaa, joka tekee mallista hyvin raskaan. Esimerkiksi tietokonepelimallien kohdalla displacement-tekniikka on käytännössä käyttökelvoton mallien suuren polygonimäärän takia. Luotaessa esirendattua 3d-grafiikkaa displacement-metodi on kuitenkin käyttökelpoinen. On silti syytä tiedostaa, että displacement-tekstuurien käyttäminen johtaa väistämättä renderöintiaikojen kasvamiseen (OnlineMediaTutor 2014). Hard surface -mallinnuksessa käsin mallinnettu tai veistetty geometria on usein displacementtekniikkaan verrattuna tarkempi ja kevyempi tapa toteuttaa pinnanmuodon muutos. Kuvio 18. Displacement-tekstuurilla luotua geometriaa. Oikealla olevassa mallissa on viisi subdivision-iteraatiota, vasemmassa neljä iteraatiota. 4 Mallinnustekniikoiden käytännön sovellus pintaurien toteuttamiseen Aiemmassa luvussa esittelin eri menetelmiä esineen pinnalla kulkevien urien toteuttamiseen. Eri menetelmillä on omat etunsa ja heikkoutensa riippuen lopullisen mallin käyttötarkoituksesta. Eri tekniikoilla saadaan laadullisesti eritasoisia lopputuloksia. Kuitenkin mallin käyttötarkoitus ja/tai käytettävissä olevat mallinnusresurssit sanelevat lopulta, millä tekniikoilla saavutetaan optimaalinen lopputulos. Eri tekniikoiden etuja suhteessa toisiinsa voidaan arvioida ainoastaan silloin, jos 3d-mallin laatutaso ja käyttötarkoitus on määritelty tarkasti. Tässä luvussa aion kertoa, kuinka sovelsin esittelemiäni mallinnustekniikoita omassa mallinnusprojektissani pintaurien mallintamiseksi avaruusaluksen 3d-malliin.

19 4.1 Mallinnuskohteen tarkastelua Mallinnuskohteenani oli tv-sarjan Star Trek Enterpirse nimikkoavaruusalus Enterprise. Malli on valmistettu esirendatun 3d-grafiikan tarpeisiin. Mallin polygonimäärää tai tekstuuriresoluutiota ei tarvitse optimoida pelimoottorikäyttöä varten. Tavoitteena oli luoda mahdollisimman tarkka kopio tv-sarjassa käytetystä avaruusaluksesta. Kuvio 19. Tähtialus Enterprise. Enterprisen pinnassa on toistuva ja monimutkainen pintaurakuvio. Urien leveys ja syvyys vaihtelevat suuresti eri osissa mallia, ja urat leikkaavat toisensa useissa risteyskohdissa. Haastavaa urien toteuttamisesta teki aluksen monimutkainen pinnanmuoto. Urat kulkevat aluksen läpi suorina linjoina seuraten kuitenkin aluksen pyöreää ulkopintaa. Juuri näissä kohdissa urien toteuttaminen tasalaatuisesti oli haastavinta. Päätin toteuttaa kaikki mallin urakuviot bump-tekstuureina. Arvioni oli, että bumptekstuureilla saavutetaan tarpeeksi uskottava vaikutelma urageometriasta mallin pinnassa. Päätin jakaa urakuvion kahteen luokkaan toteuttamistavan perusteella: leveät urat tultaisiin toteuttamaan geometriana hipoly-mallin pintaan, ja ohuet urat pelkällä bump-tekstuurilla.

20 Tässä luvussa tarkastelen urayksityiskohtien toteuttamista mainituilla kahdella eri metodilla avaruusaluksen 3d-malliin. Olen erottanut mallista yhden osan, jolla havainnollistan eri metodien toteutusta. Käytän tässä opinnäytetyössä osasta nimitystä lautasosa. Lautasosassa on eniten pintaurakuvioita, ja niiden toteuttaminen oli teknisesti haastavinta. Kuvio 20. Kuvaan on merkitty lautasosan urat. Punaisella värillä on merkitty leveät urat, sinisillä kapeat. 4.2 Lautasosan leveiden urien toteutus Lautasosan leveät urat ovat visuaalisesti merkittävä yksityiskohta aluksen pinnassa. Ne jakavat ja jäsentävät aluksen pintaa antaen katsojalle visuaalisen vihjeen siitä, kuinka alus on rakennettu. Olin päättänyt toteuttaa leveät urat hipoly-mallin pintaan veistettynä geometriana. Aiemmat kokeiluni displacement-tekstuureilla eivät olleet tuottaneet kyllin laadukasta lopputulosta mielekkäällä polygonimäärällä. Urien toteuttaminen floatergeometrialla vaikutti paljon veistämistä työläämmältä toteutustavalta. Lisäksi veistämi-

21 sen puolesta puhui se, että hipoly-malliin veistetyt urat voitaisiin tarpeen vaatiessa siirtää lopoly-malliin retopo-vaiheessa geometriana. Alkuperäinen suunnitelmani oli veistää urat hipoly-mallin pintaan veisto-ohjelmassa veistosiveltimien avulla. Tämä onnistui paikoin mallia erinomaisesti. Niissä kohdissa, joissa urat leikkasivat toisensa, urien syvyys saattoi vaihdella, mutta vaihtelut eivät olleet silmiinpistäviä. Ongelmallisemmiksi osoittautuivat lautasosan piiriä seuraavat suuret yhtäjaksoiset urat. Veistosiveltimien työnjälki ei seurannut mielestäni lautasen piiriä tarpeeksi tarkasti. Heitot veistojäljen tarkkuudessa laskivat uran uskottavuutta avaruusaluksen oikeana rakenteellisena elementtinä. Boolean-operaatio tuotti lopulta tarpeeksi tarkan urageometrian hipoly-mallin pintaan. Boolean-operaatiota käyttämällä kaikki lautasosan geometrialla toteutettavat urat saatiin mallinnettua kerralla. Kerralla mallintamisen etu erillisien urien veistämiseen verrattuna oli se, että urista tuli tasalaatuisia koko mallin alalla. 4.2.1 Lautasosan leveiden urien mallinnusprosessi Toteutin lautasosan leveät urat hipoly-malliin veistettynä geometriana. Mallinsin urat hipoly-mallin pintaan boolean-operaatiolla. Boolean-operaatiota varten täytyi valmistaa polygonimalli urista. Urageometrian tuli olla läpileikkaukseltaan halutun uran kaltainen. Sen täytyi myös mukautua lautaosan pinnanmuotoihin, jotta urasta tuli koko matkalta yhtä syvä. Toteutin urageometrian bezier-käyrillä, joiden ympärille on mahdollista luoda geometriaa. Tämä oli yksinkertaisin tapa luoda uran tilavuus geometriana. Ensimmäinen suuri ongelma oli lautasosan piiriä seuraava pyöreä urarivistö. Oli ensiarvoisen tärkeää saada urarivistö seuraamaan piirin kaarta tarkasti. Hyvinkin pieni heitto piirin ja urien kaaren muodossa paljastuisi katsojalle välittömästi tehden urista epäuskottavia rakenteita avaruusaluksen pinnassa. Bezier-käyrällä oli helppo luoda pyöreä muoto, joka seurasi lautasosan piiriä paljon tarkemmin kuin aiemmat käsin veistetyt urat olivat seuranneet.

22 Kuvio 21. Bezier-käyrällä toteutettu urageometria. Bezier-käyrillä oli helppo luoda linjoja, jotka seurasivat lautasosan urien kulkureittejä tarkasti. Ongelmia esiintyi kuitenkin siinä, että urageometria ei tässä vaiheessa mukautunut lainkaan lautasosan pinnanmuotoihin. Bezier-käyrän asettaminen käsin noudattamaan mallin pintaa osoittautui heti alkuunsa aivan liian työlääksi ja epätarkaksi tavaksi saada aikaan urageometriaa. Ratkaisuksi löytyi boolean-operaatio. Muuttamalla bezier-käyrä polygoniobjektiksi käyrästä voidaan tuottaa extrude-toiminnolla pinta, joka lävistää lautasosan pinnan. Tälle pinnalle suoritin leikkaavan boolean-operaation siten, että pinnan reuna leikattiin noudattamaan lautasosan pinnanmuotoja. Bezier-käyristä valmistettu polygonipinta seurasi edelleen alkuperäisen käyrän kulkureittiä, mutta samalla se oli leikattu mukautumaan lautasosan pintaan. Tässä vaiheessa valitsin ne polygonipinnan reunat, jotka seurasivat lautasosan pintaa, ja muutin reunarivin takaisin bezier-käyräksi. Tämä oli tehtävä, jotta käyrän ympärille voitiin synnyttää geometriaa, jolla mallinnetaan uran tilavuus.

Kuvio 22. Urageometrian mallinnusprosessi. Ensin bezier-käyrästä tuotettu polygonipinta sijoitetaan läpäisemään lautasosan pinta. Sitten polygonipinnalle suoritetaan vähentävä boolean-operaatio, jotta syntyy lautaisosan pinnanmuotoa mukaileva reunarivi. Lopuksi reunarivi muutetaan takaisin bezier-käyräksi, jotta sen ympärille voidaan synnyttää urageometria. 23

24 Kuvio 23. Esimerkki bezier-käyrällä toteutetusta urageometriasta. Urageometrian läpileikkauksen muoto on määritetty toisella bezier-käyrällä. Bezier-käyrän ympärille generoituvan geometrian läpileikkauksen muodon voi määrittää toisella bezier-käyrällä. Kun uran tilavuus oli generoitu bezier-käyrän ympärille, se täytyi muuttaa jälleen polygoniobjektiksi, jotta sitä voitiin käyttää boolean-operaatiossa urien valmistamiseen. Tässä vaiheessa oli syytä varmistaa, että uramalli on geometrialtaan optimaalinen lopullista urat synnyttävää boolean-operaatiota varten. Urageometrian täytyi olla umpinaista ja siinä ei saanut olla sisäkkäistä geometriaa. Leveät uralinjat kulkevat toistensa läpi monissa kohdissa. Urageometrian sisäkkäiset polygonit täytyi yhdistää yhdeksi umpinaiseksi polygoniverkoksi. Kaikki samat toimenpiteet täytyi myös tehdä lautasosan hipoly-mallille.

25 Kuvio 24. Lautasosan leveiden urien urageometria lautasosan päällä. Urageometria on värjätty punaiseksi. Kuvio 25. Lautasosan leveät urat boolean-operaation jälkeen.

26 4.3 Lautasosan kapeiden urien toteutus Kapeiden urien toteuttamiseen päätin käyttää bump-tekstuuria. Kapeita uria esiintyy koko mallin alueella äärimmäisen tiheästi. Ne seuraavat leveiden urien muotojen linjoja ja jakavat aluksen pinnan erään tyyppiseksi paneeliverkoksi. Visuaalisena yksityiskohtana ne eivät nouse vahvasti esiin, vaan katoavat mallin muun rakenteen lomaan. Kapeat urat oltaisiin voitu mallintaa geometriana hipoly-mallin pintaan, kuten leveät uratkin. En kuitenkaan halunnut, että kapeat urat kilpailevat liiaksi visuaalisesta huomiosta leveiden urien kanssa. Pelkäsin, että kapeat urat saattaisivat nousta liian vahvasti esiin ja hankaloittaa mallin hahmottamista. Tästä syystä halusin enemmän kontrollia siihen, kuinka voimakkaasti kapeat urat erottuisivat mallin pinnasta. Arvioin, että saavuttaisin tarpeeksi vakuuttavan vaikutelman kapeista urista käyttämällä heigt-karttaa niiden toteuttamiseen. Bump-efektin voimakkuutta voi säätää käsin. Toteuttamalla kapeat urat height-kartalla minulla säilyi vapaus säätää kapeiden urien bump-efektin voimakkuutta erillään leveistä urista. Kuvio 26. Kapeiden urien toteuttamiseen käytettävä height-tekstuuri. Yksi mahdollinen lähestymistapa on maalata kapeiden urien height-kartta käsin mallin uv-koordinaatteihin. Alusta asti oli selvää, että tämä lähestymistapa ei ole käytännölli-

27 nen. Käsin maalaaminen olisi urakuvion monimutkaisuuden takia erittäin työlästä. Lisäksi pelkäsin, että jos kesken teksturointivaiheen joutuisin päivittämään tai korjaamaan mallin uv-koordinaatteja, joutuisin maalaamaan urakuvion tekstuurin uudelleen. Urakuvion paikka mallin tekstuureissa riippuu tietenkin siitä, kuinka mallin uvkoordinaatit on määritetty. Urakuvion sijainti mallin pinnalla on kuitenkin aina sama. Tästä syystä päätin toteuttaa urakuvion mallin päälle sijoitettavalla geometrialla, jota käyttäisin maskitekstuurin luomiseen kapeiden urien muodostamasta urakuviosta. Tällä tavalla minulla olisi uv-koordinaatteihin sidottu urakuviotekstuuri, jonka avulla toteuttaa urat height-karttana. Ongelma uv-koordinaattien muuttumisesta ei hävinnyt, mutta saadakseni urakuvion päivittymään lopoly-mallin uv-koordinaatteihin minun tuli vain päivittää urakuvion maskitekstuuri. Tämä päivittäminen voidaan toteuttaa automatisoidusti baking-operaatiolla. Kuvio 27. Kapeiden urien urageometria mallin päällä. Urageometria on värjätty siniseksi. Tekstuurikuvio piirretään siis uv-koordinaatteihin baking-operaatiolla. Baking-termi viittaa jonkin laskutoimituksen esilaskentaan ja tallentamiseen jonkin myöhemmän laskutoimituksen nopeuttamiseksi (Blender 2.79 Manual, d). Esimerkki baking-operaatiosta on 3d-mallin vastaanottaman valon tallentaminen mallin uv-koordinaatteihin kuvateks-

28 tuurina. Kun valaisuinformaatio on tallennettu kuvatiedostona, malli voidaan renderöidä ilman, että sitä täytyy valaista ulkoisilla valonlähteillä. Urakuviomaskin tuottamiseen käytin vastaavaa menetelmää, mutta materiaalin diffuusivärin sijasta tallensin materiaalin emissioväriarvon. Emissioarvolla tarkoitetaan materiaalin synnyttämän valon voimakkuutta (Blender 2.79 Manual, d). Kun lautasosan mallin muu pinta ei tuota lainkaan valoa, ja urakuvion geometria tuottaa, saadaan luotua harmaasävykuvamaski, jolla urakuvion height-kartta on helppo toteuttaa. Muitakin materiaalin attribuutteja kuin sen emissioarvoa voi käyttää kuvatekstuurin luomiseen. Urageometria voidaan tallentaa kuvatekstuuriin myös diffuusivärinä tai heijastuneena valona. Kummassakin metodissa on ongelmana se, että malli täytyy valaista ulkoisilla valonlähteillä baking-operaation onnistumiseksi. Mallin valaisu valonlähteillä aiheuttaa kuvatekstuurin väriarvoissa varianssia, ja mallin pintaan saattaa syntyä eitoivottuja heijastuksia, jotka hankaloittavat sen käyttämistä kuvamaskina. Emissiovärin kohdalla tätä ongelmaa ei ole, koska malli valaisee itse itsensä. Emissiovärin arvot voidaan määrittää myös tarkasti, jolloin on helppo luoda kuvatekstuuri, jossa on väriarvoja vain välillä nollasta yhteen. 4.3.1 Lautasosan kapeiden urien toteuttamisen työprosessi Kapeat urat voidaan valmistaa bezier-käyrillä samaan tapaan kuin leveiden urien geometriakin. Oleellista on, että urageometria seuraa lautasosan pinnanmuotoa mahdollisimman tarkasti.

29 Kuvio 28. Urageometria yhdistettynä lautasosan hipoly-malliin. Urageometrialle ja lautasosan hipoly-mallille on määritetty eri emissioväriarvot ennen mallien yhdistämistä. Baking-operaation suorittamiseen tarvitaan kolme mallia: lautasosan hipoly- ja lopolyversiot sekä urageometria. Lautasosan lopoly-malliin täytyy olla määritetty uvkoordinaatit operaation onnistumiseksi. Baking-operaation kohteena oleva polygonimalli voi ottaa informaatiota vastaan joko sitä ympäröivästä 3d-maailmasta tai suoraan jostakin valitusta kohteesta. Aioin käyttää jälkimmäistä metodia siirtääkseni urageometrian emissioarvon suoraan lopoly-mallin uv-koordinaatteihin. Hipoly-malli ja urageometria täytyy yhdistää samaksi geometriaksi, jotta urageometrian emissioväri saadaan rajattua lopoly-mallin uv-koordinaateissa vain niille alueille, joissa urat kulkevat. Tämä onnistuu määrittämällä urageometrialle emissioväriarvoksi puhdas valkoinen väriarvo ja hipoly-mallin emissioväriarvoksi puhdas musta väriarvo. Tämän jälkeen urageometria ja hipoly-malli yhdistetään samaksi geometriaksi. Yhdistäminen voidaan tehdä boolean-operaatiolla, mutta baking-operaation kannalta myös sisäkkäin aseteltu geometria tuottaa yhtä hyvän lopputuloksen. Bezier-käyrät täytyy muuttaa polygonigeometriaksi ennen kuin yhdistäminen voidaan suorittaa. Tämän jälkeen täytyy suorittaa ainoastaan baking-operaatio, jossa urageometrian omaavan hipoly-mallin emissioväriarvo tallennetaan kuvatiedostona lopoly-mallin uv-

30 koordinaatteihin. Syntyvällä kuvatekstuurilla voidaan toteuttaa niin heigt- kuin diffuusiväritekstuurejakin vaivattomasti. Kuvio 29. Kapeiden urien urakuvio tekstuurina lautasosan mallissa. 5 Yhteenveto Hard surface -malleja tuotettaessa usein toistuva pinnan geometrinen yksityiskohta on pinnalla kulkeva ura. Uria esiintyy monissa todellisen maailman esineissä, jolloin niiden toteuttaminen on välttämätöntä esineen esittämiseksi 3d-mallina. Urilla voidaan tehdä myös kuvitteellisten esineiden pinnanmuodoista rakenteellisesti uskottavampia. Mallin pinnalla kulkeva ura saa esineen vaikuttamaan siltä, kuin se olisi kasattu toisiinsa liitetyistä paloista. Urat ovat lisäksi erinomainen tapa jäsentää mallinnettavan esineen muotoa ja jakaa mallin pinta-alaa eri alueisiin. Urat mallin pinnassa luovat mielenkiintoisia heijastuksia ja varjoja esineen pintaan, kun esine valaistaan. Opinnäytetyössäni tutkin menetelmiä, joilla urat voidaan toteuttaa mallin pintaan. Lopoly-mallin pintaan mallinnettu urageometria on suoraviivaisin tapa urien toteuttamiseen. On kuitenkin hyvin työlästä mallintaa kaikki urat käsin perinteisillä polygonimal-

31 linnustekniikoilla. Jos mallin pinta käyttäytyy monimutkaisesti, urien mallinnusurakka vaikeutuu. Mallinnusurakan työläys vaikeutuu entisestään, jos mallin topologian täytyy tukea subdivision-mallinnusta. Yleisesti ottaen lopoly-mallin pintaan mallinnettu urageometria ei ole mielekäs tapa toteuttaa ainakaan kovin suuria urakuviokokonaisuuksia, ei varsinkaan monimutkaisilla pinnoilla. Boolean-operaatiolla urageometria saadaan toteutettua lopoly-malliin vaivattomasti, kunhan mallin topologia on valmistettu boolean-operaation vaatimukset huomioiden. Boolean-operaation seurauksena syntyy väistämättä huonolaatuista geometriaa, joka on korjattava käsin. Huonolaatuinen geometria on monella tavalla haitallista 3d-mallien kanssa työskennellessä. Se aiheuttaa ongelmia erityisesti subdivision-mallinnuksessa. Hipoly-mallin pintaan veistämällä mallinnettu urageometria on mielekkäämpi metodi urien toteuttamiseksi. Mallinnusprosessi on nopeampi, koska topologian vaatimukset voidaan unohtaa jo tarpeeksi tiheässä hipoly-mallissa. Hipoly-malliin veistetyn urageometrian puolesta puhuu myös se seikka, että urien pinnanmuodot voidaan siirtää lopoly-malliin retopo-vaiheessa helpommin, kuin ne ovat mallinnettavissa poligonimallinnustyökaluilla. Veistojäljen säilyttäminen tarkkana ja tasalaatuisena saattaa aiheuttaa ongelmia. Itse havaitsin varsinkin kaarevien uramuotojen tarkan veistämisen olevan hyvin vaikeaa. Hipoly-mallin urien tuottaminen boolean-operaatiolla on tarkka menetelmä tasalaatuisen urakuvion mallintamiseen. Boolean-operaation topologiavaatimukset täytyy ottaa huomioon optimaalisen lopputuloksen saavuttamiseksi. Operaation seurauksena syntyvä huonolaatuinen geometria ei ole enää ongelma hipoly-mallin polygonitiheyden takia. N-gonit voidaan muuttaa kolmioiksi ilman, että hipoly-mallin pinnanmuoto kärsii. Urat voidaan toteuttaa myös kuvatekstuureilla. Bump-kartoilla saadaan aikaan vaikutelma pinnalla kulkevista urista ilman geometriaa. Bump-tekstuuri voidaan tuottaa hipoly-mallin geometriasta tai erillisessä kuvankäsittelyohjelmassa käsin maalaten. Bumpkartalla toteutettu vaikutelma urageometriasta toimii vaihtelevasti olosuhteista riippuen. Hyvin suuret yksityiskohdat, joissa vaikutelma pinnanmuutoksesta on merkittävä, saattavat paljastua joissain kuvakulmissa bump-kartalla tuotetuiksi huijauksiksi. Displacement-tekstuureilla mallin pintaan tuotettu oikea geometrinen muoto ei ole bump-kartan tavoin altis paljastumaan huijaukseksi. Sen sijaan mallin geometrian täy-

32 tyy olla hyvin tiheää, jotta ura mallin pinnassa olisi laadukas. Menetelmä on laskennallisesti raskas ja mallinnettuun geometriaan verrattuna epätarkka. Mallinnettavan 3d-geometrian lopullinen käyttötarkoitus määrittää eri tekniikoiden käytännöllisyyden kussakin tilanteessa. Opinnäytetyön soveltavassa osiossa käytin esittelemiäni mallinnustekniikoita urien toteuttamiseksi avaruusaluksen 3d-malliin. Sovellustyö oli sikäli mielenkiintoinen, että samassa esimerkkitilanteessa toteutin urat kahdella eri metodilla. Mallin pinnan leveät urat toteutettiin hipoly-malliin mallinnettuna geometriana. Saman pinnan kapeat urat toteutettiin bump-tekstuurilla. Molemmat toteutusmetodit pohjautuivat samaan mallinnusprosessiin, jossa bezier-käyrien avulla mallinnetaan urageometriaa. Urageometriaa voidaan käyttää urien luomiseen geometriana mallin pinnassa boolean-operaation avulla. Toisaalta samalla menetelmällä luotua geometriaa voidaan käyttää myös maskitekstuurien valmistamiseen bump tai diffuusi -karttaa varten. Opinnäytetyön soveltavassa osuudessa kävin mallinnustyövaiheet läpi tavalla, joka salli niiden soveltamisen lukuisissa 3d-mallinnusohjelmissa. Esittelemäni tekniikat eivät ole ohjelmasidonnaisia, ja valitsemani mallinnusmetodi on mielestäni tehokas ja nopea tapa urien toteuttamiseen.

33 Lähteet Blender 2.79 Manual a. Displacement. Luettavissa osoitteessa: <https://docs.blender.org/manual/en/dev/render/cycles/materials/displacement.html?hi ghlight=displacement> (luettu 7.11.2017). Blender 2.79 Manual b. Boolean Modifier. Luettavissa osoitteessa: <https://docs.blender.org/manual/en/dev/modeling/modifiers/generate/booleans.html?hi ghlight=boolean> (luettu 27.10.2017). Blender 2.79 Manual, c. Render Baking. Luettavissa osoitteessa: <https://docs.blender.org/manual/en/dev/render/blender_render/bake.html?highlight=e mission> (Luettu 1.11.2017). Blender 2.79 Manual, d. Emission Node. Luettavissa osoitteessa: <https://docs.blender.org/manual/en/dev/render/cycles/nodes/types/shaders/emission. html?highlight=emission> (Luettu 3.11.2017). Elo, Markus 2010: Subdivision -mallinnus. Luettavissa osoitteessa: <http://urn.fi/urn:nbn:fi:amk-2010061512205> (Luettu 2.11.2017). Koppström, Juha 2014. Hard surface -tekniikat Zbrushissa. Luettavissa osoitteessa: < http://urn.fi/urn:nbn:fi:amk-201405147939> (Luettu 29.10.2017). OnlineMediaTutor 2014. 3D Constraints - Polygon count, File Size & Render Time by OnlineMediaTutor Maya modeling & animation tutorials! [online] Katsottavissa osoitteessa: <https://www.youtube.com/watch?v=f2rnztge9-a> (Katsottu 1.11.2017) Phan, Hai 2015. Essentials, EP 3: Normal Map Floaters by Hai Phan. [online] Katsottavissa osoitteessa: <https://www.youtube.com/watch?v=ny-m4qrgfn8 > (Katsottu 26.10.2017). Pixologic 2017. ZRemesher. Luettavissa osoitteessa: http://docs.pixologic.com/user-guide/3d-modeling/topology/zremesher/ (luettu 1.11.2017).

34 Pluralsight 2014. Why are ngons and triangles so bad? Luettavissa osoitteessa: <https://www.pluralsight.com/blog/film-games/ngons-triangles-bad> (Luettu 8.11.2017). Polycount wiki 2015. Displacement map. Luettavissa osoitteessa: <http://wiki.polycount.com/wiki/displacement_map> (Luettu 7.11.2017). Polycount wiki 2016. Normal map. Luettavissa osoitteessa: <http://wiki.polycount.com/wiki/normal_map > (Luettu 7.11.2017). Timaxmedia n.d. Luettavissa osoitteessa: <http://www.timaxmedia.com/html/help/glossary_of_3d_terms_.htm> (Luettu 25.10.2017). Vaughan, William 2012. Digital Modeling: Fundamentals of a digital model. [online] Peachpit. Luettavissa osoitteessa: <http://www.peachpit.com/articles/article.aspx?p=1825166&seqnum=2> (Luettu 29.10.2017). Wikipedia 2014. Bezier-käyrä. Luettavissa osoitteessa: <https://fi.wikipedia.org/wiki/b%c3%a9zier-k%c3%a4yr%c3%a4> (Luettu 1.11.2017).

35 Kuvalähteet Kuviot 2, 3 ja 4. https://www.textures.com/ Kuvio 17. http://memory-alpha.wikia.com/wiki/enterprise_(nx-01)

Liite 1 1 (2) Kuvia Enterprisen 3d-mallista

Liite 2 2 (2) Lähikuva Enterprisen 3d-mallista