Ingewikkeldheid: Unity C#
Benodigde Modules: Geen. Wel is dit ingewikkelder dan 2D, dus het is beter daar eerst mee te beginnen.
In deze module ga je de basisvaardigheden leren die je nodig hebt om in 3D in Unity te werken. 3D is ingewikkelder dan 2D, zowel in Unity als in het programmeren in C#, dus zorg ervoor dat je al wat ervaring hebt met 2D voordat je hiermee begint. In de 3D modules ga ik ervan uit dat je al wat meer ervaring hebt met Unity en C#, dus zal ik niet meer alles uitgebreid uitleggen.
Het grootste verschil tussen 2D en 3D is natuurlijk de extra dimensie. Naast X (horizontaal/’naar links en rechts’) en Y(verticaal/’naar boven en beneden’) kan je ook in de Z richting bewegen. Dit is naar voren en naar achteren. Het plaatsen van objecten in de Scene in Unity wordt hierdoor iets lastiger en het bewegen van de camera om alles goed te zien is ook iets moeilijker.
Start een nieuw project en zorg bij het maken van dit project dat je de Template instelt op 3D. In Unity kan je elk project van 2D naar 3D en andersom instellen met het 2D knopje bovenaan de Scene. Dit kan soms helpen om de dingen wat makkelijker te zien. Je kan ook op de verschillende takken van het assenstelsel rechtsboven in de Scene klikken om alles van die kant te bekijken. Klik bijvoorbeeld op de Y-as daarvan om alles van boven te bekijken.
Je Scene is nu nog leeg, behalve een Camera object in het midden en een Directional Light object. Het Camera object ken je nog wel van het werken in 2D, maar het kijkt nu in perspectief. Als je op de camera klikt verschijnen er lijnen waarmee je kan zien wat allemaal binnen het blikveld van de camera valt en rechtsonder zie je een plaatje hoe je het in het spel zal zien. Door in het Transform component van het Camera object de Position en de Rotation aan te passen kan je de camera verplaatsen en draaien en ziet het dus een ander deel van de Scene.
Het Directional Light object zorgt ervoor dat je objecten licht en schaduwen krijgen. Als je wilt dat het licht van een andere kant komt kan je in het Transform component de Rotation van dit licht aanpassen. In het Light component van dit object kan je ook andere dingen aanpassen, zoals de kleur (Color) en de intensiteit (Intensity) van het licht.
Voeg nu eerst een simpele ondergrond toe aan je Scene. Dit doe je door linksboven in de Hierarchy op de + te klikken en dan naar 3D Object en dan naar Cube te gaan. Er verschijnt nu een witte kubus n het midden van je scherm. Klik hierop en zet in het Transform component de X, Y en Z waarde van de Position op 0, zodat het in het midden van de wereld staat. Zet dan bij Scale de X en Z waarde op een hoog getal, bijvoorbeeld 25:Noem dit object Grond, omdat het de ondergrond is waarop je de rest van de Scene zal gaan bouwen. Je ziet dat dit object ook al een Box Collider component heeft. Dit de 3D versie van de Box Collider 2D die je in de 2D lessen hebt gebruikt. Let hier wel goed op, want als je een 2D Collider op een 3D object zet of andersom werkt het niet. Dit geldt ook voor Rigidbody (2D), maar dat komt later als je de objecten zal laten bewegen.
Het object heeft ook een Mesh Renderer. Dit is ongeveer hetzelfde als de Sprite Renderer in 2D. Het is dus het component dat ervoor zorgt dat het object op het beeld verschijnt. Je kan later ook een Mesh Collider toevoegen aan een object als je wilt dat de collider beter past bij het object dan een van de standaard vormen.
Om de grond een andere kleur te geven gebruiken we Materials (materialen). Klik met je rechtermuisknop in de Assets map en ga naar Create en dan naar Material. Er wordt nu een nieuwe asset gemaakt. Geef deze een naam als ‘Grond Materiaal’.
Klik dan op de witte rechthoek achter Albedo en verander de kleur naar groen (of een andere kleur als je een andere kleur grond wilt hebben). Sleep dan het materiaal vanuit de Assets op het object in de Scene en je zal zien dat het groen wordt. Als je niet helemaal tevreden bent kan je bij de Asset de kleur weer veranderen en dan verandert ook gelijk de kleur van het object dat dat materiaal heeft.
Maak nu nog wat kleinere kubussen en andere vormen (bij + -> 3D Object) en experimenteer wat met de verschillende groottes en vormen om een soort hindernisbaan te maken waar je later in het project met je speler doorheen kan springen. Geef deze objecten ook andere kleuren om ook nog wat te oefenen met materialen. Maak bijvoorbeeld ook een doorzichtig object door bij het Material bij Rendering Mode voor Transparent te kiezen en Bij de Albedo kleur de A aan te passen. Vergeet ook niet om Prefabs te maken zodat je hetzelfde object makkelijk nog een keer kan plaatsen door objecten vanuit de Hierarchy naar de Assets te slepen!
Nu heb je geleerd hoe je basis objecten in 3D in Unity kan maken en hoe je met materialen de kleuren kan veranderen! Je kan nu verder gaan met het maken van een 3D model voor de speler en die dan laten bewegen!