I currently working on a top-down shooter game. But the shoot collision detection doesn't really work. When I aim at an enemy directly most of the time it doesn't respond, sometimes doesn't even aim directly at the enemy, but it responds, and sometimes it just works fine.
var aimRay_origin = Vector3()
var aimRay_target = Vector3()
onready var aimcast = $player/AimCast
onready var aimtarget = $aimTarget
func _physics_process(delta):
var mouse_position = get_viewport().get_mouse_position()
ray_origin = $Camera.project_ray_origin(mouse_position)
ray_target = ray_origin + $Camera.project_ray_normal(mouse_position) * 2000
var intersection_cursor = space_state.intersect_ray(ray_origin, ray_target)
if not intersection.empty():
aimtarget.global_transform.origin = intersection_cursor.position * 1000
$player/AimCast.cast_to = aimtarget.global_transform.origin