3D - mallien käsittely web - ympäristössä
Helin, Samuli (2017)
Helin, Samuli
Metropolia Ammattikorkeakoulu
2017
All rights reserved
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:amk-201705158315
https://urn.fi/URN:NBN:fi:amk-201705158315
Tiivistelmä
Insinöörityön tarkoituksena oli kehittää 3D-mallien visualisointityökalu WebG-tekniikalla ja vertailla WebGL-sovellusten kehitysalustoja ja -ohjelmointikirjastoja. Työ tehtiin ohjelmistoalan yritykselle.
Työssä perehdyttiin pintapuolisesti WebGL:n historiaan, ominaisuuksiin ja kehitystyökaluihin. WebGL on ohjelmointirajapinta, joka mahdollistaa laitekiihdytetyn grafiikan esittämisen verkkoselaimissa. Vertailun perusteella valittiin Unity sopivaksi kehitysalustaksi.
Visualisointityökalun alustavassa suunnittelussa vertailtiin eri 3D-mallien käyttämistä ja tuotantoprosessia Unity-kehitystyökalulla. Visualisointityökalun yksi keskeinen toiminto on saada 3D-mallit ladattua sovellukseen katseltavaksi verkkoyhteyden välityksellä sovelluksen ollessa jo käynnissä. Kehitystä varten otettiin käyttöön kaksi C#-kirjastoa, jotka mahdollistavat tämän FBX- ja OBJ-mallien kanssa. Lisäksi tutkittiin 3D-malliformaattien kompressointia ja sen hyödyllisyyttä työkalun näkökulmasta. Tuloksena selvisi, että ASCII-muotoinen OBJ-tiedosto on paras pakkautumaan verrattuna FBX-formaatin binääri- ja ASCII-muotoisiin tiedostoihin.
Visualisointityökalun tekeminen aloitettiin kehitysympäristön pystyttämisellä, 3D-mallien lataajien koodin tutkimisella ja niiden implementoinnilla työkaluun. Kehitysvaiheessa ilmenneitä ongelmia analysoitiin ja korjattiin. Suurin ongelma oli 3D-mallien parsimisen ohjelmakoodi, joka ei suoriutunut selainympäristössä ja tästä syystä itse visualisointityökalu ei valmistunut.
Tutkimuksista saatujen havaintojen ja kohdattujen ongelmien perusteella vaikuttaa siltä, että 3D-mallien lataaminen verkkoyhteyden välityksellä ja esittäminen selaimessa kannattaa tehdä jollakin JavaScript-ohjelmointikirjastolla eikä toisesta kielestä käännetyllä ohjelmointikoodilla. Insinöörityön tilaajayritys suunnittelee jatkokehitystä.
Työssä perehdyttiin pintapuolisesti WebGL:n historiaan, ominaisuuksiin ja kehitystyökaluihin. WebGL on ohjelmointirajapinta, joka mahdollistaa laitekiihdytetyn grafiikan esittämisen verkkoselaimissa. Vertailun perusteella valittiin Unity sopivaksi kehitysalustaksi.
Visualisointityökalun alustavassa suunnittelussa vertailtiin eri 3D-mallien käyttämistä ja tuotantoprosessia Unity-kehitystyökalulla. Visualisointityökalun yksi keskeinen toiminto on saada 3D-mallit ladattua sovellukseen katseltavaksi verkkoyhteyden välityksellä sovelluksen ollessa jo käynnissä. Kehitystä varten otettiin käyttöön kaksi C#-kirjastoa, jotka mahdollistavat tämän FBX- ja OBJ-mallien kanssa. Lisäksi tutkittiin 3D-malliformaattien kompressointia ja sen hyödyllisyyttä työkalun näkökulmasta. Tuloksena selvisi, että ASCII-muotoinen OBJ-tiedosto on paras pakkautumaan verrattuna FBX-formaatin binääri- ja ASCII-muotoisiin tiedostoihin.
Visualisointityökalun tekeminen aloitettiin kehitysympäristön pystyttämisellä, 3D-mallien lataajien koodin tutkimisella ja niiden implementoinnilla työkaluun. Kehitysvaiheessa ilmenneitä ongelmia analysoitiin ja korjattiin. Suurin ongelma oli 3D-mallien parsimisen ohjelmakoodi, joka ei suoriutunut selainympäristössä ja tästä syystä itse visualisointityökalu ei valmistunut.
Tutkimuksista saatujen havaintojen ja kohdattujen ongelmien perusteella vaikuttaa siltä, että 3D-mallien lataaminen verkkoyhteyden välityksellä ja esittäminen selaimessa kannattaa tehdä jollakin JavaScript-ohjelmointikirjastolla eikä toisesta kielestä käännetyllä ohjelmointikoodilla. Insinöörityön tilaajayritys suunnittelee jatkokehitystä.