diff --git a/Assets/scripts/Head.gd b/Assets/scripts/Head.gd index d184d9d..4fdc2cd 100644 --- a/Assets/scripts/Head.gd +++ b/Assets/scripts/Head.gd @@ -3,21 +3,21 @@ extends Node3D @export var vertical_joystick_sensitity : float = 2 @export var vertical_mouse_sensitivity : float = 0.02 -func can_look(amount, sensitivity): - var current_rotation_x = global_rotation_degrees.x - var amount_to_move = amount * vertical_mouse_sensitivity - var angle_after_move = current_rotation_x + amount_to_move - if angle_after_move >= -85 and angle_after_move <= 85: - return true - else: - false +var max_angle_radians = 1.5 func _process(delta): var look_velocity = Input.get_vector("look_left", "look_right", "look_up", "look_down") - rotate_x(-look_velocity.y * vertical_joystick_sensitity * delta) + var rotate_degree = -look_velocity.y * vertical_joystick_sensitity + rotate_x(rotate_degree) + func _unhandled_input(event): if event is InputEventMouseMotion: - var rotate_amount = -event.relative.y * vertical_mouse_sensitivity - self.rotate_x(rotate_amount) - + var mouse_movement = -event.relative.y + var rotate_amount = mouse_movement * vertical_mouse_sensitivity + var rotation_after = rotate_amount + rotation.x + if rotation_after <= max_angle_radians and rotate_amount > 0: + rotate_x(rotate_amount) + elif rotation_after >= -max_angle_radians and rotate_amount < 0: + rotate_x(rotate_amount) +