i tried to clamp the rotation value of the camera but it doesn't work
`
extends Marker3D
@onready var Camera = $HorizontalAxis/VerticalAxis/CameraSpringArm/Camera
@onready var Horizontal: Node3D = $HorizontalAxis
@onready var Vertical: Node3D = $HorizontalAxis/VerticalAxis
@onready var CameraSpringArm: SpringArm3D = $HorizontalAxis/VerticalAxis/CameraSpringArm
var h_accelaration = 0.3
var v_accelaration = 0.3
var cam_rotation_h = 0.0
var cam_rotation_v = 0.0
func camera_event(event: InputEvent) -> void:
if event is InputEventMouseMotion:
cam_rotation_h += -event.relative.x
cam_rotation_v += -event.relative.y
func toggle_mouse_lock() -> void:
if Input.is_action_just_pressed("a_toggle_mouse_lock"):
if Input.get_mouse_mode() == Input.MOUSE_MODE_CAPTURED:
Input.set_mouse_mode(Input.MOUSE_MODE_VISIBLE)
else:
Input.set_mouse_mode(Input.MOUSE_MODE_CAPTURED)
func _input(event: InputEvent) -> void:
camera_event(event)
toggle_mouse_lock()
func camera_rotation(delta: float) -> void:
Horizontal.rotation.y = wrapf(cam_rotation_h * h_accelaration * delta, 0, deg_to_rad(360))
Vertical.rotation.x = wrapf(cam_rotation_v * v_accelaration * delta, 0, deg_to_rad(360))
var camera_rot = Vertical.rotation
camera_rot.x = clamp(camera_rot.x, -70, 70)
Vertical.rotation.x = camera_rot
func _process(delta: float) -> void:
camera_rotation(delta)
`
