# 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