Stop radius calculation for group movement

I’m moving a group of units, and I’m trying to figure out the best way to stop them when they reach their destination. Currently, they will stop when they are a certain distance away from the destination point, and I make that distance increase as the group size increases. However, the destination point isn’t always in an open area, and there are certain environmental features nearby which could affect the stop distance.

Are there known strategies for dealing with these environmental blockers? I was thinking I could do point sampling in the area surrounding the destination, and estimate the available stopping area, but that might be somewhat expensive …

1 Like

You could always broadcast a stop MSG based on the group size~

Once one unit stops (lets call this unit A), start a while loop that looks something like this:

While(Stopped units < number of units){

 All Units (X distance from unit A * number of stopped units) == stop

}

Or you could have it~ Any unit that collides with a stopped unit in there group, stops… or somethings else like that

Also, another possibility is to give all agents in the group slightly different target points to walk to. You could for example lay out the target points for the agents in a spiral/circle around the real target point, that way they can all reach their target point.