Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ## Controller Variables = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
- const JOY_AXIS_RIGHT_X = 2
- const JOY_AXIS_RIGHT_Y = 3
- var controller_sens = 3.0 # Adjust as needed
- # Dead zone strength (0.0 = no filter, 1.0 = strong filter)
- @export var dead_zone_strength = 0.05 # Adjust this value as needed
- ## = = = = = = = = = = = = = = = = = End of Variables = = = = = = = = = = = = = = = = = = = = = = =
- ###==================================================================================================
- Input.set_mouse_mode(Input.MOUSE_MODE_CAPTURED)
- # Mouse look
- if event is InputEventMouseMotion:
- if free_looking:
- neck.rotate_y(-deg_to_rad(event.relative.x * mouse_sens))
- neck.rotation.y = clamp(neck.rotation.y, deg_to_rad(-90), deg_to_rad(90))
- neck.rotate_x(-deg_to_rad(event.relative.y * mouse_sens))
- neck.rotation.x = clamp(neck.rotation.x, deg_to_rad(-30), deg_to_rad(30))
- else:
- rotate_y(-deg_to_rad(event.relative.x * mouse_sens))
- neck.rotate_x(-deg_to_rad(event.relative.y * mouse_sens))
- neck.rotation.x = clamp(neck.rotation.x, deg_to_rad(-36), deg_to_rad(69))
- sight.rotation.z = 0.0
- if event is InputEventJoypadMotion:
- var axis_value = event.axis_value
- # Apply dead zone filtering
- if abs(axis_value) < dead_zone_strength:
- return # Ignore small movements within the dead zone
- if event.axis == JOY_AXIS_RIGHT_X: # Right stick X-axis
- if free_looking:
- neck.rotate_y(-deg_to_rad(axis_value * controller_sens))
- neck.rotation.y = clamp(neck.rotation.y, deg_to_rad(-90), deg_to_rad(90))
- else:
- rotate_y(-deg_to_rad(axis_value * controller_sens))
- sight.rotation.z = 0.0
- elif event.axis == JOY_AXIS_RIGHT_Y: # Right stick Y-axis
- if free_looking:
- neck.rotate_x(-deg_to_rad(axis_value * controller_sens))
- neck.rotation.x = clamp(neck.rotation.x, deg_to_rad(-30), deg_to_rad(30))
- else:
- neck.rotate_x(-deg_to_rad(axis_value * controller_sens))
- neck.rotation.x = clamp(neck.rotation.x, deg_to_rad(-36), deg_to_rad(69))
- sight.rotation.z = 0.0
- #===================================================================================================
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement