How can I detect if my character is falling up or down?

I am trying to get my character to automatically open a parachute when he is falling downward. I am using the / character movement > is falling node to use the Boolean return value to trigger the parachute to open. The problem is however that the parachute also opens when jumping up because the "is falling" node doesn’t distinguish between an up or down movement. It basically only tells me if my character is on the ground or not.

Anyone have any ideas?

  1. Check if the player’s Z velocity is lower than 0 (moving down)

or, if you need to know the player has ACTUALLY moved down and not just receiving downward velocity,

  1. Check if the player’s (current z position this frame - player’s z position last frame) is lower than 0
1 Like

You would definitely get the best results by using Z Velocity as Capsu1 mentioned.
Now since you want to do this for parachute I would recommend calculating distance from group to character(Can be done easily using Line Trace) as it just makes sense to open parachute at a certain height rather than just Falling down.

Or just parachute when the Z Velocity surpasses a certain threshold.

Set a specific state when the player should be using a parachute. During that state do the Z or line trace distance checks per tick.

e.g. Tick → IF (state == parachuteState) { is Z<= n … or … line trace → result <= n → deploy }

…thanx guys for your help. Check if the player’s Z velocity is lower than 0 did the trick!

You can follow the macro I prepared for Jump, Falling and Ground in the video below.

The states are already kind of built in: