From 3fb85f8941370b857caf949bd2504373c320737d Mon Sep 17 00:00:00 2001 From: Lucas Fryzek Date: Fri, 7 Feb 2025 21:47:47 +0000 Subject: Add pitch control to camera --- scripts/player.gd | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'scripts/player.gd') diff --git a/scripts/player.gd b/scripts/player.gd index 69ba910..371bb93 100644 --- a/scripts/player.gd +++ b/scripts/player.gd @@ -25,6 +25,7 @@ var last_wall_direction: Vector3 = Vector3() var inital_camera_offset: Vector3 = Vector3() var camera_rotation: float = 0 +var camera_pitch: float = 0 func got_body(body: Node3D): if current_node == null: @@ -90,6 +91,9 @@ func _process(delta: float): func turn_camera(delta: float): var turn_amt = Input.get_axis("turn_right", "turn_left") camera_rotation += turn_amt * delta + + var pitch_amt = Input.get_axis("turn_up", "turn_down") + camera_pitch = clamp(camera_pitch + pitch_amt * delta, deg_to_rad(-45.0), deg_to_rad(45.0)) func _physics_process(delta): var speed = SPEED @@ -175,7 +179,7 @@ func _physics_process(delta): move_and_slide() # Position camera - $Camera3D.global_position = global_position + inital_camera_offset.rotated(Vector3.UP, camera_rotation) + $Camera3D.global_position = global_position + inital_camera_offset.rotated(Vector3.RIGHT, camera_pitch).rotated(Vector3.UP, camera_rotation) $Camera3D.look_at(global_position) if stam_consumption == 0 and not Input.is_action_pressed("run") and is_on_floor(): -- cgit