Download

How to push backwards a character with a mesh ? Smoothly | UE4

Hi, it sounds very simple, but I can`t find a way to push smoothly a character on collision with a mesh.

You can see that when you are pushing many characters at the same time, It goes crazy when they collide together…

I tried using “launch character” on overlap with the mesh, but I don`t want to launch them, I only want to push them backwards smoothly out of the ground/floor using a mesh to “clear” the area of “enemies”.

Here is a video:

Thanks, I cant believe it is so difficult to push a character smoothly. I tried for days searching on google but nothing works.

How about this?:

ezgif.com-optimize.gif

The cubes have physics enabled.

Thank`s Clockw, the problem is when you have to get the cubes moving to you to maeby kill you, sorry, the video shows characters on idle, my fault to not say it.

So, the cubes/enemies are “Characters” using “move to actor (target is Player)”, there is when the capsule of the characters causes the choppy “push” action and the strange situation when two enemies collides together.

Think about all this actual mobile games where you play with physic and the player is always pushing enemies characters/AIs that ar moving randomly in the scene or maeby following the player character.

My goal is to reproduce this “push” actions between characters on UE4, because I think all these games are made on other Engine, but I am sure we can replicate it on UE4.

Do you have the move on tick?

I tried it like this:

Crucial things being acceptance radius and not being on tick.

I don’t know how you push them though…

I have this prototype:

You can see what happens when two NPCs collide with each other, the one I was pushing goes through the mesh.

And if the player character collides with a NPC/Enemy I can´t push him, he blocks me.

AIs / NPCs move to Location (player character) Blueprint:

Yes, some of them are also slipping through the net.

It might be something to do with collision settings, but you can tweak them until the cows come home.

Personally, I would code something into the enemy so that they know when they’re being pushed and back off in line with the player forward vector.

Have you tried enabling CCD?

CCD doesn´t work, It seems that the problem is the capsules, they block each others and create bugs.

The perfect fix would be making them collide each other without being blocked.

By now, I think I got a good way to achieve my goal.

What I did was to use the Capsule Collision Preset -> CharacterMesh (looks like AIs haven`t collision to each others).

And enabling RVOAvoidance (3000 Radius, 0,0001 weight) on Character Movement. (to make them avoid each other to avoid overlap).

It has some minor bugs but… It`s ok for me for a 1-Person indie mobile game.

I would like to achieve a perfect push between characters, feel free to investigate and share more info.

Thank`s to all. :stuck_out_tongue: