Support Forum

Mixing Recast and Point graphs

Hey!
I’m currently looking to replace Unity’s NavMeshComponents by A* because it appears that A* can do what I need. However, I can’t quite get it to work yet. I’m trying to mix a nav mesh (recast graph) and a simple point graph. I’m aware of the other threads on similar topics but haven’t found a solution to this specific problem.

Consider the following sample scenario:

The recast graph is a free roam area, whereas the point graph requires special linear movement. I’d like the agent (red cylinder on the left) to consider both the recast graph and the point graph to find a path to the target (red diamond on the right).

If I enable both graphs in the Seeker’s graph mask, the agent (AIPath, as RichAI doesn’t support point graphs iirc) will try to use the recast graph only. It’ll move to the rightmost point on the left nav mesh and just stop there, it will not use the point graph at all. When at that point, however, I disable the recast graph in the Seeker’s mask, then it’ll use the point graph just as intended (of course, only up to the point where it reaches the right nav mesh).

Is there any way to make the agent use both graphs and switch automatically as needed, or better yet, actually find a proper path through both graphs? In fact, I cannot see much of a use for the graph mask if one graph is completely ignored if the other is available?

I tried using node links (Link2), but to no avail: they only seem to work connecting two recast graphs, but not a recast graph and a point graph.

Hi

This is not super easy I’m afraid. Combining graphs like that is not something I recommend.
I would instead recommend that you use a recast graph for everything, but if the player clicks on some point on the white surface, you snap the destination point to the closest of the pre-determined green points. That will give you roughly the desired behavior, I think.

Hi, is it really not possible? Or it’s possible but not easy?

This is as far as i’ve tried

In my last point, wouldn’t it make more sense to convert the recast to point graphs instead?
Especially if the reason to mix using Point graph is for non-surface navigations (flying, swimming)