The first time around the transition is instant, here is the “JumpLand” state after the first time passing through the transition:
As you can see from the amount of the animation that has played, it was just the time for the transition length. Usually the animation would play to the end.
However, when going through the transition a second, or any further amount of times, the animation plays all the way through as intended.
If I replace the transition with the old “Time Remaining” node everything works fine the first time around.
I replaced the “Time Remaining Ratio” with the “Get Relevant Anim Time Remaining” node for both the Enter JumpLoop transition and the transition from JumpEnd to the IdleWalkRun blendspace.
If you can see something I’m missing in my reproduction, let me know. Otherwise, you can send your project as an attachment in a zip file here, via Dropbox, or as a private message to me on the .
As far as I can tell you have the same setup as I do.
My project is quite large, and I have amazingly slow upload speeds.
I just started downloading 4.9.1 before you replied. As soon as the update is done I will try and replicate the issue in a small project, and then I’ll get back to you.
Okay, I was able to replicate the error in a new ThirdPerson project in 4.9.1.
The first time the character jumps, the JumpStart animation only plays for I believe however long the transition takes.
It’s difficult to spot, but if you look at the legs on the character you’ll notice. Also, if you look at the Animation Blueprint while the game is active, the slider will stop only slightly into the animation the first time.
Once the transition has been taken once, it seems to work correctly.
Thanks for taking the time to submit a sample project and clarifying where the lag is occurring. I have used this information to submit the following bug report: JIRA [21137]. When this issue has been corrected we will notify you with an update to this post.
This bug is still on the list to be fixed. When a bug has been fixed we update the original post the bug was reported on (in this case, this one) in order to help keep track of what is opened and what needs to be addressed. I will, however, make a note on the report that there is increased interest in this issue.
Relevant time remaining seems to return 0.0 for a single tick, before it starts returning the proper value (I’m guessing the bug is that it takes one tick to determine which animation is the relevant one). So the workaround is to exclude time remaining == 0.0 from your transition rule. That is, use float in range instead, with Inclusive Min: false:
Thanks for the workaround! That works! Looking at the code, the issue is indeed that on the first frame, the blend weight of everything is still 0 at the time the anim graph is evaluated, and that’s what’s used to determine relevancy.
Still seemed bugged…
I also went with a bool to work around but its a bit of a hassle since now I have to add a delay the length of the animation every time i want to make sure. But it seems to be happen at random and more so the more complex the state is.