2. Scene Building
Bouw het alien landschap en ruimteschip
Overzicht
In dit hoofdstuk bouw je de basis van je space flight game. Je maakt een alien landschap met behulp van 3D primitives en voegt een ruimteschip toe. Je leert over 3D nodes, materialen, en het organiseren van je scene hierarchy. Het startproject bevat al een basis landschap, maar jij gaat dit uitbreiden met:
Extra terrein features (heuvels, rotsen, aliens structuren)
Een ruimteschip model
Lighting en atmosphere
Een georganiseerde scene hierarchy
Kenney game assets

Het startproject bevat reeds een basis terrain en bevat een bibliotheek van 3D assets (rotsen, bouwsels, obstakels) van kenney.nl.
Klik 2x in het FileSystem venster rechtsboven op het Change Split Mode icoontje, zodat je in horizontale split-modus terechtkomt
Klik daarna op het icoontje eronder om de items in een grid-view te bekijken

Kijk in het FileSystem panel naar de map Assets/Models/kenney/kenney_space-kit/
Je vindt daar meer dan 100 verschillende 3D modellen uit de Kenney Space Kit, waaronder:
rock.glb, rocklargeA.glb, rocklargeB.glb - rotsen van verschillende groottes
rockssmallA.glb, rockssmallB.glb - kleine rotsen
crater.glb, craterLarge.glb - kraters voor een alien landschap
rockcrystals.glb, rockcrystalsLargeA.glb - kristal formaties
meteor.glb, meteorhalf.glb - meteoren
En nog veel meer!
Verken de beschikbare assets door de preview te bekijken!
Een scene maken
Dit project bevat nog geen level-scene waarin je het spel kunt uitwerken. Je gaat dus zelf een scene moeten maken.
Klik bovenaan in de menu op Scene > New Scene
Selecteer 3D Scene in het Scene Hierarchy venster
Kijk in het FileSystem panel naar de map Scenes/terrain
Sleep de terrain.tscn scene in de Viewport of het Scene Hierarchy venster
Zoom uit om het terrain goed te bekijken
Gebruik de freelook mode (RMB + WASD) om het terrain te verkennen
Sla de volledige scene op als Scenes/Levels/level-1.tscn
Assets plaatsen
Op dit moment is het landschap nogal kaal en levenloos. Gebruik de beschikbare assets om dit level interessanter te maken.
Rechts-klik op de root node en selecteer Add Child Node...
Maak een nieuwe Node3D en hernoem deze naar Environment
Sleep een rots model (bijv. rocklargeA.glb) vanuit de kenney_space-kit/ map naar de Viewport
Selecteer de rots in de Scene Hierarchy en pas in de Inspector de eigenschappen aan:
Transform > Position: Plaats de rots ergens in het landschap (bijv. X: 15, Y: 0, Z: -20)
Transform > Scale: Vergroot of verklein indien nodig (bijv. X: 1.5, Y: 1.5, Z: 1.5)
Transform > Rotation: Geef wat rotatie voor variatie (bijv. Y: 45)
Sleep de rots node in de hierarchy naar de Environment node om het georganiseerd te houden
Je hebt je eerste obstakel geplaatst!
Variatie toevoegen
Plaats 5-8 verschillende obstakels verspreid over het landschap
Mix verschillende asset types uit de Kenney Space Kit:
rockssmallA.glb, rockssmallB.glb - klein rotsvelden
rocklargeB.glb, rock.glb - grote prominente rotsen
crater.glb, craterLarge.glb - kraters voor terrein variatie
rockcrystals.glb - glimmende kristal formaties (handig voor emissive materials later!)
meteor.glb, meteorhalf.glb - ingeslagen meteoren
Experimenteer met Position, Rotation en Scale voor elk object
Gebruik de Viewport navigatie (F om te centreren, RMB + WASD) om vanuit verschillende hoeken te bekijken
Variatie maakt je landschap levendig!
Het ruimteschip toevoegen
De Kenney Space Kit bevat verschillende ruimteschepen. Kies er één uit om te besturen!
Kijk in de kenney_space-kit/ map naar de beschikbare ruimteschepen:
craftspeederA.glb, craftspeederB.glb, craftspeederC.glb, craftspeederD.glb - snelle speeders (aanbevolen voor dit project!)
craftminer.glb - mining spacecraft
craftracer.glb - racing spacecraft
craftcargoA.glb, craftcargoB.glb - cargo spacecraft
Sleep je gekozen ruimteschip (bijvoorbeeld craftspeederC.glb) naar de Viewport
Het ruimteschip verschijnt in je scene
Hernoem de node naar Spaceship (rechtsklik > Rename, of F2)
Pas de Position aan in de Inspector zodat het schip zich bevindt op (0, 0, 0) &#xNAN;Maak je op dit moment geen zorgen dat het schip momenteel onder het terrain zit!
Pas eventueel de Rotation aan zodat het schip vooruit "wijst" langs de -Z as
Je ruimteschip staat nu klaar in het level!
Let op de oriΓ«ntatie!
Later beweegt het schip automatisch vooruit langs de Z-as. Zorg ervoor dat de voorkant van het schip naar de -Z richting wijst (in Godot is -Z = vooruit).
Physics eigenschappen toevoegen

