Hello, I’m making a game where many AI character have to follow same point. The problem however is that they collide with each other, and when they get to a certain point, the AI characters that were behind others, remain there, instead of walk around others to get to the side.
I have tried both RVO avoidance and crowd avoidance, but nothing seems to really work. All I have is a dead simple AI character with a collision capsule that uses MoveTo to walk towards a certain actor. I don’t know many settings I can tweak, but the ones I’ve tried to are the RVO avoidance consideration radius as well as weight, and crowd manager, nothing seems to even get close to what I want. RVO seems to work worse than crowd avoidance, even though in crowd docs they say that it’s the same, but it also includes obstacles like walls.
The characters have rotation rate Z set to 720, and the rotation is following the movement.
There are many problems with all this:
- Characters get pushed away which usually makes them fly when someone is walking into them from behind, but the character doesn’t have room in front of it to walk into as there’s some other character that has already reached the destination (or also is stuck in front of someone) or they’re trying to rotate.
- Characters try to rotate both ways quickly, resulting into not really moving anywhere, which also makes the first problem even more amplified.
- Character do not even try to rotate despite the fact that they cannot move forward.
In this example there are many characters on each side that are going against each other, which doesn’t seem to be big of a problem, but as some of them (the first ones) reach the goal, the others are simply stuck, trying to do something.
Also, the log is full of warnings like LogCharacterMovement: Foe_Fishman_C_11 is stuck and failed to move! Velocity: X=-29.67 Y=-26.82 Z=0.00 Location: X=1771.20 Y=571.74 Z=120.60 Normal: X=-0.96 Y=-0.08 Z=0.28 PenetrationDepth:5.288 Actor:Foe_Fishman_C_14 Component:CharacterMesh0 BoneName:fishman_index01Left (31 other events since notify)
Does anyone have any suggestions with all that?