3D-mallintaminen FPS-pelin näkökulmasta
Laakso, Sonja (2017)
Laakso, Sonja
Lahden ammattikorkeakoulu
2017
All rights reserved
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:amk-201705199004
https://urn.fi/URN:NBN:fi:amk-201705199004
Tiivistelmä
Tässä opinnäytetyössä keskityttiin 3D-mallintamiseen ja animaatioon FPS-pelin näkökulmasta. Pelien ensimmäisen persoonan asetelma antaa realistisen tuntuman ruudulla tapahtuvaan toimintaan ja tilanne on samaistuttavissa. Tärkeimpänä osana tämän perspektiivin luomisessa on ruudulla näkyvät hahmon kädet, joita pelaaja hallitsee. Kädellä voidaan esimerkiksi poimia esineitä tai käyttää niitä halutulla tavalla. Käsiin kiinnittyy paljon huomiota, joten niiden fysiikan ja eleiden on oltava mahdollisimman realistisia.
Reaaliaikaista renderöintiä varten pelien käyttämät mallit täytyy optimoida mahdollisimman kevyiksi prosessoitaviksi pelimoottorille. Tätä varten käden malleja tehtiin tässä työssä kaksi kappaletta, niin sanotut high- ja low-poly-mallit. Raskaampi ja viimeistelty high-poly-malli valmistettiin skulptaamalla. Sen yksityiskohtiin kiinnitettiin paljon huomiota, jotta siitä saataisiin mahdollisimman realistinen. Valmis malli kartoitettiin UVW Unwrap -modifikaattorilla, jotta suoraan sen pintaan voitiin tehdä materiaali maalaamalla.
Ensimmäisestä mallista generoitiin tekstuurit siirrettäväksi seuraavana työvaiheena olevaan low-poly-malliin. Tekstuurien generointi tapahtui ohjelman sisäisesti. Se analysoi pintaa 2D-karttana ja tulkitsi pinnan kohoumat ja syventymät erilaisiksi asteiksi. Karttoja generoitiin kolme erilaista, joista jokaisella oli eri ominaisuuksia lopulliseen versioon nähden.
Topologiaa yksinkertaistettiin pelimoottoreille kevyemmäksi prosessoitavaksi low-poly-mallia varten. Tässä vaiheessa yksityiskohdat karsiutuivat pois ja malli menetti muotoaan. Pinta suoraviivaistui. Low-poly-mallin pintaan lisättiin valmiista high-poly-mallista generoidut tekstuurit, jotta sen pinta saatiin näyttämään samalta. Näin pinta saatiin renderöintiä varten näyttämään viimeistellyltä, mutta malli säilytti kevyen prosessointikykynsä.
Animaatiota varten mallin sisään laitettiin luut, joilla anatomiaa saatiin täydennettyä ja osista liikkuvia. Luiden ja ihon yhteensovittaminen oli paikoitellen haastavaa, mutta tehtävässä onnistuttiin lopulta ja animaatiosta saatiin demonstraatiokelpoinen.
Reaaliaikaista renderöintiä varten pelien käyttämät mallit täytyy optimoida mahdollisimman kevyiksi prosessoitaviksi pelimoottorille. Tätä varten käden malleja tehtiin tässä työssä kaksi kappaletta, niin sanotut high- ja low-poly-mallit. Raskaampi ja viimeistelty high-poly-malli valmistettiin skulptaamalla. Sen yksityiskohtiin kiinnitettiin paljon huomiota, jotta siitä saataisiin mahdollisimman realistinen. Valmis malli kartoitettiin UVW Unwrap -modifikaattorilla, jotta suoraan sen pintaan voitiin tehdä materiaali maalaamalla.
Ensimmäisestä mallista generoitiin tekstuurit siirrettäväksi seuraavana työvaiheena olevaan low-poly-malliin. Tekstuurien generointi tapahtui ohjelman sisäisesti. Se analysoi pintaa 2D-karttana ja tulkitsi pinnan kohoumat ja syventymät erilaisiksi asteiksi. Karttoja generoitiin kolme erilaista, joista jokaisella oli eri ominaisuuksia lopulliseen versioon nähden.
Topologiaa yksinkertaistettiin pelimoottoreille kevyemmäksi prosessoitavaksi low-poly-mallia varten. Tässä vaiheessa yksityiskohdat karsiutuivat pois ja malli menetti muotoaan. Pinta suoraviivaistui. Low-poly-mallin pintaan lisättiin valmiista high-poly-mallista generoidut tekstuurit, jotta sen pinta saatiin näyttämään samalta. Näin pinta saatiin renderöintiä varten näyttämään viimeistellyltä, mutta malli säilytti kevyen prosessointikykynsä.
Animaatiota varten mallin sisään laitettiin luut, joilla anatomiaa saatiin täydennettyä ja osista liikkuvia. Luiden ja ihon yhteensovittaminen oli paikoitellen haastavaa, mutta tehtävässä onnistuttiin lopulta ja animaatiosta saatiin demonstraatiokelpoinen.