Pong! : Stap 2

Stap 2: Het pong level maken

Je begint als je het lege 3D Core template voor een project gebruikt altijd met een bijna lege Sample Scene (leeg level) wat dus alleen nog maar een drie dimensionaal grid is met een standaard blauwe lucht (Skybox) met daarin slechts twee objecten, een Main Camera GameObject en een Directional Light GameObject.
Je kunt zien dat dit de enige twee objecten zijn van de Sample Scene in de Hierarchy View:


De Main Camera is de camera waar de speler doorheen kijkt, dus wat je in de Game view ziet als je het spel speelt. De Directional Light is een type lamp waarvan de positie in de game wereld niet uitmaakt, het is overal even licht, je kunt de Directional Light zien als de zon (of de maan als je een nacht level maakt).

Een Folder Structure maken

Om te zorgen dat niet alle bestanden die je gebruikt door elkaar heen in dezelfde map terecht komen is het handig om aan het begin van ieder project alvast een ‘Folder structure’ (mappen structuur) aan te maken, dus om alvast een aantal lege mapjes binnenin de Assets map te maken voor de verschillende soorten bestanden van waaruit de game zal bestaan.

Je kunt links onder in de Project view zien dat Unity alvast de map ‘Scenes‘ heeft gemaakt binnenin de Assets map:

Klik de rechtermuis op de ‘Assets‘ map links in de Project View en selecteer Create > Folder om een nieuwe map te maken:

Geef de map de naam ‘Images‘.
Doe dit nog vier keer voor de mappen Textures, Scripts, Materials en PhysicsMaterials:

Open de Scenes map in de Project view en klik daarna met de rechter muisknop op het SampleScene.unity scene bestand en daarna op Rename.
Wijzig de naam naar ‘Level 1‘:

Levels opslaan

Voordat je begint met bouwen is het handig om te weten hoe je tijdens het bouwen het level steeds snel op kan slaan.
Je kunt bovenin de Hierarchy view zien of je level nog on-opgeslagen wijzigingen heeft als er een sterretje * achter Level 1 staat:


Druk tijdens het bouwen steeds op Ctrl+S (of CMD+S in MacOS) om je huidige scene/level op te slaan en je zult zien dat het sterretje verdwijnt.

Doe dit regelmatig want wijzigingen worden niet automatisch opgeslagen.
Sla je level op aan het einde van iedere stap in deze tutorial!

(BTW: De reden dat ze het in Unity over scenes hebben en niet over levels is omdat een scene bijvoorbeeld ook een hoofdmenu of optiemenu kan zijn, of een tussentijds filmpje. Ook kan éen level uit meerdere scenes bestaan.)

Primitive GameObjects maken

Men begint bij het maken van games vaak met simpele primitieve prototype vormen zoals kubussen en cylinders als ‘placeholders’ (plaatshouders) voor de echte uitgebreidere gedetailleerde character en level 3D-modellen. Eigenlijk zijn alle 3D modellen, plaatjes, geluiden, effecten e.d placeholders want je kunt namelijk alles later nog verwisselen voor iets anders.
Wil je bijvoorbeeld beginnen aan een third person shooter dan is het misschien handig om te beginnen met een kubus van 1.85m en deze later pas te verwisselen voor een 3D model van een character. Wil je beginnen met een race game dan is het misschien handig om eerst te beginnen met slechts een kubus met vier cylinders als wielen in plaats van met een gedetailleerd 3D-model van een raceauto…

Om een prototype Pong level te maken heb je voor nu alleen 1 Sphere, 2 Planes en 4 Cubes nodig.

Maak dus alvast 1 Sphere, 2 Planes en 4 Cubes via de Unity menubalk: 
GameObject > 3D Object > .. :

De gemaakte GameObjecten komen na het maken in de Scene view allemaal in het midden van de wereld terecht, dus op positie 0,0,0 en zitten dus eerst allemaal in en op elkaar.
In de UnityBasics tutorial heb je geleerd hoe je met de muis en klik-sleep bewegingen objecten kan verplaatsen en groter/kleiner kan maken. Maar dat is een niet zo precieze manier van werken.
Om precieze maten en posities te gebruiken kunnen we de getallen in het Transform component (onderdeel) wat aan ieder object vast zit, veranderen.

Klik eerst linksboven in de Hierarchy view op ‘Sphere’ om deze te selecteren en om zo de componenten die aan het object vastzitten rechts boven in de Inspector view te kunnen zien:

Verander de getallen van ‘Position’, ‘Rotation’ en ‘Scale‘ zodat ze hetzelfde zijn als in de afbeelding hieronder om de sphere kleiner te maken en alvast iets boven de grond te plaatsen. Dit wordt de pong bal dus je kunt bovenin de Transform de naam ‘Sphere‘ ook meteen veranderen naar ‘PongBall‘:

Klik daarna op één kubus in de Hierarchy view en doe daarmee hetzelfde, maar dan met de getallen van de Transform hieronder. Let op het min teken van Position X.
Dit wordt speler 1 dus je kunt ook meteen de naam van ‘Cube‘ naar ‘Player (1)‘ veranderen:

De tweede kubus krijgt precies dezelfde waardes als de eerste maar dan zonder het min-teken voor het getal van Position op de X-as. Dit wordt Player (2):

Kubus drie krijgt de volgende waardes. Let op Rotation, die is in dit geval 90 graden op de Y-as.
Dit wordt de bovenste muur van het level dus je kunt de naam veranderen in ‘Wall (1)‘:

Kubus 4 krijgt dezelfde waardes als kubus 3 maar dan zonder het min teken voor het getal van de Z-as. Dit wordt de onderste muur dus ‘Wall (2)‘:

Plane één wordt de ene helft van de vloer en plane twee de andere helft.
Een vloer is voor Pong eigenlijk niet nodig want de bal zal nooit de vloer raken, maar het ziet er interessant uit qua schaduwen en je kunt er leuke dingen mee doen qua vormgeving.
Geef Plane 1 en 2 de Transform waardes die je hieronder ziet en de namen ‘Floor (1)‘ en ‘Floor (2)‘:

Je kan ook alvast de positie en rotatie van de ‘Main Camera’ instellen door Main Camera te selecteren in die Hierarchy view en de positie, rotatie en schaal aan te passen in de Inspector view:

De laatste transform om in te stellen is die van de ‘Directional Light‘. Met een rotatie van 90 graden op de X-as schijnt deze recht omlaag en komen de schaduwen recht onder de spelers en bal objecten:

Als je alles goed gedaan hebt ziet je pong level er nu zo uit:

In de volgende stap ga je het level alvast wat kleur geven!

Ga verder met Stap 3: Het level meer kleur geven

Website Powered by WordPress.com.