|
|
@ -2,7 +2,7 @@ class_name Player |
|
|
|
extends CharacterBody3D |
|
|
|
|
|
|
|
|
|
|
|
@export var acceleration: float = 10.0 |
|
|
|
@export var camera_acceleration: float = 10.0 |
|
|
|
@export var crouch_height: float = 0.95 ## Camera and RayCast height |
|
|
|
@export var crouch_speed: float = 3.0 |
|
|
|
@export var jump_velocity: float = 4.5 |
|
|
@ -50,12 +50,12 @@ func handle_crouching(delta: float) -> void: |
|
|
|
if is_crouching: |
|
|
|
collision_shape_crouching.disabled = false |
|
|
|
collision_shape_standing.disabled = true |
|
|
|
camera.transform.origin.y = lerp(camera.transform.origin.y, crouch_height, acceleration * delta) |
|
|
|
camera.transform.origin.y = lerp(camera.transform.origin.y, crouch_height, camera_acceleration * delta) |
|
|
|
ray_cast_look.transform.origin.y = crouch_height |
|
|
|
elif !ray_cast_crouch.is_colliding(): |
|
|
|
collision_shape_crouching.disabled = true |
|
|
|
collision_shape_standing.disabled = false |
|
|
|
camera.transform.origin.y = lerp(camera.transform.origin.y, standing_height, acceleration * delta) |
|
|
|
camera.transform.origin.y = lerp(camera.transform.origin.y, standing_height, camera_acceleration * delta) |
|
|
|
ray_cast_look.transform.origin.y = standing_height |
|
|
|
else: |
|
|
|
pass # Continue crouching until nothing overhead |
|
|
|