mj177/scripts/player/cameraController.gd
2025-02-01 22:51:01 +01:00

27 lines
779 B
GDScript

extends Camera3D
@export var PlayerNode: Node3D;
@export var turnSpeed: float = 0.25;
@export var XRotationClamp: Vector2 = Vector2(-90, 90)
var currentRotation: Vector2 = Vector2(0,0);
func _ready() -> void:
Input.mouse_mode = Input.MOUSE_MODE_CAPTURED;
func _input(event: InputEvent) -> void:
if event is InputEventKey && event.key_label == KEY_ESCAPE:
Input.mouse_mode = Input.MOUSE_MODE_VISIBLE
if event is not InputEventMouseMotion:
return
var inputRotation = event.relative
self.currentRotation += Vector2(inputRotation.y, inputRotation.x) * self.turnSpeed * -1;
self.currentRotation.x = clamp(currentRotation.x, XRotationClamp.x, XRotationClamp.y);
self.rotation_degrees.x = currentRotation.x;
self.PlayerNode.rotation_degrees.y = currentRotation.y