Unityllä tehty peli koostuu kokoelmasta peliobjekteja, jotka työskentelevät yhdessä kehittäjän koodaamien skriptien avulla. Skriptien lisäksi objekteille on lisätty pelimoottorin tarjoamia komponentteja, jotka hoitavat muun muassa objektin fysiikan käsittelyn ja törmäysten hallinnan. Pelin koodaaminen on helpoimmillaan peliobjektien piilottamista ja näyttämistä, komponenttien aktivointia ja deaktivointia, arvojen muuttamista ja yleistä jossittelua. Pelintekoprosessi on lähes samanlainen oli kyseessä sitten kaksiulotteinen tai kolmiulotteinen peli.
Pelin tekeminen Unityllä
Scene
Unity-peli koostuu sceneistä, joiden välillä pelaaja voi kulkea. Ensimmäinen scene on useimmiten pelin päävalikko. Seuraava scene voi olla pelimaailman pääalue, jossa pelaaja viettää suurimman osan ajastaan. Jos pelissä on esimerkiksi luolia tai rakennuksien sisätiloja, voi niistä jokainen olla oma scenensä.
Scene sisältää siis objekteista koostuvan, kehittäjän suunnitteleman ympäristön, jonka lisäksi myös pelinaikaiset valikot, kuten taukovalikon.
Peliobjekti
Peliobjekti on sceneen lisätty näkymätön asia, joka ei itsessään vielä tee mitään. Kuten aiemmin mainittiin, objektille lisätään komponentteja, jotka yhdessä muodostavat objektista oleellisen ja järkevän osan peliä. Objekti toimii niin sanotusti komponenttien säiliönä.
Peli koostuu pelaajalle näkyvistä ja näkymättömistä objekteista. Näkyviä peliobjekteja ovat esimerkiksi hahmot, valot ja ympäristö. Esimerkkejä näkymättömistä objekteista ovat triggerit, kamerat ja partioivan vihollisen reitin välietapit.
Komponentti
Unityssä valmiita komponentteja on useita. Monesta niistä on olemassa kaksi eri versiota, versio kolmiulotteisiin ja kaksiulotteisiin peleihin.
Peliin saadaan valoa, kun peliobjektille lisätään valonlähde-komponentti. Kun objektille lisätään efekti-komponentti, saadaan objekti emittoimaan, eli säteilemään kuvia tai 3D-malleja.
Pelimoottori tekee kehittäjän puolesta siis hyvin paljon. Itse pelin logiikka jää kuitenkin kehittäjän hoidettavaksi. Logiikka luodaan kirjoittamalla skriptejä ja asettamalla niitä objekteille komponentteina.
Skripti
Peliohjelmointi voi aluksi näyttää vaikealta. Sitä se ei kuitenkaan ole, kunhan ohjelmointikielen perusteet opettelee huolella.
Yksi Unity-peliohjelmoinnin keskeisimmistä toiminnoista on komponenttien manipuloiminen koodista käsin. Unityssä skriptien kirjoittamiseen käytetään C#-ohjelmointikieltä.
Pelin buildaaminen
Kun peli on saatu valmiiksi tai kun siitä halutaan saada palautetta ulkopuolisilta pelitestaajilta, tulee peli buildata, eli kääntää pelimoottorin ulkopuolella suoritettavaksi ohjelmaksi. Buildauksen luomat tiedostot voidaan lähettää testaajille sellaisenaan, tai julkaista ne videopelien jakelupalveluissa.
Unity mahdollistaa pelin buildaamisen usealle alustalle. Näitä ovat esimerkiksi:
- Windows
- Mac
- Linux
- Android
- iOS
- PlayStation
- Xbox
- Nintendo Switch
- verkkoselaimet
Unityllä on mahdollista tehdä myös VR- ja AR-pelejä, hyödyntäen virtuaalitodellisuutta ja lisättyä todellisuutta.
Unity Hub
Pelien kehittäminen Unityllä aloitetaan lataamalla Unity Hub. Tämä on ohjelma, joka hallitsee tietokoneellesi asennettuja Unity-pelimoottorin versioita ja peliprojekteja. Pelimoottorin eri versiot ladataan ja poistetaan Hubin kautta.
Lataaminen
Ladataan siis Unity Hub. Kirjoita Unity hakukenttään, ja siirry lataussivulle.
Klikkaa Download-painiketta.
Asentaminen
Avaa ladattu asennustiedosto ja käy ohjelman asennus läpi hyväksyen kaikki ehdot.
Klikkaa Install-painiketta asentaaksesi suositellun version pelimoottorista.
Tässä prosessissa kestää jonkin aikaa. Kun asennus on valmis, siirry Projects-välilehdelle.
Projektin luominen
Luodaksesi uuden projektin, klikkaa New Project -painiketta. Tässä vaiheessa sinun on valittava mallipohja projektille. Avaa Core-välilehti ja valitse 3D-vaihtoehto.
Projektille on hyvä antaa sitä kuvaava nimi, koska kyseinen nimi näkyy Unity Hubin projektilistauksessa. Jos haluat, voit vaihtaa projektin tiedostosijainnin. Klikkaa Create-painiketta luodaksesi projektin.
Unityn käyttöliittymä
Scene-ikkuna
Tämä on Unityn käyttöliittymä. Sen keskellä sijaitsee Scene-ikkuna, josta pelimaailmaa tarkastellaan ja muokataan.
Liikkuaksesi pelimaalimassa, vie hiiri Scene-ikkunan sisälle ja pidä hiiren oikea painike painettuna. Hiiren liikuttaminen kääntää Scene-näkymää liikkeen mukaisesti.
Pitäessäsi hiiren oikeaa painiketta pohjassa, paina W, A, S ja D-näppäimiä liikkuaksesi pelimaailmassa.
E ja Q-näppäimet nostavat ja laskevat näkymää.
Pelimaalimassa on oletuksena kaksi peliobjektia: kamera ja valonlähde. Jokainen maailmassa oleva objekti on listattuna pelimaailman hierarkiassa.
Hierarkia
Hierarkia sijaitsee käyttöliittymän vasemmassa reunassa Hierarchy-ikkunassa. Se esittää pelimaailman objektit hierarkisessa tekstimuodossa ja ilmaisee millainen rakenne maailman objekteilla on.
Manipuloidaksesi objektia, valitse se joko Hierarchy- tai Scene-ikkunassa. Valitut objektit näkyvät maalattuna hierarkiassa. Scene-ikkuna näyttää objektin eri tavalla riippuen sen tyypistä.
Työkalupalkki
Hierarchy- ja Scene-ikkunan yläpuolelta löytyy työkalupalkki. Se sisältää toimintoja objektien manipuloimiseen, kuten siirtämiseen, kääntämiseen ja koon muuttamiseen.
Game-ikkuna
Peli käynnistetään työkalupalkin keskellä sijaitsevalla Play-painikkeella. Pelin käynnistyessä Unity aktivoi automaattisesti toisella välilehdellä olevan Game-ikkunan, joka avautuu Scene-ikkunan tilalle.
Tämän ikkunan sisältö on se, mitä pelaaja näkee pelatessaan peliäsi. Pelimaaliman kamera-objekteja käytetään kontrolloimaan mitä pelaaja näkee.
Game-näkymää ei voi liikuttaa samalla tavalla kuin Scene-näkymää, eikä siitä myöskään voi muokata maailmaa. Peliä voidaan muokata sen ollessa käynnissä, mutta kun peli suljetaan, muutokset katoavat, eli niitä ei tallenneta. Peli suljetaan klikkaamalla Play-painiketta uudelleen.
Inspektori
Käyttöliittymän oikeassa reunassa on Inspector-ikkuna, joka listaa valitun objektin tiedot, kuten sen komponentit.
Kamera-objektilla on oletuksena kolme komponenttia: Transform, Camera ja Audio Listener.
Valonlähde-objektin oletuskomponentit ovat Transform ja Light.
Objektin komponentit määrittävät kuinka objekti käyttäytyy pelimaailmassa.
Projekti-ikkuna
Käyttöliittymän alaosassa sijaitsee Project-niminen ikkuna. Se sisältää kaksi kansiota: Packages and Assets.
Packages-kansiossa on Unityn sisäiset ominaisuudet, joita projekti käyttää. Assets-kansio sisältää sinun omat tiedostosi, kuten 3D-mallit, skriptit, kuvat ja äänet.
Console-ikkuna
Toisella välilehdellä oleva Console-ikkuna ilmoittaa virheistä, varoituksista ja muusta projektiisi liittyvästä infosta.