From 6b551a9262cba88ad2e24921bc2cf732e34a9c2e Mon Sep 17 00:00:00 2001 From: Eduardo Date: Sat, 10 Feb 2024 02:16:35 +0100 Subject: [PATCH] if you are near him and can see you it will look at you --- enemies/base_enemy.gd | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/enemies/base_enemy.gd b/enemies/base_enemy.gd index eae2a62..4df2b35 100644 --- a/enemies/base_enemy.gd +++ b/enemies/base_enemy.gd @@ -25,3 +25,23 @@ func _physics_process(delta): # look at player pivot.look_at(player.global_transform.origin, Vector3.UP) rotate_y(deg_to_rad(pivot.rotation.y * turn_speed)) + + elif distance_to_player < 25 && can_see_player(): + pivot.look_at(player.global_transform.origin, Vector3.UP) + rotate_y(deg_to_rad(pivot.rotation.y * turn_speed)) + + +func can_see_player(): + var space_state = get_world_3d().get_direct_space_state() + var params = PhysicsRayQueryParameters3D.new() + params.from = global_transform.origin + Vector3.UP + params.to = player.global_transform.origin + params.exclude = [] + + params.collision_mask = 1 + var result = space_state.intersect_ray(params) + + if result: + return true + else: + return false -- 2.30.2