AI characters push each other and fly around the map. How to fix it?

I want them to chase a player and attack when it is possible. It is based on a Character class. AI Controller has UCrowdFollowingComponent.

I want them to behave like Warcraft 3 enemies surrounding a character and attack. But instead, they push each other.

I guess I could disable some physics interactions, but I tried different options and had no luck. Any Advice?

Hi there,it can be caused by collision settings between melee weapons and character capsules. Are you using hit boxes for dealing damage? I would check that too.

2 Likes

The weapon has no collider, and I do not spawn a hitbox to attack, for now, just an animation.

Seems quite similar to the very recently posted popcorn:

Could this be the movement component mishandling depenetration?

2 Likes

Are you talking about collision?

It’s related - yes, but does not, generally, affect characters since the capsule is not simulating physics. The movement component takes over and uses its own values. The behaviour looks like it but may be irrelevant. Hard to tell without seeing it first hand.

In case where an overlap happens between Pawns, how quickly do we eject from the intersecting geometry. The direction depends on their centre, afair. If you have a cluster of actors sharing an overlap, and combined with regular collision, this could produce uncanny behaviours.


You never answered any of my questions from the other thread so not sure how to advice. Seeing a 2nd thread about something quite similar is quite suspicious - maybe this is a bug.

Do the characters perform any actions (apart from moving) that could displace another character? How are their attacks handled (if any)? You posted implementation of launch (was it an enemy actor?) but never commented on it or explained how it was used. Perhaps you ignored it because you know it’s not important here - but it would nice to tell us that. Otherwise we’re stumbling in the dark…

1 Like

The automatic translation on the page was not smooth, so I couldn’t understand the meaning.
Sorry… ㅜㅜ…

1 Like

(how quickly do we eject from the intersecting geometry.)I don’t understand this.
I haven’t touched anything Skeletalmesh, collision, nothing else assigned.
The movement of the character is moved by the behavior tree.
If you want the geometry value in the picture above, I have the same value.

I remade the character from scratch, removed any colliders from mesh in Unreal editor, and set NoColision to every mesh I had in the character component. Now it works as expected. Not sure what helped exactly, but thanks everyone for the help!

2 Likes

I had the same problem.
There is a high probability that the Blueprint, C++ code is not the problem, but the actor lying in the field has a collision problem. Did you not copy with alt + w when copying enemies?

UE4.27
This is so annoying. Can someone help? Should I make my own thread???

My character (3D SideScroller) is pushing my AI off ledges, just by me running back and forth past the AI. The AI flies off like it was hit with a 10000 force, and goes airborn. I do not want this.

Sometimes when I run/move past my AI (and we are in the same plane), the AI gets NUDGED to the side - which is fine (I want this). But I do not want the 10000 push and the AI gets vertical air.

What is causing this? That is what is annoying me, that Idk.

I tried:

    • Player BP > Character Movement comp > Mass set to 1 (AI mass set to 10000 - yet still my 1 mass Player pushes the heavy AI into the air???)
    • Player BP > Character Movement comp > “Depenetration” = tried setting all to 0. Didnt help.
    • Player BP > Character Movement comp > [Character Movement: Physics Interaction] > set Enable Physics Interaction = False (on both Player and AI). But still I push AI into the air by running by him.
    • Idk if its Touch force or Push Force, etc. But I toggled off Enable Physics Interaction, and the other settings go gray, so they should be off.
    • Player BP > Capsule Comp > Collision Enabled = Query and Physics (I need this).
    • Player BP > Mesh (Character) > Collision Presets = Custom (I need some block channels to be on. I have some physics bones that I forgot how I setup or which channels need to be on, if any. I just remember if I turned Coll off, I fall thru the ground, or some of my physics bones dont work.)

      Please help, thank you.

Did you find the solution?

@IamIamIamK1 Did you ask me? Partly, but Not really.
I found that when my player touches AI, it forces them to do the jump anim, or get airborn.
And I was able to reduce this, so they dont fly off crazy.
I have 2 setups:

  1. I have it where my Player can push AI (nudge to the side), but they cant nudge me (which I do want). If you want this, I will have to get back to you tomorrow and post my Collision channel pics.

  2. And I have a different setup where my Player has Modular meshes + Physics set in the Anim BP only. And whatever I did for #1 didnt work for #2 modular meshes. So see my thread for that, I had a bug where collisions were turned off (and got it fixed):
    How to get Collision channels working on Character BP-SK that has Physics asset set in Anim BP?

  3. But if someone has a guide on how to setup normal nudge physics, let us know. (Even physics object that I push (added Physics Component), wiggle and glitch - not natural). Because the default Engine values are insane and idk exactly what to throttle.

  4. I also found this paid asset, but not sure if it does what I need. Prefer if someone can teach me. ActorPush in Code Plugins - UE Marketplace

I tap a swamp and play raise dead.
Jokes aside, I encountered the same issue with ironically similar assets.
Here’s what I tried that was odd:

  1. create new character class
  2. add mesh to it
  3. possess it by an AIC
  4. push it, nothing happens, it’s a rock

In a custom character class I have, this behavior is not seen. If I walk into it, it will jump, typically upwards.
I tried:

  • disabling CCD
  • removing all collisions in my models
  • disabling all collision volumes in both SKs
  • disabling all hit events and making anything not capsule collider ignore all collisions
  • tinkering with the CMC to disable all semblances of physical interactions
  • forced the capsule to be constrained to the X and Y plane and the Z axis locked for location (this somehow failed).
    None of this worked meaning that the capsule colliders are the cause.

In that previous odd example, the second I assign it a movement task in a BT, it starts misbehaving.
In fact, DURING a move to task, it will popcorn, but when waiting, it will not.
I tried a suggestion for the deprenetration and to set it lower. It does somewhat avoid it but not entirely and if you make it too low, you just overlap it. So somehow during AI movement, the agent penetrates the character and attempts to get out upwards.

That’s my best guess.
How to fix this? No idea.

Using the simple move to node inside the actor BP seems to avoid this situation entirely. This perplexes me since it uses the same nav agent data to move but it seems that the movement is not misguided by collisions.

Edit: as I finished typing this, I managed to get it to bounce even when using the simple move to node and now no movement whatsoever. the CMC is disabled for physics interactions as well. I am at a loss…

It is late, I will do further tests tomorrow but at least we got to this point with as much detail as possible. No idea if this is a bug, an unintended consequence of multiple components or something else.

This fixed the problem for me. Hopefully, it helps others facing the same issue!