Talon 3D-mallintaminen ja WebGL-esittelysovelluksen toteutus mobiiliin
Norja, Antti (2016)
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:amk-2016112918191
https://urn.fi/URN:NBN:fi:amk-2016112918191
Tiivistelmä
Insinöörityön tarkoituksena oli toteuttaa talon 3D-mallinnus ja sen esittelysovellus hyödyntämällä
WebGL-ohjelmointirajapintaa. Mallin pohjana käytettiin yksityishenkilölle suunniteltua
talomallia, ja tavoitteena oli optimoida sovellus toimimaan mobiililaitteilla.
Työssä perehdyttiin WebGL:n teknisiin toiminallisuuksiin ja kehitystyöhön. WebGL on
Khronos Groupin kehittämä ohjelmointirajapinta, jonka avulla voidaan esittää 3D-grafiikkaa
verkkoselaimessa. Lisäksi työssä tutkittiin pääpiirteittäin virtuaalitodellisuuden kehitystä ja
tutustuttiin käytännön esimerkkeihin WebGL:ää hyödyntävistä VR-sovelluksista. Tuloksena
selvisi, että VR-sovelluksia voidaan kehittää WebGL-apukirjastojen avulla, jotka sisältävät
VR-kehitykselle vaadittavat kamera- ja liikkeenohjauskomponentit.
WebGL-sovellusta varten tehtiin suunnitelma, jossa määriteltiin työn tavoitteet, ominaisuudet
ja vaadittavat työkalut. Sovelluksen kehitys aloitettiin talon 3D-mallintamisesta annettujen
lähdemateriaalien mukaisesti, huomioiden mobiilijärjestelmien suorituskykyrajoitteet
3D-grafiikan tuottamisessa. Malli tuotiin PlayCanvas-pelimoottoriin, jossa lisättiin kaikki
toiminnallisuudet. Lopputuloksena oli mobiiliympäristöön suunniteltu WebGL-sovellus, joka
sisälsi rakennuksen virtuaaliesittelyyn vaadittavia toimintoja ja virtuaalitodellisuuslaseille
suunnitellun näkymän.
Sovelluksen suorituskykyä mitattiin kahdella eri käyttökokeella, ja lopputuloksena todennettiin
sovelluksen mobiilioptimoinnin toteutuneen osittain. Verkkosivustojen latausaikojen
vertailussa sovellus pärjäsi hyvin suhteessa muihin mobiilisivuihin, ja se sai Googlen mobiilisivustojen
soveltuvuustestistä hyvät arvosanat. Sovellus toimi 3D-grafiikan tuottamisessa
vaihtelevasti eri laitteiden välillä suorituskykyongelmien vuoksi. Jatkokehitysehdotuksena
sovellusta tulisi testata laajemmalla laitevalikoimalla, jotta saataisiin kattavampi
määrä vertailudataa. Lisäksi sovelluksen käyttöliittymää voisi kehittää käyttäjäystävällisemmäksi.
WebGL-ohjelmointirajapintaa. Mallin pohjana käytettiin yksityishenkilölle suunniteltua
talomallia, ja tavoitteena oli optimoida sovellus toimimaan mobiililaitteilla.
Työssä perehdyttiin WebGL:n teknisiin toiminallisuuksiin ja kehitystyöhön. WebGL on
Khronos Groupin kehittämä ohjelmointirajapinta, jonka avulla voidaan esittää 3D-grafiikkaa
verkkoselaimessa. Lisäksi työssä tutkittiin pääpiirteittäin virtuaalitodellisuuden kehitystä ja
tutustuttiin käytännön esimerkkeihin WebGL:ää hyödyntävistä VR-sovelluksista. Tuloksena
selvisi, että VR-sovelluksia voidaan kehittää WebGL-apukirjastojen avulla, jotka sisältävät
VR-kehitykselle vaadittavat kamera- ja liikkeenohjauskomponentit.
WebGL-sovellusta varten tehtiin suunnitelma, jossa määriteltiin työn tavoitteet, ominaisuudet
ja vaadittavat työkalut. Sovelluksen kehitys aloitettiin talon 3D-mallintamisesta annettujen
lähdemateriaalien mukaisesti, huomioiden mobiilijärjestelmien suorituskykyrajoitteet
3D-grafiikan tuottamisessa. Malli tuotiin PlayCanvas-pelimoottoriin, jossa lisättiin kaikki
toiminnallisuudet. Lopputuloksena oli mobiiliympäristöön suunniteltu WebGL-sovellus, joka
sisälsi rakennuksen virtuaaliesittelyyn vaadittavia toimintoja ja virtuaalitodellisuuslaseille
suunnitellun näkymän.
Sovelluksen suorituskykyä mitattiin kahdella eri käyttökokeella, ja lopputuloksena todennettiin
sovelluksen mobiilioptimoinnin toteutuneen osittain. Verkkosivustojen latausaikojen
vertailussa sovellus pärjäsi hyvin suhteessa muihin mobiilisivuihin, ja se sai Googlen mobiilisivustojen
soveltuvuustestistä hyvät arvosanat. Sovellus toimi 3D-grafiikan tuottamisessa
vaihtelevasti eri laitteiden välillä suorituskykyongelmien vuoksi. Jatkokehitysehdotuksena
sovellusta tulisi testata laajemmalla laitevalikoimalla, jotta saataisiin kattavampi
määrä vertailudataa. Lisäksi sovelluksen käyttöliittymää voisi kehittää käyttäjäystävällisemmäksi.