Advertisement
lil_sue

Joypad look (broken)

May 23rd, 2025
89
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
GDScript 2.19 KB | Gaming | 0 0
  1. ## Controller Variables  = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =  
  2. const JOY_AXIS_RIGHT_X = 2
  3. const JOY_AXIS_RIGHT_Y = 3
  4. var controller_sens = 3.0  # Adjust as needed
  5. # Dead zone strength (0.0 = no filter, 1.0 = strong filter)
  6. @export var dead_zone_strength = 0.05  # Adjust this value as needed
  7. ##  = = = = = = = = = = = = = = = = = End of Variables = = = = = = = = = = = = = = = = = = = = = = =
  8.  
  9.  
  10. ###==================================================================================================
  11.     Input.set_mouse_mode(Input.MOUSE_MODE_CAPTURED)
  12.      # Mouse look
  13.     if event is InputEventMouseMotion:
  14.         if free_looking:
  15.             neck.rotate_y(-deg_to_rad(event.relative.x * mouse_sens))
  16.             neck.rotation.y = clamp(neck.rotation.y, deg_to_rad(-90), deg_to_rad(90))
  17.             neck.rotate_x(-deg_to_rad(event.relative.y * mouse_sens))
  18.             neck.rotation.x = clamp(neck.rotation.x, deg_to_rad(-30), deg_to_rad(30))
  19.         else:
  20.             rotate_y(-deg_to_rad(event.relative.x * mouse_sens))
  21.             neck.rotate_x(-deg_to_rad(event.relative.y * mouse_sens))
  22.             neck.rotation.x = clamp(neck.rotation.x, deg_to_rad(-36), deg_to_rad(69))
  23.             sight.rotation.z = 0.0
  24.  
  25.    
  26.     if event is InputEventJoypadMotion:
  27.         var axis_value = event.axis_value
  28.  
  29.         # Apply dead zone filtering
  30.         if abs(axis_value) < dead_zone_strength:
  31.             return  # Ignore small movements within the dead zone
  32.  
  33.         if event.axis == JOY_AXIS_RIGHT_X:  # Right stick X-axis
  34.             if free_looking:
  35.                 neck.rotate_y(-deg_to_rad(axis_value * controller_sens))
  36.                 neck.rotation.y = clamp(neck.rotation.y, deg_to_rad(-90), deg_to_rad(90))
  37.             else:
  38.                 rotate_y(-deg_to_rad(axis_value * controller_sens))
  39.                 sight.rotation.z = 0.0
  40.  
  41.         elif event.axis == JOY_AXIS_RIGHT_Y:  # Right stick Y-axis
  42.             if free_looking:
  43.                 neck.rotate_x(-deg_to_rad(axis_value * controller_sens))
  44.                 neck.rotation.x = clamp(neck.rotation.x, deg_to_rad(-30), deg_to_rad(30))
  45.             else:
  46.                 neck.rotate_x(-deg_to_rad(axis_value * controller_sens))
  47.                 neck.rotation.x = clamp(neck.rotation.x, deg_to_rad(-36), deg_to_rad(69))
  48.                 sight.rotation.z = 0.0
  49.                
  50.                
  51. #===================================================================================================
  52.            
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement