4. GridMap Raycasting

Maak een raycasting system om muis positie naar grid cells te converteren

Overzicht

In dit hoofdstuk leer je:

  • GridMapRaycaster utility class maken

  • Mouse position converteren naar 3D ray

  • Ray-ground plane intersection berekenen

  • World position naar grid cell converteren

  • GetCellUnderMouse() helper method implementeren

circle-info

Wat is raycasting?

Raycasting projecteert een onzichtbare straal (ray) vanuit de camera door de muis cursor naar de 3D wereld. Door te berekenen waar deze ray objecten raakt, kan je bepalen waar de speler klikt.

Gebruik in city builders:

  • Bepaal welke grid cell onder de cursor is

  • Valideer of een positie geldig is voor placement

  • Highlight cellen waar de muis over zweeft

Dit is de basis voor alle click-to-place building mechanics!

GridMapRaycaster Setup

Zet de node en het script op voor raycasting functionaliteit.

circle-check

Ray-Plane Intersection

Bereken het punt waar de ray van de camera kruist met de grond (Y = 0). Dit is de muisklikpositie.

Nieuwe wiskundige concepten:

  • Ray-Plane intersection - Bereken waar een lijnstuk een plat vlak snijdt

  • Nullable types - Vector3? kan null zijn wanneer er geen intersectie is

circle-check

Muis coordinaten omzetten naar Grid coordinaten

Converteer de muispositie naar een grid coördinaat in vier stappen: muis → ray → world → grid.

Nieuwe Godot-specifieke elementen:

circle-check

Configuratie en Testen

Koppel alles aan elkaar in de editor en test of het werkt.

circle-check

Volledig script

chevron-rightKlik hier voor het volledige GridMapRaycaster.cs scripthashtag

Laatst bijgewerkt