• Ei tuloksia

U NITY G UI

In document 3D-sovellus Internet ympäristöön (sivua 39-49)

Gui tulee sanoista Graafinen käyttöliittymä (Graphical User Interface). Uni-ty-editorissa käyttöliittymiä luodessa voidaan käyttää GuiText-objektia ja GuiTexture-objektia tai UnityGui-käyttöliittymäohjelmointia. GuiTextin avulla voi luoda millä fontilla tahansa tekstiä ruudun annettuihin koordi-naatteihin. GuiTexturen avulla voi ruudulle lisätä 2D-kuvaan annettuihin koordinaatteihin. Kuvasta tai tekstistä on mahdollista tehdä painike, joiden avulla sovelluksen valikkorakenne on mahdollista toteuttaa.

UnityGui-ohjelmointi tapahtuu OnGui-funktion sisällä muutamia poikke-uksia lukuunottamatta. OnGui on funktio, joka päivittyy aina, kun tietokone piirtää kuvan tietokoneenruudulle. Jokaiselle Gui-kontrollille pitää määri-tellä koko ja sijainti ruudun ylälaidasta ja alalaidasta. Kontrolleista voi myös tehdä skaalautuvia sovelluksen ikkunaan nähden määrittelemällä ha-lutun kontrollin prosentuaalinen koko suhteessa koko sovellusikkunaan.

Käyttöliittymän eri osasille tarvitsee myös määritellä, mitä esimerkiksi

pahtuu, jos painiketta painetaan. Kontrollien toiminnallisuutta vastaavat ta-pahtumat määritellään päälle pois menetelmällä esimerkiksi, jos tietyt ehdot täyttyvät, niin haluttu tapahtuma tapahtuu. Ohjelmointikielissä löytyy eri-laisia operaattoreita ehtojen toteuttamiseen.

UnityGui-käyttöliittymäohjelmoinnissa löytyy useanlaisia Gui-kontrolleja (Gui control), joiden avulla sovelluksen tai pelin valikkorakenne voidaan toteuttaa. Erilaisia Gui-kontrolleja ovat painike (Button), työkalurivi (Tool-bar), etiketti (Label), tekstikenttä (Textfields), tekstialue (TextArea), vaih-topainike (Toggle), valintataulukko (Selection Grid), vaakasuuntainen vie-rityspalkki (Horizantal Scrollbar), pystysuuntainen vievie-rityspalkki (Vertical Scrollbar), vieritysnäkymä (ScrollView) sekä ikkuna (Window).

4.4.1Label

Etiketti (Label) on vuorovaikutukseton kontrolli, jonka avulla on hyvä esit-tää teksti tietoa (kuva 24). Kontrollille asetetaan Rect-arvot, joiden avulla asetetaan kontrollin sijainti ruudulla ja koko. Rect-arvoja käytetään kaikki-en Gui-kontrollejkaikki-en yhteydessä.

Kuva 24. Label (Controls 2011a)

4.4.2Button

UnityGui palauttaa arvon tosi (True), kun painiketta painetaan. Jos halutaan suorittaa ohjelmakoodi, kun painiketta painetaan, niin koodi sijoitetaan pai-nikkeen jos (If)-lausekkeeseen, joka toteutuu painiketta painettaessa (kuva 25).

Kuva 25. Button (Controls 2011b)

4.4.3Toolbar

Työkalurivi (Toolbar) on rivi painikkeita, joista yksi kerrallaan on aktiivi-nen, niin pitkään kuin toista painiketta painetaan (kuva 26). Painikkeiden määrän työkalurivillä voi määrätä numerolla. Aktiivinen painike saadaan selville kokonaisluku (Integer) arvon mukaan.

Kuva 26. Toolbar (Controls 2011c)

4.4.4Selection Grid

Valintataulukko (Selection grid) on monirivinen työkalurivitaulukko (kuva 27). Vain yksi painike voi olla aktiivinen kerrallaan. Aktiivinen painike saadaan selville kokonaisluvun (Integer) avulla. Painikkeiden määrä saa-daan asettamalla elementtien määrä valintataulukkoon.

Kuva 27. Selection grid (Controls 2011c)

4.4.5Textfield

Tekstikenttä (Textfield) on vuorovaikutteinen yksirivinen kirjainten (String) esityskenttä (kuva 28). Tekstikenttä palauttaa kirjainjoukon, joka on syötetty tekstikenttään.

Kuva 28. Textfield (Controls 2011d)

4.4.6Textarea

Tekstialue (Textarea) on vuorovaikutteinen monirivinen tietokenttä kirjain tietotyyppiselle (String) tietosisällölle (kuva 29). Tekstialue palauttaa sen sisälle syötetyn kirjainjoukon.

Kuva 29. Textarea (Controls 2011e)

4.4.7Toggle

Vaihtopainike (Toggle) luo valintaruudun vaihtoehtoina päällä/pois (kuva 30). Valintapainikkeen ruudun tilaa saa vaihdettua Toggle-painiketta pai-namalla.

Kuva 30. Toggle (Controls 2011f)

4.4.8ScrollView

Vieritysnäkymän avulla voidaan vierittää vieritysnäkymää sivuttain, ylös ja alas (kuva 31). Vieritysnäkymä tarvitsee kaksi kokoarvoa (Rects), ensim-mäinen määrittelee, kuinka suuri vieritysalue on ja toinen määrittelee vieri-tyspalkkien sijainnin.

Kuva 31. Scrollview (Controls 2011g)

4.4.9Window

