32 lines
1.1 KiB
GDScript
32 lines
1.1 KiB
GDScript
class_name CharacterMovementBase
|
|
extends Resource
|
|
|
|
@export var jump_height: float = 1.25
|
|
@export var walking_speed: float = 3.5
|
|
@export var air_walking_speed: float = 3.75
|
|
@export var running_speed: float = 5.5
|
|
@export var air_running_speed: float = 6.0
|
|
|
|
@export var max_turning_speed: float = 50.0
|
|
@export var max_air_turning_speed: float = 10.0
|
|
|
|
@export_exp_easing("inout") var max_acceleration: float = 30.0
|
|
@export_exp_easing("inout") var max_air_acceleration: float = 10.0
|
|
@export_exp_easing("attenuation") var max_friction: float = 20.0
|
|
@export_exp_easing("attenuation") var max_air_friction: float = 10.0
|
|
|
|
@export var use_default_physics_gravity: bool = true
|
|
@export var gravity: float = 9.8: get = get_gravity
|
|
@export_group("Gravity Multiplier")
|
|
@export var gravity_check_margin: float = 0.05
|
|
@export var rise_gravity_multiplier: float = 1.0
|
|
@export var peak_gravity_multiplier: float = 0.85
|
|
@export var fall_gravity_multiplier: float = 1.5
|
|
|
|
|
|
func get_gravity() -> float:
|
|
if use_default_physics_gravity:
|
|
return ProjectSettings.get_setting("physics/3d/default_gravity")
|
|
else:
|
|
return gravity
|