Animation State transition always fires regardless of variable setting

I have a transition rule that allows access to an animation state regardless of the value of the variable controlling access. Below are the details:

Intended Flow = JUMP PREP includes animation that builds up before jump, then → JUMPING which is a jump animation including 4 seconds of falling. Then either → Landing animation state OR → Falling Loop (if jumping animation finishes still without landing). A TRANSITION Fires a custom event that sets IsJumping Variable to TRUE on entering the Jumping state.

The only ACTIVE Transition rule that comes into the Falling Loop state comes from JUMPING (the other is disabled for sure [hardcoded to false]). The rule having problems you can see in the next image is:

IsFalling = TRUE -AND- IsJumping variable IS NOT TRUE….

62018-img2.png

I am printing the value of IsJumping to the screen through a Start Transition Event that only fires when this transaction is taken. The current value of IsJumping is showing up as TRUE, but the transition is occurring anyway.

So after much debugging I decided to simply change the Transition RULE in case it is somehow getting the variable value before the screen printing, when the value is false. So I changed the transition rule to:

IsFalling = True AND IsJumping = True

62019-img3.png

The problem is that it still executes the Falling Loop either way… That should be impossible! On printing the IsJumping value is always showing as True. However, I can set the transition rule to check that variable is True then again to check if it is False and it always executes either way.

Is has to be a bug, right? If not, what could it possibly be?

P.S. I can’t use another flow as a work around because the jump action movement takes place in the Character BP but I am driving the other animation movements via root motion. The anims will follow the Jump movement properly if activated after the Jump function, but if the animation is called before the jump action the root motion jump animation attempts to control Z and the animations look ridiculous. They work great the way I am doing it, with the exception of the Falling State animation always firing because of this bug.

Hi NtyCar,

It is difficult to evaluate this without seeing how all your blueprints are set up and interacting. Therefore, would it be possible for you to send us your project? If so, if it is small enough, you can add it as an attachment here. If it is a larger file you can provide a link to Dropbox either here or in a private message to me on our .

Thanks,

.

PM with link sent. Thanks!

Hi NtyCar,

I was investigating this issue with . While using the “Watch Variable” feature when you right click on a pin, I was able to determine that the “NotBoolean” node in the JumpingTOFallingLoop transition was not consistently reflecting the opposite value of the IsJumping variable.

I have been unable to reproduce this outside of this specific AnimBP, but I migrated it over to a smaller project and created a bug (UE-22124) with it attached. I’m hoping an engineer can figure out what is causing it from your assets and resolve this for future issues.

For the time being, I would consider drastically simplifying your jump state transitions. I don’t feel like you need so many variables to control the action of jumping. You may also benefit from creating a fresh AnimBP as these problems could be the result of a corrupt asset.

-.

Thanks . You’re right, I added several additional variables just to see if I could try different ways to do a work around and I didn’t bother cleaning them out first. Good to know about the NOT bug, and I will have to clean up the code with a fresh AnimBP. Cheers!