Layered Grid Graph updating

Hello,

I can see in the documentation:

[A layered grid graph] does not support graph updating using GraphUpdateObjects (yet, working on it)

Does this mean that region-limited runtime updating is not possible with this type of graph? What I mean is updating a little area of a big graph when, say, I plop a building on.

Two somewhat related questions:

  1. Is it possible to “bake” nodes or a “mini-graph” into a prefab, and have it be “navigatable” out of the box at runtime, with no scanning involved? I’m guessing it’s absurd, just wondering.
  2. Can an agent “jump” between two graphs of the same type? Not literally jump, I mean navigating them both seamlessly, calculating routes from one to the other, and so on. (for example, two independent node graphs that are physically close enough to each other)

The context of these questions is that, overall, my (big) terrain doesn’t need much node precision (2x2 nodes, 4 connections) but when, say, a unit navigates the insides of a building, I would like for the navigation to be more precise without having to make the WHOLE, map-wide layered-grid graph more precise.

Thank you again for such a great product.

Hi

This is in fact incorrect in the documentation (it is fixed in the beta version documentation). It does support graph types.

1,2. You can save and load graphs (see this page or this slightly more updated page in the beta documentation). I strongly recommend that you only use a single graph at a time, the edge cases near the borders between the graphs are not worth it.

You might want to check out recast graphs as well, they are often better at handling large and detailed worlds.

Thank you for the quick response. It’s nice to have such great support.

I have indeed considered recast graphs, but my concerns are (1) that runtime generation time for the big, obstacle-ridden environments I work with could be slow, and (2) that I have a need for frequent, localized mesh updates (lots of new obstacles pop up relatively frequently).

This is why I initially chose simple 4-connection layered grid graphs (with path smoothing), but I’m open to changes on your recommendation.

Hi

  1. Yes, it would likely be slow. Is it possible for you to do it offline (i.e during development, not every time the game is started)?

  2. If you can use navmesh cutting, that would likely solve this problem as navmesh cutting is a lot faster than full tile recalculations. See http://arongranberg.com/astar/docs/navmeshcutting.php