Voordat je de scene organiseert, moet het ruimteschip physics-eigenschappen krijgen. Zonder physics kan het niet bewegen of botsen met obstakels.
In Godot zijn er twee belangrijke physics body types voor 3D objecten:
CharacterBody3D: Voor player-controlled characters. Jij bepaalt de movement met code.
RigidBody3D: Voor physics-driven objecten (vallende dozen, projectielen). De physics engine bepaalt de movement.
Voor een ruimteschip wil je volledige controle, dus gebruik je CharacterBody3D. Dit heeft collision detection maar wordt niet beΓ―nvloed door gravity - perfect voor een zwevend ruimteschip!
Selecteer de Spaceship node in de Scene Hierarchy
Rechtsklik op de Spaceship node en kies Reparent to New Node...
Zoek naar CharacterBody3D en selecteer deze
Geef de Characterbody3D de naam Player
Rechtsklik op de CharacterBody3D node
Kies Add Child Node..., zoek naar CollisionShape3D en voeg deze toe
Selecteer de CollisionShape3D in de hierarchy
In de Inspector, klik op de dropdown naast Shape
Kies New BoxShape3D (of CapsuleShape3D, afhankelijk van je ruimteschip vorm)
Klik op het BoxShape3D icoontje om de properties te openen
Pas de Size aan zodat deze ongeveer de grootte van je ruimteschip heeft. Gebruik hiervoor de rode handles in de Viewport.
Verplaats nu de Player Node naar een plekje op het terrain. Zorg ervoor dat de Player een beetje boven de grond zweeft.
Scene hierarchy organiseren
Een goede scene organisatie maakt je scenes overzichtelijk en gemakkelijk te onderhouden.
Je Scene Hierarchy zou er nu zo uit moeten zien:
Organisatie is belangrijk voor latere hoofdstukken!
Lighting en environment toevoegen
Je scene heeft goede belichting en een achtergrond nodig. Je gaat dit toevoegen op dezelfde manier als je eerder hebt geleerd in de 3D Scene Building tutorials.
Ga naar Belichting, Camera en Achtergrond en volg de stappen om:
Een zon (DirectionalLight3D) toe te voegen via de viewport toolbar
De belichting aan te passen (rotatie, kleur, energy, shadows)
Een WorldEnvironment toe te voegen via de viewport toolbar
De skybox te configureren met een ProceduralSkyMaterial
Kleuren te kiezen die passen bij een alien planeet (denk aan paars, oranje, roze tinten)
Laatst bijgewerkt