Godot 3 - move_* on KinematicBody and Navigation3D weird behavior

:information_source: Attention Topic was automatically imported from the old Question2Answer platform.
:bust_in_silhouette: Asked By Jackain
:warning: Old Version Published before Godot 3 was released.


I have a GridMap, a tileset with navmesh, a player and 3 ennemies. I use move_and_slide() on ennemies to move them (Tried move_and_collide() too).

If i uncheck the layer mask where the ennemies are (so if the ennemies can move through others ennemies) the pathfinding function works very well and the ennemies walk towards the player. But if I check the mask and the ennemies can collide together, they disapear when i start the scene (I can see them fly far far away…).

Is there something i do wrong ?

On this gif we can see if i call the function move_* in movement(delta), the ennemies KinematicBody fly far away , but if i don’t call it, they stay still.
The Navigation process is set to false.

This is my movement func:

func movement(delta):

velocity.x = 0
velocity.y = 0
velocity.z = 0

velocity = move_and_slide(velocity, Vector3(0,1,0))

if tick >= max_tick_print:  
    print(self.get_name() + " Velocity : " +  str(velocity))
    tick = 0

tick += 1


Soooooooooooooooo, i really don’t know what is the problem

I have an area with collisionShape to see if the player is in range (8 units) but it’s on another layer and the mask is the to only collide with the player.

I tried to disable it but nothing change.

Thank you !

:bust_in_silhouette: Reply From: puppetmaster-

Perhaps it is a bug and it has someting to do with this issue