Puunäkymä tiedoston muokkauksen helpottamiseen
Karjalainen, Suvi (2019)
Karjalainen, Suvi
2019
All rights reserved. This publication is copyrighted. You may download, display and print it for Your own personal use. Commercial use is prohibited.
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:amk-2019120324416
https://urn.fi/URN:NBN:fi:amk-2019120324416
Tiivistelmä
Insinöörityön tavoite oli tehdä selkeä ja helppokäyttöinen editori Unity-pelimoottorilla tehdyn pelin asetuksille, jotka ovat ScriptableObject-tiedostossa. Pelimoottorin oletusnäkymä ScriptableObject-tiedostoille on vaikealukuinen, kun kenttien määrä kasvaa. Asetuksia on yli 200, joten ihmissilmän on vaikea selata niitä ja uuden näkymän luominen oli tarpeen.
Työssä tehtiin puunäkymä pelin asetuksille käyttäen Unity-pelimoottorin TreeView-luokkaa, joka on IMGUI-kontrolli. Se ylläpitää puun rakennetta ja huolehtii, miten puun alkiot piirretään. Tämän lisäksi työssä tehtiin EditorWindow-luokasta periytyvä luokka, joka ylläpitää puun tilaa ja päivittää näkymää ikkunassa, joka piirretään Unity-näkymään.
TreeView- ja EditorWindow-luokista tehtiin omat luokat, jotka molemmat tarvitaan puunäkymään. Työn edetessä kävi ilmi, että TreeView-luokka on erinomainen työkalu suuren datamäärän näyttämiselle, kun data voidaan lajitella järkevällä tavalla. Työn data oli alun perinkin jaoteltu aihealueiden mukaan, joiden rajat merkitään lisämääreillä, ja datan rakenne oli pitkälti otsikkojen alla olevia kenttiä ja listoja, joten puurakenne oli luonnollinen lähestymistapa, vaikka puun syvyys suurelta osalta on vain yksi.
Insinöörityön tulokset ovat lupaavia. Jo pelkän hakukentän ansiosta työryhmä säästää aikaa tiedoston muokkauksessa, mikä mahdollistaa nopeampien muutosten tekemisen ja täten nopeamman työskentelyn. Tuloksista voidaan päätellä, että Unity-pelimoottorin kanssa työskennellessä kannattaa luoda omia editoreja, etenkin jos kyseessä on tiedosto, jota muokataan usein. Työhön liittyvän peliprojektin yksi muokatuimpia tiedostoja on sen asetukset, joten oli luonnollista tehdä sille oma editori.
Vaikka editori tehtiin tietyn peliprojektin tietylle tiedostolle, sitä voidaan pienillä muokkauksilla hyödyntää minkä tahansa Unity-projektin vastaavassa tiedostossa. Editori vaatii, että sille annetaan ScriptableObject-tiedosto näytettäväksi ja koodimuutokset ovat vähäisiä.
Työssä tehtiin puunäkymä pelin asetuksille käyttäen Unity-pelimoottorin TreeView-luokkaa, joka on IMGUI-kontrolli. Se ylläpitää puun rakennetta ja huolehtii, miten puun alkiot piirretään. Tämän lisäksi työssä tehtiin EditorWindow-luokasta periytyvä luokka, joka ylläpitää puun tilaa ja päivittää näkymää ikkunassa, joka piirretään Unity-näkymään.
TreeView- ja EditorWindow-luokista tehtiin omat luokat, jotka molemmat tarvitaan puunäkymään. Työn edetessä kävi ilmi, että TreeView-luokka on erinomainen työkalu suuren datamäärän näyttämiselle, kun data voidaan lajitella järkevällä tavalla. Työn data oli alun perinkin jaoteltu aihealueiden mukaan, joiden rajat merkitään lisämääreillä, ja datan rakenne oli pitkälti otsikkojen alla olevia kenttiä ja listoja, joten puurakenne oli luonnollinen lähestymistapa, vaikka puun syvyys suurelta osalta on vain yksi.
Insinöörityön tulokset ovat lupaavia. Jo pelkän hakukentän ansiosta työryhmä säästää aikaa tiedoston muokkauksessa, mikä mahdollistaa nopeampien muutosten tekemisen ja täten nopeamman työskentelyn. Tuloksista voidaan päätellä, että Unity-pelimoottorin kanssa työskennellessä kannattaa luoda omia editoreja, etenkin jos kyseessä on tiedosto, jota muokataan usein. Työhön liittyvän peliprojektin yksi muokatuimpia tiedostoja on sen asetukset, joten oli luonnollista tehdä sille oma editori.
Vaikka editori tehtiin tietyn peliprojektin tietylle tiedostolle, sitä voidaan pienillä muokkauksilla hyödyntää minkä tahansa Unity-projektin vastaavassa tiedostossa. Editori vaatii, että sille annetaan ScriptableObject-tiedosto näytettäväksi ja koodimuutokset ovat vähäisiä.