Pelimaailman generointi paikkatiedon avulla
Esko, Hokkanen (2024)
Esko, Hokkanen
2024
All rights reserved. This publication is copyrighted. You may download, display and print it for Your own personal use. Commercial use is prohibited.
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:amk-2024053119158
https://urn.fi/URN:NBN:fi:amk-2024053119158
Tiivistelmä
Opinnäytetyössä kehitetään ohjelmisto, jolla voidaan luoda 3D-visualisointi maailmanlaajuisen paikkatiedon pohjalta Unity-pelimoottorissa. Työ tehdään huomioiden ensisijaisesti pelinkehityksen tarpeet 3D-visualisoinnin generoimiseen. Tavoitteena on hyödyntää 3D-visualisointia käyttökelpoisen pelimaailman luomiseen. Tämän vuoksi visualisoinnin luomisessa priorisoidaan sen käytettävyyttä datan realistisesti kuvaamisen yli.
Opinnäytetyön tutkimusongelmana on 3D-visualisaation luominen alueesta oikean maailman sijainnin pohjalta Unity-pelimoottorissa. Tutkimusongelmaan vastataan osana ohjelmistonkehitysprosessia. Työn teoriaosiossa tarkastellaan Unity-pelimoottorille kehitettyjä ohjelmistoja paikkatiedon 3D-visualisointiin ja niiden käyttämiä tekniikoita. Sen lisäksi käydään läpi erinäisiä käyttökohteita paikkatiedon hyödyntämiselle peleissä. Tekniseen toteutukseen valituista datalähteistä ja ohjelmointirajapinnoista kerrotaan pääpiirteittäin, minkä lisäksi tarkastellaan syvemmin niiden käyttämiä tietomalleja. Datasta tutkitaan 3Dvisualisaatiolle kriittisen datan määrää ja laatua sekä mahdollisia ratkaisuja sen epäkohtien ja puutteiden käsittelemiseen. Viimeiseksi datasta luodaan 3D-visualisaatio ohjelmallisesti Unity-pelimoottorissa.
Teknistä toteutusta varten valitaan kaksi avointa datalähdettä: OpenStreetMap ja OpenTopography, joiden ohjelmointirajapintojen kautta päästään käsiksi maailmanlaajuiseen kartta- ja korkeusdataan Unity-pelimoottorissa. Työssä ratkaistaan 3D-visuaalisoinnille kriittisen datan puutteellisuus täydentämällä se olemassa olevan datan perusteella. Visualisoinnin laadun ylläpitämiseksi hylätään data, jonka muotoilussa ilmenee epäkohtia. Pelimaailman ohjelmallisesti luomiseen käytetään useita eri tekniikoita. Maaston luomiseen hyödynnetään Unity-pelimoottorin Terrain-järjestelmää. Rakennuksien polygonimallit luodaan ekstruusiona niiden kaksiulotteisesta muodosta, kun taas teiden polygonimallit generoidaan spline mesh -työkalulla. Kasvusto puolestaan luodaan instanssoituina prefab-objekteina.
Opinnäytetyön tutkimusongelmana on 3D-visualisaation luominen alueesta oikean maailman sijainnin pohjalta Unity-pelimoottorissa. Tutkimusongelmaan vastataan osana ohjelmistonkehitysprosessia. Työn teoriaosiossa tarkastellaan Unity-pelimoottorille kehitettyjä ohjelmistoja paikkatiedon 3D-visualisointiin ja niiden käyttämiä tekniikoita. Sen lisäksi käydään läpi erinäisiä käyttökohteita paikkatiedon hyödyntämiselle peleissä. Tekniseen toteutukseen valituista datalähteistä ja ohjelmointirajapinnoista kerrotaan pääpiirteittäin, minkä lisäksi tarkastellaan syvemmin niiden käyttämiä tietomalleja. Datasta tutkitaan 3Dvisualisaatiolle kriittisen datan määrää ja laatua sekä mahdollisia ratkaisuja sen epäkohtien ja puutteiden käsittelemiseen. Viimeiseksi datasta luodaan 3D-visualisaatio ohjelmallisesti Unity-pelimoottorissa.
Teknistä toteutusta varten valitaan kaksi avointa datalähdettä: OpenStreetMap ja OpenTopography, joiden ohjelmointirajapintojen kautta päästään käsiksi maailmanlaajuiseen kartta- ja korkeusdataan Unity-pelimoottorissa. Työssä ratkaistaan 3D-visuaalisoinnille kriittisen datan puutteellisuus täydentämällä se olemassa olevan datan perusteella. Visualisoinnin laadun ylläpitämiseksi hylätään data, jonka muotoilussa ilmenee epäkohtia. Pelimaailman ohjelmallisesti luomiseen käytetään useita eri tekniikoita. Maaston luomiseen hyödynnetään Unity-pelimoottorin Terrain-järjestelmää. Rakennuksien polygonimallit luodaan ekstruusiona niiden kaksiulotteisesta muodosta, kun taas teiden polygonimallit generoidaan spline mesh -työkalulla. Kasvusto puolestaan luodaan instanssoituina prefab-objekteina.