Feat/12 add effects and better animations to fpv #17
@@ -260,21 +260,15 @@ func detect_wall_forward() -> Dictionary:
|
|||||||
if not player:
|
if not player:
|
||||||
return {"hit": false, "normal": Vector3.ZERO, "is_short": false}
|
return {"hit": false, "normal": Vector3.ZERO, "is_short": false}
|
||||||
|
|
||||||
var hvel := Vector3(player.velocity.x, 0.0, player.velocity.z)
|
var move_dir := -player.global_transform.basis.z
|
||||||
var move_dir := Vector3.ZERO
|
move_dir.y = 0.0
|
||||||
if hvel.length_squared() > 0.1:
|
if move_dir.length_squared() > 0.01:
|
||||||
move_dir = hvel.normalized()
|
move_dir = move_dir.normalized()
|
||||||
else:
|
else:
|
||||||
move_dir = -player.global_transform.basis.z
|
|
||||||
move_dir.y = 0.0
|
|
||||||
if move_dir.length_squared() > 0.01:
|
|
||||||
move_dir = move_dir.normalized()
|
|
||||||
|
|
||||||
if move_dir.length_squared() < 0.1:
|
|
||||||
return {"hit": false, "normal": Vector3.ZERO, "is_short": false}
|
return {"hit": false, "normal": Vector3.ZERO, "is_short": false}
|
||||||
|
|
||||||
var space_state := player.get_world_3d().direct_space_state
|
var space_state := player.get_world_3d().direct_space_state
|
||||||
var dist := params.wall_detect_distance
|
var dist := 1.2 # Increased to reliably detect walls at an angle
|
||||||
|
|
||||||
# Lower ray (feet/knees)
|
# Lower ray (feet/knees)
|
||||||
var origin_low := player.global_position + Vector3.UP * params.wall_ray_down_height
|
var origin_low := player.global_position + Vector3.UP * params.wall_ray_down_height
|
||||||
|
|||||||
Reference in New Issue
Block a user