How to get hit impulse power in character blueprint?

Excuse me, is there a way to find out the hit impulse when a character lands on a platform? I want to have two different animations for the landing, based on the power of the landing.

I am using the “Paper Character” blueprint. I tried searching in the character movement component’s hit results and the “On Landed” event’s results, but I wasn’t able to find that out.

Sorry for the terrible illustrations and thank you so much :slight_smile:

Hello Ahmed_123,

What you’re looking for is not something that’s stored inside the Hit Result, and as far as I’m aware of not something you can get easily inside blueprints, not to mention that both objects have to be physics enabled.

You can, however, calculate the impulse when you need it, i.e. when landing / colliding, I assume you’re talking about the physically correct impulse:
All you need is the velocity difference between the physics frame before the collision and the frame afterwards.
The velocity difference is what you’re looking for here, the mass is the mass of the player.

Unsigned Impulse Delta =
Abs(Velocity_Before -
Velocity_After) *
Player_Mass

To do that you simply have keep track of the current velocity of your player character, you can do that simply by storing said velocity into a variable inside the tick event, and calculate the impulse delta inside the hit event. This might not give a very accurate result if your tick group is not ‘Tick during Physics’ or ‘Pre Physics’. Something you should be aware of is, this delta is a 3 dimensional vector, you can get the magnitude rather easily with the vector length node though.

Hope that helps. Just let me know if you got any questions, or if that was too confusing.

Regards,

Vecherka.

Hey Vecherka, thank you so much for your help, I actually asked my brother about that issue and he told me what you’ve mentioned, and I tried it and it worked perfectly, so thank you so much :slight_smile: