How to alter the animation rate of a given animation?

Hey all.

I’ve got a character with a blend sequence with idle/walk/run as per the typical third person blueprint setup. I added in a walk/run toggle in blueprint but merely setting the speed of the character movement isn’t enough because during walk the character tends to move slower than the animation plays and i get a sort of reverse moonwalk.

What I need is to be able to change the rate of the animation when the toggle happens so that the foot plants match the walk/run state. But I can’t find the correct node for setting the animation rate for the walk cycle. Anyone know where I’d find that or what its called?

Ta.

I may not be understanding you correctly, but you can easily set the play rate of your blendspace dynamically. Just select the idle/run Blendspace in your animGraph, look down under Settings, and check the box beside ‘(As pin) Play Rate’. That will give you a PlayRate input pin on your Blendspace node that you could connect a variable to for slowing things down when the walk animation still feels too fast.

Alternately, you could adjust where the walk animation is placed in your BlendSpace. In the Third Person example BlendSpace, the Walk is on the graph at speed 93.75. However, if the walk was authored at a speed of 150, it’s obviously not going to look right playing when the character’s speed is 90. So, you could edit where it falls along the Speed axis of the BlendSpace. The anim node must fall on one of the axis divisions in the Blendspace (in the TPP example there’s 4 divisions), but you can easily add more under Parameters if you need additional granularity.

Good luck!

Ok, Ray already answered this question, but I didn’t really read it well so I had a lot of problems finding this ‘Play Rate’. Maybe another description and an image will be helpful.

You need to do the following:

  1. Open animation blueprint
  2. Go to Graph editing mode (the 4th one in the upper right corner)
  3. Open AnimGraph or your state or wherever it is that you are playing the animation
  4. Select the graph node that plays the animation
  5. In your Details tab (the tab name ‘Details’ might be hidden - see image) in Setting group check (As Pin) Play Rate

Note: Get Move Play Rate is my custom function, you use whatever you need to calculate the play rate from Speed. Speed itself in calculated like in this Unreal tutorial.

This was exactly what I was looking for. Thanks!

I found better luck changing the max walk speed of the movement component with a timeline to match the animation.

Can you please explain how to make that custom function. I’ve been stuck on this for days now.

Hi,
Can you add an image showing how you did this?
Thanks