How do i configure the bounce when i jump on top of a character?

Hello, when i jump on top of an enemy, he gives a little boost jump (kinda like super mario), how can i configure or disable that? I’m also experiencing some weird projections when my enemy is in ragdoll and i jump on top of him, sometimes i get projected to the sky and sometimes i’m projected so far i reach the bounds of the level.

We’re having this issue also.

Hi,

in your Character Components setup, select the CapsuleComponent.

Under Collision change Can Character Step Up On from ECB No to ECB Yes, your character won’t be bumped away anymore (but it will walk upon others head so you’ll need to handle this by yourself)

Hi,

I just found the “real” bounce tweaking value, in the CharacterMovementComponent, change JumpOffJumpZFactor to something smaller (if you don’t want your character to be allowed to stand on top of another)

/** Fraction of JumpZVelocity to use when automatically "jumping off" of a base actor that's not allowed to be a base for a character. (For example, if you're not allowed to stand on other players.) */

Changing the Can Character Step Up On worked if i set it to ECB Yes to all the components. If i leave it as ECB No and i set JumpOffJumpZFactor to 0.0 it stills bumps off the character, shouldn’t it prevent from bumping?

I just checked how JumpOffJumpZFactor is used internally in C++.

When an actor must be pushed away from another due to Can Character Step Up On being set to ECB No, the CharacterMovementComponent generate a random Vector as new Velocity for the actor trying to step on. Then this vector Z part is forced to JumpOffJumpZFactor x JumpZVelocity so even with a JumpOffJumpZFactor of 0 your character will still be pushed away on the X/Y
axis.

BluePrint method:

You can either stick on the ECB Yes method and make your own sliding code when your character is on top of another (by changing its velocity)

C++ Method:

Or create your own class inherited from CharacterMovementComponent and override the JumpOff function to compute the Velocity when stepping onto another character.

1 Like

Understood :slight_smile: Thank you for the detailed answer :slight_smile:

JumpOffjumpZfactor helped! thank you

Possible solution paths:

Blueprint logic: If landed on object type pawn, do whatever. For myself, I’m doing a trace once on a pawn. Once trace fails (meaning no pawn beneath), I am decreasing the velocity.

Component Solution: Add cone near the top of your capsule so it’s impossible to land on any of their surfaces.

Inside the Floor Trace Macro is just a capsule trace from the bottom of my capsule to teh ground, and the otehr impulse counteract velocity is custom, it essentiallly just get the current component velocity at that moment and applies it via impulse. Here

If someone is searching how to fix it in UE 4.25. In PlayerCharacter MovementComponent you can find a property Standing Downward Force Scale. It’s how jumping impacts on the actor you jump on (if his physics enabled of course). Set it 0.1 or less and you will reduce the hit force so actor will not be dancing after you jump on it