I asked this on the forum but got no responses. So I’ll try again. I have set up my character so that as I press w or s the character slowly accelerates to full speed. However at really slow speeds when it starts to move or when stopping at slow speeds the character takes these small chicken steps:
That gif shows speed increasing from 0 to max and then slowly back to 0.
How do I fix that? I have tried making another animation for slow speeds but it still does that at low speeds when it starts to move. I’m sure there is a setting somewhere that I can’t find.
My assumption here is that because blendspace linearly interpolates between animations it scales both the speed and movement coordinates of the bones of the animations. So if my animation is set to speed 100% and my character takes steps those steps are 100 units long. At 50% speed the steps are 50 units long. At 1% speed 1 units long… How do I get it that at 0.5 speed my character still takes 100 unit long steps but the animation just plays slower?
Hi there,
First off, I am not an animation/animation programming expert by any means, so this may not be the best solution, but I’ve had success with it in similar situations as you.
One thing you could try is changing the “Play Rate” of the animation instead of trying to blend between animations with a blend space. For example, in your animation blueprint you’d have a Idle/Walk state, wherein you could have your idle and walk animations and blend between them based on a boolean (just so the transition doesn’t look static). But for the walk animation, you’d expose the “Play Rate” pin and then you could change that value by using a ratio of your character’s current speed to max walking speed (or however you want to determine the play rate). This would effectually play the same animation (with full stride length in the walk anim, not an interpolated value based on speed) but at faster or slower speeds.
Here’s a example. Sorry for no sound, but hopefully the comments on nodes help get the point across.
Hope that helps!
Thanks for the response. I tried doing what you show in the video but all I could get my character to do is to slightly lift his left foot (to start the walk animation) and then it sort of glides on one foot. So my assumption is that the walking animation plays like 10% and then stops. I have set it to loop. Maybe I’ve broken something as I’ve been mad doctoring all my anim settings trying to find the miracle setting :).
I’d guess my next step is to simply add hundred grid divisions on the speed axis on my blendspace and then make animation for the slowest speed blend in as soon as the character starts moving.