7. Checkpoints en Obstakels
Plaats checkpoints en rotsformaties in het level
Overzicht
Nu je ruimteschip perfect vliegt, is het tijd om het level te vullen met gameplay elementen! In dit hoofdstuk voeg je checkpoints toe waar de speler doorheen moet vliegen, en rotsformaties die ontdoken moeten worden.
Checkpoint maken
De Kenney Space Kit bevat een perfect asset voor checkpoints: piperingSupport.glb. Laat de checkpoint gloeien en voeg een trigger toe, zodat je later kunt detecteren wanneer de speler er doorheen vliegt.
Nieuwe Godot-specifieke elementen:
Surface Material Override- Overschrijft het materiaal van een specifieke surface van een meshArea3D- Een gebied dat triggers kan detecteren (geen physics collision, maar wel detectie)Emissionin materials - Laat objecten gloeien alsof ze licht uitstralenScene instantiation - Het hergebruiken van een scene op meerdere plekken
Ga in de menu naar Scene > Open Scene...
Navigeer naar Assets > Models > kenney > kenney_space-kit > piperingSupport.glb
Klik op Open
Godot toont een waarschuwing dat je piperingSupport niet rechtstreeks kunt aanpassen, maar je kan wel een nieuwe scene maken gebaseerd op dit Asset. Klik daarom op New Inherited
Selecteer de piperingSupport root node in de hierarchy en hernoem deze naar checkpoint
Glowing materiaal toevoegen


Het piperingSupport model bestaat uit meerdere surfaces (de support en de ring). Laat alleen de ring-surface gloeien met Surface Material Override.
Je ziet nu verschillende child nodes - selecteer de MeshInstance3D node (die de naam piperingSupport heeft)
In de Inspector klik je op Surface Material Override > Surface Material Override
Element 0 is de ring zelf
Element 1 is de support pilaar en de binnenkant van de ring
Element 2 wordt niet gebruikt in dit asset, en heeft dus geen effect
Klik op de dropdown van Element 0
Kies New StandardMaterial3D en klik op het materiaal icoon om de properties te openen
Configureer het glowing effect:
Albedo > Color: Kies een heldere kleur (bijv. cyaan
#00FFFF, groen#00FF00, of paars#FF00FF)Scroll naar Emission en vink dit aan
Emission > Emission: Kies dezelfde kleur als je Albedo
Emission > Energy Multiplier: Zet op 2.0 of hoger voor een sterk glow effect
Trigger area toevoegen

Voeg nu een Area3D toe om te kunnen detecteren wanneer de speler door het checkpoint vliegt. Dit wordt later handig voor score tracking!
Selecteer de checkpoint node, rechtsklik en kies Add Child Node
Zoek naar Area3D en voeg toe
Selecteer de nieuwe Area3D node, rechtsklik en kies Add Child Node
Zoek naar CollisionShape3D en voeg toe
Selecteer de CollisionShape3D
In de Inspector, klik op de dropdown naast Shape en kies New CylinderShape3D (perfect voor een ring-vormige trigger!)
Klik op het CylinderShape3D icoontje om de properties te openen. Pas de shape aan zodat deze de checkpoint doorgangsruimte vertegenwoordigt:
Height: ~0.5 (dun, alleen de checkpoint dikte)
Radius: ~2.5 (groot genoeg om door te vliegen)
Pas indien nodig de Transform > Rotation van CollisionShape3D aan om deze in de juiste richting te draaien
Sla de checkpoint scene op als res://Scenes/Checkpoint.tscn (rechtsklik > save branch as scene)
Checkpoints in het level plaatsen
Instantieer nu de checkpoint-scene meerdere keren in het level, zodat de speler een parcours kan vliegen.
Open je Level scene (waar Player en Camera in staan)
Maak een Node3D container voor organisatie:
Rechtsklik op Level (root) > Add Child Node
Zoek naar Node3D en voeg toe
Hernoem naar Checkpoints
Sleep de checkpoint scene vanuit het FileSystem venster naar je Viewport of Scene Hierarchy.
Gebruik de Move en Rotate tools om het checkpoint te plaatsen.
Gebruik de Scale tool om de checkpoints groter te maken, zodat je er doorheen kan vliegen tip: maak sommige checkpoints groter of kleiner dan anderen, om het moeilijker en gemakkelijker te maken
Voeg meer checkpoints toe door stap 3-4 te herhalen
Test met F6 en vlieg door de checkpoints. Zijn de checkpoints te klein? Gebruik de Scale tool om ze groter te maken.
Obstakels plaatsen
De Kenney Space Kit bevat verschillende rotsformaties die je als obstakels kunt gebruiken. Voeg meer obstakels toe om je level uitdagender te maken.
Maak een Node3D container genaamd Obstacles (onder de Level root)
Sleep verschillende rotsformaties vanuit de kenney_space-kit/ map naar de Viewport:
rocklargeA.glb, rocklargeB.glb - grote rotsen
rocktallA.glb, rocktallB.glb - hoge rotspilaren
rockcrystals.glb - kristalformaties (voor variatie)
Positioneer de rotsen tussen en naast de checkpoints voor extra uitdaging
Experimenteer met Scale om sommige rotsen veel groter te maken
Zorg ervoor dat spelers altijd kunnen zien waar ze naartoe moeten
Gebruik de checkpoints als visuele gidsen
Laat genoeg ruimte om te manoeuvreren
Level organisatie en overzicht
Goede organisatie maakt het makkelijk om je level aan te passen en uit te breiden.
Je Scene Hierarchy zou er nu ongeveer zo uit moeten zien:
Level testen en verfijnen
Het belangrijkste onderdeel van level design is testen en aanpassen.
Druk F6 om je level te spelen
Probeer door alle Checkpoints te vliegen
Let op:
Zijn er Checkpoints te moeilijk bereikbaar?
Zijn obstakels goed zichtbaar?
Is er genoeg ruimte om te manoeuvreren?
Is de moeilijkheid goed gebalanceerd?
Stop het spel en pas aan in de editor
Herhaal vanaf stap 1
Debugging tips
Gebruik F8 (pause) tijdens het spelen om te zien waar je bent
Gebruik de 3D viewport camera in de editor om verschillende hoeken te bekijken
Laatst bijgewerkt