I only done 3d navigation once awhile ago but looking at my project you need to calculate the vector to the next point of the path. Here's just a quick copy and paste
func state_chase(delta):
if path_hit_point == true:
print("path_hit_point ", path_hit_point)
move_to(Player.global_transform.origin)
path_hit_point = false
func move_to(target_pos):
path = nav.get_simple_path(global_transform.origin, target_pos)
path_ind = 0
func path_process():
if path_ind < path.size():
var move_vec = (path[path_ind] - global_transform.origin)
if move_vec.length() < 0.1:
path_ind += 1
if path_ind > 2:
path_hit_point = true
else:
move_and_slide(move_vec.normalized() * move_speed, Vector3(0, 1, 0))
Edit: Sorry I'm a little dumb drop that, here's a tutorial https://www.youtube.com/watch?v=_urHlep2P84 then one issue I ran into is that I accidentally rotated the navigation node and I was having weird effects.