2. Opettaja
Joni Ahola
Työskentelee yrityksessä Juotos.
Juotos on yhden henkilön koodipaja. Juotos tekee nettisivuja, mobiiliappseja ja
pelejä
RAMK valmistunut keväällä 2013 Ohjelmistotekniikan insinööriksi
3. Sisältö
Miksi Unity3d?
Asennus ja projektin luonti
Ohjelman käyttöliittymä
Tyypilliset pelielementit
C# perusteet ja skriptien rakenne
4. Miksi juuri Unity3d?
Pystyy tekee monelle alustalle:
iOS, Android, Windows Phone 8, BlackBerry 10
Windows, Mac, Linux, Nettiselaimet
PS3/4/Vita, Playstation Mobile, Xbox One/360, WiiU
Suosituin pelimoottori: 45% markkinaosuus. NASA, Microsoft, Square, Ubisoft
käyttää
Wasteland 2, Temple Run 2
Voi käyttää myös ilmaiseksi
Ei pohjaudu mihinkään valmiiseen peliin
5. Asennus ja ohjelman käynnistys
Lataa http://unity3d.com/unity/download tai tikulta
Ensimmäisellä kerralla kysyy haluatko käyttää Pro tai Free versiota
Free versio vaatii rekisteröitymisen.
12. Console
Konsoli, johon tulee kaikki skriptien virheet, huomautukset ja muut ilmoitukset
Hyödyllinen ainoastaan skriptien kanssa
Unity ei suorita peliä jos virheitä tulee konsoliin
13. Assets
”Lisähyödyke” eli kaikki kuvat, mallinnukset, äänet, koodit
Assets-valikosta voi luoda Unityn omia lisähyödykkeitä, jotka tallennetaan Assets
kansioon.
14. Gameobject
Pelin asioiden perusyksikkö. Kaikki asia mikä on pelissä on gameobjecteja.
= Peliesine
Valikosta löytyy kaikki tarvittavat peliyksiköt pelinrakentamista varten,
poikkeuksena omat 3d mallit
16. Gameobject elementit
Käydään läpi:
Empty gameobject, empty child gameobject
3D Objects: Cube, Sphere, Capsule, Cylinder, Plane, Quad, Terrain, Tree
2D Objects: Sprite
Light: Directional Light, Point Light, Spotlight
UI: Button, Toggle, Panel, Image, Text
17. Empty gameobject
Kohde jossa on vain sijainti ja oma nimi
Käytetään paljon silloin kun halutaan gameobject, jossa on eri skriptejä esim.
pisteiden hallinnointiin
Käytetään myös kun halutaan tehdä gameobjecteista ryhmiä
18. Cube, Sphere, Capsule, Cylinder, Plane,
Quad
Unityn valmiita mallinnuksia, joista saa rakennettua perus palikoita kenttään
Valmiiksi lisätty perus-fysiikka
19. Terrain, Tree
Terrain on muovailtava kenttä 3D peleihin
Kenttä on muokattavissa vain Unityssa
Tree on puu elementti, jossa löytyy valmis logiikka lehdille ja tuulen vaikutus
lehtiin
20. Directional Light, Point Light, SpotLight
Directional Light = Aurinko
Point Light
Valoa tietylle alueelle, ei vaikuta rotatio ollenkaan
Spotlight
Valaisee hyvin rajatun alueen
21. UI
Elementtejä, jotka ”liimautuvat kameran linssiin”
Käytetään esim valikkojen ja tilastojen esittämiseen pelin aikana
22. C# ohjelmointi: muuttuja
Kenttä johon varastoidaan tietoa
Kielen omat muuttujatyypit: bool, float, int, string
C# kieli vaatii muuttujien alustamisessa kertomaan muuttujan tyypin
Jos muuttujan tyypin edessä ei ole public sanaa, ei muuttuja näy UnityEditorin
Inspectorissa
Muuttuja alustetaan käyttäen =-merkkiä
Kielen omia muuttujatyyppiä lukuunottamatta muuttuja alustetaan esim.
Vector3 suunta = new Vector3(0f, 1f, 2f); //x = 0, y = 1, z = 2
23. C# ohjelmointi: funktio
Kokonaisuus, joka sisältää tietyn logiikkarakenteen ja se on toistettavissa
Funktio voi palauttaa pyytäjälle arvon
Funktiolle voi antaa muuttujia (parametrit)
Saman nimisiä funktioita voi käyttää jos parametrien määrä ja parametrien tyypit
on eri
Jokaisesta skriptistä löytyvät Start() ja Update() ovat funktioita
24. C# ohjelmointi: tyyli
Heti aluksi skripteissä listataan kaikki käytettävät apukirjastot (näihin ei tarvi
koskea)
Koodirivit päättyvät ;-merkkiin
Skriptit kirjoitetaan public class [Skriptin_nimi] : MonoBehaviour { } kaarimerkkien
sisälle
Kommentointi tapahtuu
Vain yksi rivi: //-merkeillä
Monta riviä: /* alkaa
päättyy */
25. C# ohjelmointi: ehdot
If, else if, else
Esim. if(ehto){ //tee jotain }
Ehdot ovat kuin pieniä funktioita jotka kysyy pitääkö ehto paikkansa ja jos pitää
niin sitten luetaan kaarisulkujen sisäinen koodi
Voi olla myös monta ehtoa:
ehto1 && ehto2 == ehto1 ja ehto2 pitävät paikkansa
Ehto1 || ehto2 == ehto1 pitää paikkansa tai ehto2 pitää paikkansa
Else:n ei tule ()-sulkuja
26. C# ohjelmointi: taulukot
Muuttujia jossa on useampi kenttä.
Yleensä liitetään samat asiat taulukkoon
Esim:
Vector3[] suunnat = new Vector[2]; //taulukko jonka koko on 2 paikkaa
suunnat[0] = new Vector3( 1f,0f,0f); suunnat[1] = new Vector3(-1f,0f,0f);
27. C# ohjelmointi: Loopit
Kun koodari on laiska, hän tekee loopin ettei tarvitsisi kirjoittaa samaa asiaa
montaa kertaa
C#:ssa on kolmea eri tyyppiä: while, for ja foreach loopit
Käytetään 99% taulukoiden läpikäyntiin: taulukon lukeminen tai muokkaaminen
28. C# while-loop
While(ehto){ //tekee jotain}
Toteuttaa kaarisulun sisäistä logiikkaa niin pitkään, että ehto ei enää täyty
Vaarallinen, koska ohjelma kaatuu jos ehto ei koskaan täyty
Unityn saa kaatumaan herkästi tämän kanssa
29. C# for-looppi
For(int indeksi = 0; indeksi < 0; indeksi++) { //tee jotain}
For-loopin ”parametreina” ekassa alustetaan muuttuja, toisessa testataan ehtoa
kuten while-loopissa ja kolmannessa kasvateaan ekan muuttujan arvoa (90%
tapauksista)
Kätevä taulukoiden läpikäyntiin, koska for-loopissa alustetaan muuttuja jolla voi
helposti läpikäydä taulukkoa
30. C# foreach-loop
Foreach(Vector3 suunta in suunnat) { //tee jotain}
Luo muuttujan taulukon alkiosta
Yksinkertainen tapa käydä järjestelmällisesti läpi alusta loppuun taulukkoa
Ei pysty muokkaamaan tietoja, pelkästään lukemista varten