Welkom bij de eerste les van de serie programmeerlessen waarin je een game gaat maken met het programma Unity! In deze eerste les ga je beginnen te leren hoe het programma Unity werkt. Zorg ervoor dat je de software goed op je computer hebt geïnstalleerd voordat je met de les begint. Als je dit nog niet gedaan hebt, klik dan hier.
Introductie Unity
Als je Unity opstart moet je eerst een nieuw project aanmaken. Klik dus op de New knop. Typ een naam voor je game bij Project Name (dit kan je later ook weer aanpassen) en zorg ervoor dat de Template op 2D ingesteld is. Klik daarna op Create project om te beginnen!
Daarna zal je in een scherm terecht komen dat eruit ziet zoals dit:
Dit is het scherm waarin je je game gaat bouwen! In Unity werk je met objecten die je in een scene neerzet. Bij de belangrijkste onderdelen van dit scherm heb ik een rood cijfer neergezet.
De 1 is de Hierarchy. Dit is de ranglijst van objecten die je in de scene hebt neergezet. Nu is dit alleen nog maar de camera, maar als je meer objecten toevoegt zullen die ook in deze lijst komen te staan.
De 2 is de Scene View. Hier ga je echt de levels van je game bouwen en kan je zien hoe het eruit zal gaan zien. Je ziet hier ook de rechthoek van de camera. Alles wat je in deze rechthoek neerzet kan je zien zodra je de game start met de knop boven de Scene View (►).
De 3 is de Assets folder. Hier komen alle bestanden, zoals plaatjes, scripts en geluidseffecten, waar je je game mee op gaan bouwen. Je ziet hier ook een tabblad dat Console heet. Hier komen alle berichten en foutmeldingen die de computer stuurt tijdens het testen van de game. Het laatste bericht kan je ook altijd in de balk onderaan het scherm zien.
De 4 is de Inspector. Als je in de Hierarchy of Assets een object of bestand selecteert door erop te klikken kan je hier de details ervan zien en welke componenten eraan vastgemaakt zijn. Met de ‘Add Component’ knop kan je hier ook nieuwe componenten toevoegen.
Assets
Voordat je je game kan bouwen heb je Assets nodig. Dit zijn bestanden zoals plaatjes (ook wel Sprites genoemd), geluidseffecten en muziek. Plaatjes kan je op internet vinden, bijvoorbeeld op Kenney.nl. Op die site kan je de plaatjes downloaden die we ook in de les op school gebruiken. Om deze plaatjes in Unity te krijgen moet je ze vanuit een Windows Folder in de Unity folder slepen:
Als je dat gedaan hebt kan je ze vanuit de Assets (3) in de Scene View (2) slepen. Er wordt dan een object aangemaakt. Doe dit met een plaatje van een karakter dat je in je spel wil gaan gebruiken. In de Hierarchy links verschijnt een object met de naam van de sprite. Als je dit object in de lijst selecteert en dan nog een keer op de naam klikt (of de F2 toets indrukt) kan je de naam veranderen. Noem dit object ‘Player’. Met het Player object geselecteerd zullen rechts in de Inspector (4) de details van dit object verschijnen.
Components
Je ziet daar dat er twee components aan het object vastzitten: de Transform en de Sprite Renderer. De Transform bepaalt de positie van het object in de Scene. De x-waarde van de Position bepaalt hoeveel meter van het midden het object naar links of naar rechts staat (horizontaal). Onder de 0 is naar links en boven de 0 is naar rechts. De y-waarde is naar boven of beneden (verticaal). Boven de 0 is omhoog, onder de 0 naar beneden. In het Transform component kan je de sprite ook laten draaien met de Rotation en groter of kleiner maken met de Scale.
Het Sprite Renderer component is waar je het plaatje van het object aan kan passen. Als je een ander plaatje vanuit de Assets naar het vakje achter Sprite sleept zal het plaatje van het object veranderen in het nieuwe plaatje. je kan hier ook nog andere dingen aanpassen, zoals de kleur, maar dat gaan we nu nog niet doen.
Als je nu op de startknop (►) boven de Scene View klikt zie je het plaatje, maar het beweegt nog niet. Klik daarom nog eens op de startknop om de game weer te stoppen. In de Inspector van de Player klik je nu op Add Component. Typ dan ‘rigid’ en klik op Rigidbody 2D in de lijst die verschijnt:
Het Rigidbody 2D component zorgt ervoor dat een object kan bewegen, onder andere door zwaartekracht. Dit kan je nu testen door de game weer te starten. Je zal zien dat de Player nu naar beneden valt!
Als je per ongeluk een verkeerd component toevoegt, bijvoorbeeld Rigidbody (zonder 2D) dan kan je het verwijderen door op het tandwieltje rechtsboven in het component te klikken en dan op Remove Component:
Zoek nu een plaatje van een blokje dat je wil gebruiken als de grond waar de Player op kan staan en dat je wil gebruiken om een level te bouwen. Sleep dat naar de Assets en dan in de Scene View onder de Player. Als je nu op start drukt zal de Player door het blokje heen vallen.
Om ervoor te zorgen dat de twee objecten tegen elkaar aan kunnen botsen voeg je aan beide objecten een Collider toe. Klik weer op Add Component in de Inspector van deze objecten en type collider. Je zal nu een lijst zien van alle vormen van Colliders die beschikbaar zijn. Voor een vierkant of rechthoekig object gebruik je een Box Collider 2D en voor een rond object een Circle Collider 2D. Als je het hebt toegevoegd zie je om het object een groene rand als je het object selecteert. Dit is de Collider en dus het deel dat tegen andere objecten aan zal botsen.
Als je nu op start drukt en je alles goed hebt ingesteld zal je zien dat je Player naar beneden zal vallen en op het blokje zal blijven staan:
Prefabs
Als je niet elke keer dat je een blokje plaatst een box collider toe wil voegen heeft Unity daar iets handigs voor: Prefabs. Dit zijn objecten die je opslaat als Assets en later weer toe kan voegen met alle componenten en instellingen die je had veranderd. om dit te doen sleep je een object vanuit de Hierarchy lijst naar de Assets folder:
Je kan van elk object een prefab maken. Maak bijvoorbeeld ook van het Player object een prefab, zodat je het later in andere levels makkelijk weer kan gebruiken en niet alles weer opnieuw hoeft toe te voegen en in te stellen. Als je aanpassingen maakt aan een prefab die voor alle objecten die met die prefab gemaakt zijn moeten gelden klik je rechtsboven in Inspector op Apply. Dit zal dan meteen alle objecten die met die prefab gemaakt zijn aanpassen.
Je kan de prefabs direct in de Scene View slepen, maar je kan ze ook in de Hierarchy slepen. Als je dat doet krijgen ze de positie die ingesteld is in het Transform component van de prefab. Dit kan handig zijn als je een blokje netjes op een bepaalde plaats neer wil zetten. Als je ctrl ingedrukt houdt terwijl je een object versleept verplaatst het alleen in sprongen van 1 meter.
De Volgende Les
Je hebt nu veel geleerd over hoe Unity werkt en een Player die naar beneden kan vallen en op een blokje kan blijven staan, maar verder kan je de Player nog niet laten bewegen. Hiervoor gaan we in de volgende les echt beginnen met programmeren in een taal die de computer kan begrijpen. Als je nog vragen hebt of er lukt iets kan je hieronder een vraag stellen. Als je nog meer wil leren en wil testen of je deze les goed hebt begrepen kan je hier klikken om naar de bonus opdrachten voor deze les te gaan. Klik anders hier om naar de volgende les te gaan.