Hello. I’m using a navmesh for a character, but when i got multiples floors the one above the other, my
character, sometimes, is “teleported” between floor.
on this image, it my character is on the floor, and i do “agent.move”, instead of getting “stuck” on the stairs, it get teleport ton the lower floor. what can i do ?
(I need to control it by script)
I’m not sure if I am getting the same error as yours, but my enemies teleport through blocks between different levels of separate navmeshes (I have two separate meshes that are not connected). But it only happens when the navmeshagent is turned off and then back on. When the agent is turned back on, it will seek for any mesh directly below it first rather than a mesh nearest to it. So if the mesh is not directly below the enemy, it will teleport through floors. Perhaps your problem may have been that the agent was pushed off the mesh and thus searches for the mesh directly below it when it is turned back on?
I have a similiar problem. when carving the navmesh during runtime and a navmesh agent is in the carved area, the agent “teleports” to the (same) area above the current area.
Playing around with avoidance area / height on the agent and voxel size, made the problem appear in less some cases.
I would expect that the navmesh agent moves to the closest position on the navmesh next to its current position.