Feat/12 add effects and better animations to fpv #17
@@ -221,7 +221,7 @@ func detect_wall_horizontal() -> Vector3:
|
||||
var hit := space_state.intersect_ray(ray)
|
||||
if not hit.is_empty():
|
||||
var collider = hit.get("collider")
|
||||
if collider is PlayerMovementController:
|
||||
if collider is PlayerMovementController or collider is CharacterBody3D or collider.has_method("take_damage"):
|
||||
continue
|
||||
var n: Vector3 = hit.get("normal", Vector3.ZERO)
|
||||
# Wall must be roughly vertical (normal mostly horizontal)
|
||||
@@ -242,7 +242,7 @@ func detect_wall_horizontal() -> Vector3:
|
||||
var hit := space_state.intersect_ray(ray)
|
||||
if not hit.is_empty():
|
||||
var collider = hit.get("collider")
|
||||
if collider is PlayerMovementController:
|
||||
if collider is PlayerMovementController or collider is CharacterBody3D or collider.has_method("take_damage"):
|
||||
continue
|
||||
var n: Vector3 = hit.get("normal", Vector3.ZERO)
|
||||
if absf(n.y) < 0.3 and n.length_squared() > 0.0:
|
||||
@@ -294,8 +294,8 @@ func detect_wall_forward() -> Dictionary:
|
||||
|
||||
# Get the normal from the highest point we hit, or the lowest if we only hit low
|
||||
var best_hit = hit_mid if not hit_mid.is_empty() else hit_low
|
||||
|
||||
if best_hit.get("collider") is PlayerMovementController:
|
||||
var collider = best_hit.get("collider")
|
||||
if collider is PlayerMovementController or collider is CharacterBody3D or collider.has_method("take_damage"):
|
||||
return {"hit": false, "normal": Vector3.ZERO, "is_short": false}
|
||||
|
||||
var normal: Vector3 = best_hit.get("normal", Vector3.ZERO)
|
||||
|
||||
Reference in New Issue
Block a user