Hyppää sisältöön
    • Suomeksi
    • På svenska
    • In English
  • Suomi
  • Svenska
  • English
  • Kirjaudu
Hakuohjeet
JavaScript is disabled for your browser. Some features of this site may not work without it.
Näytä viite 
  •   Ammattikorkeakoulut
  • Metropolia Ammattikorkeakoulu
  • Opinnäytetyöt
  • Näytä viite
  •   Ammattikorkeakoulut
  • Metropolia Ammattikorkeakoulu
  • Opinnäytetyöt
  • Näytä viite

Monialustainen kontitettu palvelinratkaisu 3D-ympäristössä sijaitsevan reaaliaikaisen datan esittämiseen

Kuokkanen, Mikael (2021)

 
Avaa tiedosto
Kuokkanen_Mikael.pdf (2.280Mt)
Lataukset: 


Kuokkanen, Mikael
2021
All rights reserved. This publication is copyrighted. You may download, display and print it for Your own personal use. Commercial use is prohibited.
Näytä kaikki kuvailutiedot
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:amk-202105168843
Tiivistelmä
Insinöörityön tarkoituksena oli toteuttaa kehitteillä olevaan PWA-sovellukseen (Progressive Web Application) integroitavissa oleva palvelinratkaisu jo olemassa olevalle reaaliaikaista dataa havainnollistavalle digitaalisen kaksosen (digital twin) Unity-projektille sekä jatkokehittää kyseistä projektia. Toteutuksessa pyrittiin myös tarjoamaan moninpelimuotoinen alustariippumaton interaktiivinen kokemus, jossa Unity-projektissa pystyisi reaaliaikaisen datan tarkastelun lisäksi sekä liikkumaan että olemaan jollain tapaa vuorovaikutuksessa muiden pelaajien kanssa.

Moninpelimuoto toteutettiin Unityn Mirror-kirjastoa käyttäen, ja eri versioille rakennettiin WebGL-alustalle aihiot, jotka pakattiin Docker-konttialustaa käyttäen Microsoft Azure -julkaisuympäristössä suoritettaviksi konteiksi. Docker-image-tiedostojen rakennus- ja julkaisuprosessi toteutettiin automatisoidusti GitHub Actions -palvelussa.

Projektissa käytetty 3D-malli todettiin kaiken optimoinnin jälkeen liian raskaaksi suorittaa selaimessa, joten interaktiivisten WebGL-versioiden sijaan päätettiin, että PWA-sovellukseen integroitava osuus tulisi olemaan vain reaaliaikainen suoratoisto projektiin tehdystä automatisoidusta ylilennosta, jossa reaaliaikaista dataa havainnollistetaan. Tämän lisäksi WebGL-versiot muunnettiin natiivimuotoisiksi ladattavissa oleviksi erillisiksi interaktiivisiksi sovelluksiksi.

Unity-projektin suoratoisto mahdollistettiin sulauttamalla siihen FFmpeg-multimediatyökalu, jota käyttäen lähetettiin projektissa renderöityä kuvaa RTMP-protokollalla sitä vastaanottavalle NGINX-palvelimelle. Palvelin konfiguroitiin julkaisemaan HLS-soittolistaa (HTTP Live Streaming) React-kirjastolla tehdyn asiakasohjelman käyttöön, josta suoraa lähetystä pystyi toistamaan verkkoselaimessa.

Insinöörityössä opituista käytännöistä saatiin selville suoratoiston kokonaisvaltaisen palvelun toteuttamisen monimutkaisuus sekä suurten 3D-mallien renderöimisen haasteet. Projektissa käytetty konttipohjainen ketterä kehitysmalli oli sekä arvokas oppi tekijän saaman taitotiedon että projektin jatkokehitysmahdollisuuksien kannalta. Tuloksena syntyi toimiva uudelleenkäytettävissä oleva ratkaisu.
Kokoelmat
  • Opinnäytetyöt
Ammattikorkeakoulujen opinnäytetyöt ja julkaisut
Yhteydenotto | Tietoa käyttöoikeuksista | Tietosuojailmoitus | Saavutettavuusseloste
 

Selaa kokoelmaa

NimekkeetTekijätJulkaisuajatKoulutusalatAsiasanatUusimmatKokoelmat

Henkilökunnalle

Ammattikorkeakoulujen opinnäytetyöt ja julkaisut
Yhteydenotto | Tietoa käyttöoikeuksista | Tietosuojailmoitus | Saavutettavuusseloste