Procedural Terrain Generation in VR Simulations
Nikkola, Aapo (2022)
Nikkola, Aapo
2022
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-202203073165
https://urn.fi/URN:NBN:fi:amk-202203073165
Tiivistelmä
Tämä opinnäytetyö käsittelee virtuaalisesti generoituja maastoja, sekä niiden luonnissa hyödynnettäviä proseduraalisen generoinnin menetelmiä eli metodeja, joilla luodaan dataa algoritmien avulla. Proseduraalista generointia käytetään usein maastojen, tekstuurien, geometrian sekä efektien luomiseen. Yksi proseduraalisen generoinnin suurimmista hyödyistä on se, että sen avulla voidaan luoda ainutlaatuisen satunnaista dataa huomattavasti vähemmällä vaivalla, verrattuna työmäärään mikä kuluisi saman tuloksen saavuttamiseen käsin.
Opinnäytetyön tavoitteina oli saada parempi käsitys siitä, miten virtuaalisia maastoja luodaan, miten proseduraalista generointia voidaan hyödyntää maastonluomisprosessissa, minkälaista tutkimusta aiheesta on tehty, sekä selvittää voidaanko proseduraalisen generoinnin menetelmiä soveltaa oikean maailman sijaintiin perustuvien korkeuskarttojen, ja siten niistä generoitujen maastojen parantelemiseksi.
Työssä verrattiin eri korkeusdatan lähteitä, ja havaittiin, että laadussa on paljon vaihtelua. Mitä lähempänä maapallon napoja olevasta sijainnista on kyse, sitä epätarkemmaksi data muuttuu ja vääristymien määrä kasvaa. Lisäksi avoimen lähdekoodin työkaluja verrattiin kaupallisiin maastonluontityökaluihin ja kummankin etuja arvioitiin.
Opinnäytetyön toimeksiantaja oli Tulevaisuuden interaktiiviset teknologiat -tutkimusryhmä Turun ammattikorkeakoulusta. Maasto tehtiin jo olemassa olevaan MarISOT (Maritime Immersive Safe Oceans Technology) virtuaalitodellisuuden simulaatioon, jota käytetään merikapteenien koulutuksessa rahtilaivan ohjaamisessa saaristossa.
Tämän opinnäytetyön tuloksena esiteltiin proseduraalinen työnkulku, jolla paranneltiin korkeuskarttaa, josta luotiin maasto MarISOT-simulaatioon. Siten todistettiin, että proseduraalista generointia voidaan erinomaisesti soveltaa korkeuskarttojen parantelemiseen ja resoluution suurentamiseen. Vertailussa todettiin, että siinä missä avoimen lähdekoodin työkalut olivat ilmaisia, järjestelmän luominen ensimmäistä kertaa vei paljon aikaa. Kun taas kaupallisilla työkaluilla, joissa on maksulliset lisenssit, sama tulos voitiin saavuttaa nopeammin valmiiden ominaisuuksien ansiosta. Kummallakin vaihtoehdolla on siis puolensa. Opinnäytetyössä luotua työnkulkua voidaan helposti käyttää minkä tahansa korkeuskartan muokkaamiseen mikä mahdollistaa sen hyödyntämisen jatkossa myös muihin projekteihin. This thesis describes virtually generated terrains and procedural methods used for generating them. Procedural generation is a method of creating data algorithmically, commonly used for creating terrains, textures, geometry, and effects. One of its greatest benefits is that it provides unique random data with significantly less effort compared to achieving the same result by hand.
The objectives of this thesis were to gain a better understanding of how procedural generation is used regarding terrain generation, what kind of research has been carried out on this topic, and whether procedural methods can be applied to heightmaps based on a real-world location to improve the generated terrain. Answers to these questions were found through a literature review.
This thesis compared different sources to obtain elevation data, which revealed that there is a great amount of variation in the quality. Especially the closer the location in question is to the earth's poles the more the data accuracy tends to decrease and show distortion. Additionally, a comparison between open-source tools and commercial terrain generation tools was conducted, and the benefits of both were discussed.
The thesis commissioner was Futuristic Interactive Technologies Research Group of Turku University of Applied Sciences. The terrain was created for an existing virtual reality simulation. The purpose of the MarISOT (Maritime Immersive Safe Oceans Technology) simulation is to train sea captains to navigate cargo ships in an archipelago environment.
To achieve the objectives of this thesis, a procedural workflow was established and used to improve a heightmap, and terrain was generated for the MarISOT simulation. Thus, it was proved that methods of procedural generation can well be applied to improve heightmaps and upscale their resolutions. The comparison concluded that where the open-source tools were free, the first-time setup took a great amount of time. Whereas commercial tools with paid licenses, the same result could be achieved faster thanks to pre-built features. Thus, both options have their advantages. The created workflow can be easily used to modify any heightmap and is, therefore, excellently applicable to other projects as well.
Opinnäytetyön tavoitteina oli saada parempi käsitys siitä, miten virtuaalisia maastoja luodaan, miten proseduraalista generointia voidaan hyödyntää maastonluomisprosessissa, minkälaista tutkimusta aiheesta on tehty, sekä selvittää voidaanko proseduraalisen generoinnin menetelmiä soveltaa oikean maailman sijaintiin perustuvien korkeuskarttojen, ja siten niistä generoitujen maastojen parantelemiseksi.
Työssä verrattiin eri korkeusdatan lähteitä, ja havaittiin, että laadussa on paljon vaihtelua. Mitä lähempänä maapallon napoja olevasta sijainnista on kyse, sitä epätarkemmaksi data muuttuu ja vääristymien määrä kasvaa. Lisäksi avoimen lähdekoodin työkaluja verrattiin kaupallisiin maastonluontityökaluihin ja kummankin etuja arvioitiin.
Opinnäytetyön toimeksiantaja oli Tulevaisuuden interaktiiviset teknologiat -tutkimusryhmä Turun ammattikorkeakoulusta. Maasto tehtiin jo olemassa olevaan MarISOT (Maritime Immersive Safe Oceans Technology) virtuaalitodellisuuden simulaatioon, jota käytetään merikapteenien koulutuksessa rahtilaivan ohjaamisessa saaristossa.
Tämän opinnäytetyön tuloksena esiteltiin proseduraalinen työnkulku, jolla paranneltiin korkeuskarttaa, josta luotiin maasto MarISOT-simulaatioon. Siten todistettiin, että proseduraalista generointia voidaan erinomaisesti soveltaa korkeuskarttojen parantelemiseen ja resoluution suurentamiseen. Vertailussa todettiin, että siinä missä avoimen lähdekoodin työkalut olivat ilmaisia, järjestelmän luominen ensimmäistä kertaa vei paljon aikaa. Kun taas kaupallisilla työkaluilla, joissa on maksulliset lisenssit, sama tulos voitiin saavuttaa nopeammin valmiiden ominaisuuksien ansiosta. Kummallakin vaihtoehdolla on siis puolensa. Opinnäytetyössä luotua työnkulkua voidaan helposti käyttää minkä tahansa korkeuskartan muokkaamiseen mikä mahdollistaa sen hyödyntämisen jatkossa myös muihin projekteihin.
The objectives of this thesis were to gain a better understanding of how procedural generation is used regarding terrain generation, what kind of research has been carried out on this topic, and whether procedural methods can be applied to heightmaps based on a real-world location to improve the generated terrain. Answers to these questions were found through a literature review.
This thesis compared different sources to obtain elevation data, which revealed that there is a great amount of variation in the quality. Especially the closer the location in question is to the earth's poles the more the data accuracy tends to decrease and show distortion. Additionally, a comparison between open-source tools and commercial terrain generation tools was conducted, and the benefits of both were discussed.
The thesis commissioner was Futuristic Interactive Technologies Research Group of Turku University of Applied Sciences. The terrain was created for an existing virtual reality simulation. The purpose of the MarISOT (Maritime Immersive Safe Oceans Technology) simulation is to train sea captains to navigate cargo ships in an archipelago environment.
To achieve the objectives of this thesis, a procedural workflow was established and used to improve a heightmap, and terrain was generated for the MarISOT simulation. Thus, it was proved that methods of procedural generation can well be applied to improve heightmaps and upscale their resolutions. The comparison concluded that where the open-source tools were free, the first-time setup took a great amount of time. Whereas commercial tools with paid licenses, the same result could be achieved faster thanks to pre-built features. Thus, both options have their advantages. The created workflow can be easily used to modify any heightmap and is, therefore, excellently applicable to other projects as well.