I’m trying to determine if a destination if accessible or not which is primarily contingent on wether or not other agents are standing in the way. If other agents are blocking the route or are standing around the desired destination, my agent just runs into them endlessly. Instead, I’d love to know if the path is obstructed and have them choose a different course of action.
I’m trying out PathUtilities.IsPathPossible but it is returning true because I believe it’s probably relying on node walkability and not wether the agent can actually move from one point to the other. Is there another method I could check out for this? Or is there some other way I could tell the system to block paths when agents are in the way?
I’m using RVO which is working ok for group movement and general avoidance but I want to check if a destination (aka a Vector3 that I’m using to GetNearestNode) is accessible before I ever set my agent into motion.
In the beta version, I have 2 prototypes for this. However, the agents will only be able to detect this once they are actually blocked by others. There’s no corresponding IsPathPossible call.
You could check if there are many other agents around the destination, and in that case abort. But other than that, there’s no clear solution. This is assuming your game has free movement. If movement is tied to a grid or similar, then there are other solutions.
Interesting! Even having some kind of trigger for when they’re blocked by others would be useful for my situation. I’m using the beta, could you point me towards an example or a doc for this?
Additionally, is there some built-in method for returning agents within a specific area? I noticed one of the beta components has a “stop if destination is crowded” type toggle so I assume there is.