we want to have a loading screen free game + smarter AI that is better aware of it’s whereabouts and surroundings. We use SECTR for these purposes, which means we are splitting the game world into smaller, more manageable chunks and streaming those runtime.
There is one problem with that - the initialization time for each map sector as it’s loaded must be as small as possible to prevent freezes, which means that rebaking one huge graph for all currently loaded sectors every time a sector is loaded or unloaded would be just unpleasant from the performance perspective.
I tried pre-baking multiple recast graphs editor time (one per each sector) and create connections between those (where the doors and hallways would be for example) so that NPCs can cross the boundaries of those sectors.
NodeLink3 component looks like a perfect match, but I can’t get our RichAI agents to seek path through it, let alone cross it. Should I use it the same way NodeLink2 is used in the ‘RecastExample2’ scene?
I suppose the problem is the graphs either overlap a little or don’t really “touch”. But then… I would have to bake graphs with zero character radius, which would lead to other issues.
Does anybody here have any tips for me?
Am I even following a good lead?
Here you can see how the agent properly seeks a path through the NodeLink2 but doesn’t actually go through.
When the recast graphs overlap like in this image, I though it would be nice if I could make the agent use the Link for pathfinding only. Then somehow ignore the link when he arrives near it and switch current graph based on richAi.desiredVelocity for example - so that he would continue onward to his target.
Does this seem right?
As it turns out, the path query fails when the NodeLink2 is placed in an area where the graphs overlap… well… it seems my solution from EDIT1 might not be that amazing as I hoped