Hi Aron & whom this may concern,
I appreciate your time to look at this as many others have come to you regarding this. I’ve looked into your documentation and also some forums, but i’m not quite wrapping my mind around the code necessary to fix my custom issue & seeing your definition page.
Platform: Unity3d 2019.2
Language: C#
Custom Local Avoidance Method: Raycast.Spherecast
Current Situation:
I’m able to stop the agents from traversing the path with your method of “canMove” set to false if the spherecast is within minDistance of another object.
What my intelligence is lacking:
Understanding how A* uses it’s nodes on a path from the seeker and using an for/foreach loop to see if current traversing path has a point where hit.point (from spherecast) is located & to set penalty to maximum on current path to recalculate path.
I’ve looked at ABPath but the majority of it is more private in nature & since i’m new to this A*'s asset methods (Which is more than a decades worth of work on your part) I’d thought i’d ask before dumping a month into investigating this issue.
Sincerely,
Sentar
Edited: 4/8/2020
I found your documentation for:
ai.canSearch = false;
var pointToAvoid = currentHitObject.transform.position;
// Make the AI flee from the enemy.
// The path will be about 20 world units long (the default cost of moving 1 world unit is 1000).
var path = FleePath.Construct(ai.position, pointToAvoid, 1000 * 20);
ai.SetPath(path);
Which is incredibly helpful and now I’ll have to figure out if other agent made it to the target position, and then use my offset calculations to form a battle circle around the target.
Sincerely,
Sentar