Shaderien teko ja hyödyntäminen Unityssä : case Kyber Knights
Nord, Esa (2019)
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:amk-2019120123790
https://urn.fi/URN:NBN:fi:amk-2019120123790
Tiivistelmä
Tämän opinnäytetyön toimeksiantaja on Portaalin Pojat Oy, joka on Tampereella toimiva virtuaalielämysliike. Opinnäytetyössä suunniteltiin ja toteutettiin toimeksiantajalle kehitettyyn Kyber Knights -virtuaalitodellisuusmoninpeliin tarvittavat shader-ohjelmat, joilla voitiin toteuttaa pelaajan ja hahmon ja kilven tarvitsemat erikoisefektit.
Shader-ohjelmien kehityksessä haettiin verkosta shaderiesimerkkejä, jotka toteuttavat halutun tai vastaavanlaisen efektin. Esimerkkien analysoinnilla varauduttiin mahdollisiin ongelmiin, joita efektien toteutuksessa oli virtuaalitodellisuuden yhteydessä. Ennen suunniteltujen efektien toteuttamista, voitiin hakea vaihtoehtoisia shaderiesimerkkejä korvaamaan virtuaalitodellisuuden kanssa toimimattomat efektit. Lopulliset shaderi-ohjelmat toteutettiin pitkälti suunnitelmien mukaan muutamin poikkeuksin. Shader-ohjelmien muuttujien arvojen muokkaamisessa toteutettiin Unityn dokumentaation ja haettujen esimerkkien avulla ilman suurempia ongelmia.
Shader-ohjelmien kehityksessä havaittiin, että varsinkin aloittelevana kannattaa hakea useita shaderiesimerkkejä haluttujen efektien toteuttamisen avuksi, selvittää niiden toiminta ja mahdolliset vaatimukset. Pelimoottorin ja 3D-mallinnusohjelman koordinaatiston mahdollinen eroavaisuus kannattaa myös selvittää. Vaikkakin suunnitellut shaderi-ohjelmat efekteineen saatiin toteutettua opinnäytetyön aikana, voi niiden toimintaa jatkokehittää visuaalistenefektien parantamiseksi. Yhtenä jatkokehitysehdotuksena on lisätä pelaajan liikkumiseen teleportaatioefekti, jota harkittiin yhtenä pelaajan kuolemaefektinä.
Shader-ohjelmien kehityksessä haettiin verkosta shaderiesimerkkejä, jotka toteuttavat halutun tai vastaavanlaisen efektin. Esimerkkien analysoinnilla varauduttiin mahdollisiin ongelmiin, joita efektien toteutuksessa oli virtuaalitodellisuuden yhteydessä. Ennen suunniteltujen efektien toteuttamista, voitiin hakea vaihtoehtoisia shaderiesimerkkejä korvaamaan virtuaalitodellisuuden kanssa toimimattomat efektit. Lopulliset shaderi-ohjelmat toteutettiin pitkälti suunnitelmien mukaan muutamin poikkeuksin. Shader-ohjelmien muuttujien arvojen muokkaamisessa toteutettiin Unityn dokumentaation ja haettujen esimerkkien avulla ilman suurempia ongelmia.
Shader-ohjelmien kehityksessä havaittiin, että varsinkin aloittelevana kannattaa hakea useita shaderiesimerkkejä haluttujen efektien toteuttamisen avuksi, selvittää niiden toiminta ja mahdolliset vaatimukset. Pelimoottorin ja 3D-mallinnusohjelman koordinaatiston mahdollinen eroavaisuus kannattaa myös selvittää. Vaikkakin suunnitellut shaderi-ohjelmat efekteineen saatiin toteutettua opinnäytetyön aikana, voi niiden toimintaa jatkokehittää visuaalistenefektien parantamiseksi. Yhtenä jatkokehitysehdotuksena on lisätä pelaajan liikkumiseen teleportaatioefekti, jota harkittiin yhtenä pelaajan kuolemaefektinä.