Kolmiulotteinen maastogeneraattori
Rosenlöf, Samuel (2022)
Rosenlöf, Samuel
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-2022120125409
https://urn.fi/URN:NBN:fi:amk-2022120125409
Tiivistelmä
Insinöörityön tarkoituksena oli soveltaa ensisijaisesti Binary Space Partitioning- ja Wave Function Collapse -algoritmeja generoimaan maastoja valmiista palasista kolmiulotteisessa ympäristössä. Työ toteutettiin Unreal Engine -pelimoottorilla käyttäen Linux-ympäristön työkaluja.
Tyypillisesti maastogeneraattorit manipuloivat tason verteksejä, mutta tämän työn toteutuksessa käytettiin valmiiksi määritettyjä palasia, joita sijoitetaan pelikentälle muodostamaan kolmiulotteista maastoa.
Tuloksena oli kohtuullisen optimaalinen ratkaisu, mutta se vaati muutaman vaiheen enemmän kuin ideaalinen sovellus. Tärkeimpänä saavutuksena oli yhdistää eri algoritmeja monipuolisen maaston generoimiseksi Unreal Enginen avulla.
Tuloksista voitiin päätellä, että algoritmien yhdistäminen maastogenerointiin on mahdollista ja niiden yhdistäminen tuottaa uniikkeja muodostelmia maaston generoinnissa jokaisella suorituskerralla. Näitä tuloksia voidaan hyödyntää ensisijaisesti videopeleissä, mutta mielikuvituksilla sovelluksilla niitä voidaan myös hyödyntää lähes kaikissa digitaalisissa medioissa.
Tyypillisesti maastogeneraattorit manipuloivat tason verteksejä, mutta tämän työn toteutuksessa käytettiin valmiiksi määritettyjä palasia, joita sijoitetaan pelikentälle muodostamaan kolmiulotteista maastoa.
Tuloksena oli kohtuullisen optimaalinen ratkaisu, mutta se vaati muutaman vaiheen enemmän kuin ideaalinen sovellus. Tärkeimpänä saavutuksena oli yhdistää eri algoritmeja monipuolisen maaston generoimiseksi Unreal Enginen avulla.
Tuloksista voitiin päätellä, että algoritmien yhdistäminen maastogenerointiin on mahdollista ja niiden yhdistäminen tuottaa uniikkeja muodostelmia maaston generoinnissa jokaisella suorituskerralla. Näitä tuloksia voidaan hyödyntää ensisijaisesti videopeleissä, mutta mielikuvituksilla sovelluksilla niitä voidaan myös hyödyntää lähes kaikissa digitaalisissa medioissa.
