Trying to Understand A Certain Path Error

Hello everyone, I’m trying to understand a certain type of situation that seems to cause a path finding error every time I try to get one (and I haven’t found a good way of dealing with it). Hopefully the picture make it clear what I’m talking about but in words:

It seems that when one object tries to get a path to another object that it cannot truly reach (target in some non-walkable / traversable area) -and- there is still walk-able area on the grid/navmesh that cannot be reached by that agent (perhaps an area surrounded by non-walkable nodes or non-traversable tags), the path gives an error every time (an “open point” error).

A* seems quite robust in pretty much every other case (reaching targets in non-walkable positions, reaching targets in non-traversable tagged areas, targets not even on a grid, etc). I can see that it causes a error, but I’m not sure why (and haven’t found a good way of dealing with it).

Any ideas are appreciated, thank you for reading.

Hi

The code cannot handle that case yet unfortunately.
It will try to find the closest walkable node to the target point that it can reach, normally it can find that closest node correctly, but when there regions of tagged nodes that blocks it, it cannot do that.
It is possible to change the code a bit to support it, but the problem is that each of those path requests would have to search the whole graph to be certain of which node was the closest one (which would be vastly slower than a normal path request).
So basically this is not enabled because it is a lot slower.

I see, I’ll try my best to avoid creating those types of spaces.

1 Like