Ikkuna (Window) on liikuteltava säiliö muille kotrollielementeille. Ikkuna on ainut UnityGui-kontrolli, joka tarvitsee oman funktion Ongui-funktion hakasulkeiden ulkopuolelle (kuva 32). Ikkunalle annetaan oma Id-numero ja funktio, joiden avulla ikkuna on mahdollista suorittaa.

Kuva 32. Window (Controls 2011h)

4.4.10GuiStyles

Gui-tyyleillä (GuiStyles) voi muuttaa valikoiden visuaalista ulkonäköä oman sovelluksen tai pelin tarpeisiin. Tyylejä pystyy muotoilla tyylivalikon avulla tyylien-ominaisuuksia muuttamalla (kuva 33). Jos mitään Gui-tyyliä ei ole käytössä, käyttää UnityGui-ohjelman omaa oletustyyliä. Jos käytössä on monta Gui-tyyliä, voidaan kaikki ne koota Gui-kokoelmaan (Guiskin) (kuva 33). Gui-tyylit on tehty jäljittelemään Web-sivuilla käytettävää CSS (Cascading Style Sheet) muotoilukieltä. (Customization 2011)

Kuva 33. Guistyles

4.4.11Kamerat

Jokaisessa Scenesssä on vähintään yksi kamera, jonka avulla luodaan Uni-ty-editorissa pelin tai sovelluksennäkynä. Scenessä voi myös samanaikai-sesti käyttää useampia kameroita, jotka voi sijoittaa kuvaamaan eri kohteita jakamalla Game-näkymän pienenpiin ikkunoihin, joissa eri kameroiden ku-va näkyy. Kamerat voidaan määritellä eri tasoille syvyysarvon (Depth) avulla määritellään kameroiden järjestyksen, eli sen, mikä kamera on etu-alalla ja mikä taka-etu-alalla. Kameroita voi ohjata ohjelmakoodien avulla ja kameran-ominaisuuksien avulla. Kameroille voi luoda lähestulkoon minkä-laista toiminnallisuutta tahansa, joka on mahdollista toteuttaa ohjelman puitteissa. Kamerat voi laittaa kuvaamaan eri kuvakulmaa, jota voi vaihtaa esimerkiksi painikkeenpainalluksella tai kamerat voi animoida kulkemaan jotain haluttua liikerataa pitkin. Erilaisia kameran-ominaisuuksia ovat ik-kunan näkymän valinta (Clear Flag), kuvan taustavärin valinta (Back-ground), objektien tasojen hallinta (Culling Mask), kameran perspektiivin valinta (Projektion), kameran näyttöalueen koko (Size), kameran näyttöalu-een leveys (Field of view), kameran näyttöalunäyttöalu-een ulottuvuus (Clipping pla-nes), kameran ikkunan sijainti (Normalized view port rect), eri kameroiden

päällekkäisyyksien hallinta (Depth) ja kuvanpiirto metodin valinta (Rende-ring Path) (kuva 34). (Camera 2011)

Kuva 34. Kamera

4.4.12FirstPersonControl

Käytin työssäni hahmon hallintakontrollia (FirstPersonControl), jonka avulla pystytään luomaan Sceneen liikuteltava kamera. Kameraa voi liiku-tella nuolinäppäimien ja hiiren avulla näyttämöllä. Kameran edustalle voi luoda myös Avatar-hahmon, jonka välityksellä voi liikkua kolmiulotteises-sa tilaskolmiulotteises-sa. Kontrolli on Unity-editoriin luotu valmis ominaisuus, jonka voi lisätä haluamalleen peliobjektille.

4.4.13Äänet

Jokaisessa Scenessä on oma äänten kuuntelija (Audio Listener), joka toimii mikrofonin kaltaisesti toistaen äänen Sceneen lisätyistä äänenlähteistä. Ää-nilähteitä voi olla useita eri puolella kolmiulotteista näyttämöä. Äänen tois-tossa voi käyttää kaksiulotteista tai kolmiulotteista muotoa. Kaksiulotteinen ääni kuuluu tasaisena kolmiulotteisen näyttämön sijainnista riippumatta, kun taas kolmiulotteinen ääni kuluu vain äänenlähteen läheisyydessä

kol-miulotteisella näyttämöllä. Äänet lisätään Sceneen liittämällä ääni peliob-jektin-ominaisuuksiin. (Sound 2010)

4.4.14Julkaiseminen

Valmiin sovelluksen julkaiseminen (Publish) tapahtuu UnityEditorissa hel-posti. Julkaisemisasetuksiin (Build Setting) tulee valita sovelluksen tasot eli Scenet ja sovelluksen julkaisualusta. Jokaiselle julkaisualustalle löytyy li-sää asetuksia sovelluksen-ominaisuuksien li-säätelyyn. Julkaistavan sovelluk-sen-ominaisuuksien säätämiseen löytyy oma toistimen asetukset-valikko (Player setting), josta voi säätää sovellusikkunan resoluutiota, asettaa la-tausikonin kuva, asettaa meta-tietoja ja säätää WebPlayer-sivun tyyliä.

Build-napin avulla Unity tekee sovelluksesta valmiin julkaisualustallaan suoritettavan itsenäisen sovelluksen. Unity free-lisensillä on mahdollista julkaista vain Web-player-, Windows- ja Mac/Os X-alustoille. Kuvassa Unity3D-editorin julkaisunäkymä (kuva 35).

Kuva 35. Publish

In document 3D-sovellus Internet ympäristöön (sivua 39-49)

LIITTYVÄT TIEDOSTOT