3. Camera Rotation & Control

Implementeer orbital camera met keyboard rotation en camera-relative movement

Overzicht

In dit hoofdstuk breid je de camera uit met orbital rotation - de camera draait rondom de player zodat je vanuit elke hoek kan kijken. Zorg er ook voor dat de WASD keys bewegen relatief aan de kijkrichting.

Camera rotation input

circle-check

Test camera rotation

circle-check

Camera-Relative Movement

Momenteel beweegt de player in world-space richtingen:

  • W gaat altijd "north" (+Z richting in world)

  • A gaat altijd "west" (-X richting in world)

Je wilt dat WASD relatief is aan de camera:

  • W = vooruit vanuit camera perspectief

  • S = achteruit vanuit camera perspectief

  • A = links strafing relatief aan camera

  • D = rechts strafing relatief aan camera

circle-info

Wat is Transform.Basis?

Elke Node3D heeft een Transformarrow-up-right property met:

  • Origin: positie in de wereld (Vector3)

  • Basis: orientatie/rotatie (3x3 matrix van 3 richtingsvectoren)

De Basis bevat drie unit vectors:

  • Basis.X: Right direction (rechts van de node)

  • Basis.Y: Up direction (boven de node)

  • Basis.Z: Back direction (achter de node - negatief is forward!)

circle-check

Player camera target instellen

Voor we kunnen testen, moet de Player weten welke node de camera is.

circle-check

Test camera-relative movement

circle-check

Complete scripts

chevron-rightKlik hier voor de volledige View.cs en Player.cs scriptshashtag

View.cs

Player.cs

Laatst bijgewerkt