Vokselimaaston renderöinti kuutiomarssituksen ja modulaaristen palojen avulla
Siiki, Teemu (2024)
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:amk-2024112229426
https://urn.fi/URN:NBN:fi:amk-2024112229426
Tiivistelmä
Marching Cubes on pinnanrakennusalgoritmi, jonka avulla voidaan rakentaa polygoniverkko kolmiulotteisessa avaruudessa olevista pisteistä. Algoritmi perustuu hakutaulukkoon, johon on asetettu valmiiksi ratkaistut arvot, mikä tekee siitä nopean ja yksinkertaisen. Algoritmi kehitettiin alun perin lääketieteellisiin tarkoituksiin, kuten magneettikuvauksien tuloksien muuttamiseksi 3D-malleiksi. Marching Cubes -algoritmia käytetään myös laajasti erilaisissa sovelluksissa lääketieteellisen kuvantamisen lisäksi, kuten tietokoneavusteisessa suunnittelussa ja videopeleissä.
Tässä opinnäytetyössä tutkittiin Marching Cubes algoritmin käyttöä ratkaisijana kolmiulotteisen vokselimaaston pinnan rakentamisessa. Algoritmin yleisempi käyttötapa on rakentaa kolmioitu polygoniverkko maaston pinnan visualisoimiseksi, mutta tässä työssä käytiin läpi kolmiointitaulukon korvaamista valmiiksi 3D-mallinnetuilla palasilla. Opinnäytetyössä luotiin demoprojekti, jossa tämä toteutettiin.
Työssä luotiin Unity-pelimoottorilla pelidemo, jossa pelaaja voi muokata maastoa lisäämällä ja poistamalla osia lohkoon, joista algoritmi rakentaa lopullisen polygoneista koostuvan maaston. Työn ideana oli jäljitellä vanhojen retropelien toistuvista palasista rakentuvia maailmoja kolmessa ulottuvuudessa. Opinnäytetyössä käytiin läpi algoritmin alkuperä, toimintaperiaate, demoprojektin luontiprosessi sekä siihen vaadittavat muutokset algoritmin implementointiin. Pelidemon avulla pystyttiin analysoimaan ja tuomaan algoritmin vahvuuksia ja heikkouksia paremmin esille pelinkehityksessä ja näkemään se reaaliaikaisen grafiikan asettamien vaatimusten kontekstissa.
Tässä opinnäytetyössä tutkittiin Marching Cubes algoritmin käyttöä ratkaisijana kolmiulotteisen vokselimaaston pinnan rakentamisessa. Algoritmin yleisempi käyttötapa on rakentaa kolmioitu polygoniverkko maaston pinnan visualisoimiseksi, mutta tässä työssä käytiin läpi kolmiointitaulukon korvaamista valmiiksi 3D-mallinnetuilla palasilla. Opinnäytetyössä luotiin demoprojekti, jossa tämä toteutettiin.
Työssä luotiin Unity-pelimoottorilla pelidemo, jossa pelaaja voi muokata maastoa lisäämällä ja poistamalla osia lohkoon, joista algoritmi rakentaa lopullisen polygoneista koostuvan maaston. Työn ideana oli jäljitellä vanhojen retropelien toistuvista palasista rakentuvia maailmoja kolmessa ulottuvuudessa. Opinnäytetyössä käytiin läpi algoritmin alkuperä, toimintaperiaate, demoprojektin luontiprosessi sekä siihen vaadittavat muutokset algoritmin implementointiin. Pelidemon avulla pystyttiin analysoimaan ja tuomaan algoritmin vahvuuksia ja heikkouksia paremmin esille pelinkehityksessä ja näkemään se reaaliaikaisen grafiikan asettamien vaatimusten kontekstissa.