Download

Blender animation, selecting keyframe range for import to UE4?

Hey,

I’m currently creating animations in blender and found some snags which I personally don’t like. I’ll tell you the problem I was having in blender which has now created a problem with importing my animations to the Unreal Engine.
I noticed that with blender when you create an animation, the first frames seem to start off slow and then suddenly speed up. This isn’t good when I want to create a smooth flowing animation where everything moves at a constant rate. To combat this I basically duplicated my animation in blender and started it from the middle, so that the frames still last as long. This doesn’t give me the speeding up effect at the begging and slowing down effect at then end.

Now when I import my animation to unreal it uses all the keyframes, even though I have chosen to only use 60 of them. If I specify a range, the range isn’t what I specified in the Unreal Engine on import.

What I am wondering is this,
Is there an option in blender to stop this slowing down and speeding up at the start and finish? (That would be the most desirable option)
Can I export my animation choosing the keyframe range?
I imagine its due to the fps that Unreal is not using the range specified and I haven’t looked at changing the frame rate on my animation but am I right in assuming this?

I know a solution to my problem by selecting the 2nd and the 2nd to last frames in my good frame range and copying them to the start of the animation 2nd and 2nd to last, then deleting everything else. But I would like to know the above?

Thanks for reading.

Haven’t worked with blender animation import (yet), however most likely you’re supposed to store individual animations as action strips/clips instead of trying to cram them all into global animation timeline. If you do that, they’ll be saved as separate animation sequences when you export to fbx.

See:
http://wiki.blender.org/index.php/User:Rking/Doc:2.6/Manual/Animation/Editors/NLA

You misread my question and you didn’t even answer any of mine! Its a single animation, a walk animation but I have had to duplicate the animation in blender and play it from the middle so I don’t get the speeding up effect at the start and the slowing down at the end… So I have selected keyframes range in the middle, removes this effect that blender automatically applies…

That’s not how it works.
No offense, but I’m not your personal technical support and not obliged to do anything specifically for you or be anything specific for you as long as I’m acting within forum rules. When people misunderstand something, be polite and explain stuff to them. Then you’ll get help.

Now getting back to your question:

Select a bone, go to graph editor view, set extrapolation mode to Cyclic and check if curves look smooth. Extrapolation mode can be changed via channel menu.
Also, by default blender uses bezier interpolation for animation curves, so you could move bezier handles around and get desured rate if change (even non-linear one).
In some cases it is simpler to set interpolation mode to “linear”, though.
Interpolation mode can be changed via Key menu. Available modes are linear, bezeir and constant.

For smooth looping animations you’ll need to set “Extrapolation” mode.
To make some animation speedup or slowdown between keys, change “interpolation” mode.

https://www.blender.org/manual/animation/editors/graph.html

Hey. If I understood correctly your looking for linear curve to your animation. This http://blender.stackexchange.com/questions/1579/how-do-i-make-animations-a-steady-speed pretty much covers how to do it. By default blender applies smoothing curve to your animation and that results to your animation start and end smoothed. When you change to linear curve your animation will not have any smoothings and should go trough with constant speed.
Unfortunately I don’t know how you limit the frames when exporting, have not worked enough with the subject. Only thing I can think of is to set the start and end frames to desired but no idea if that works.

Sorry I wasn’t being rude, you still helped me though :P, no serious I thought you was just posting for the sake of it at first.
That’s exactly what I was looking for, thank you for your time I appreciate it.

Sure. Have fun.

Well errm, I changed it to linear and the animation is kinda jerky now lol… I guess you have to create your animation in this mode from the start for it to suit. I just deleted the frames before and after and moved the animation to the start, I can’t really see the slowing down and speeding up any more so that’s a win.

Edit: Instead with the middle chunk I was using on the 2nd and 2nd to last frame, I selected all and and inserted a key frame, so when I move it back to zero, it will not be very slow at first or the very end making it look like its almost frozen for a frame :D. Its all good now.

No NegInfinity you helped so thanks

You don’t have to use linear interpolation, if you don’t like it.

The point of linear interpolation is that it is easier to control (because you don’t have to deal with bezier handles). It is also easier to animate robot-like movement with it or when you need abrupt change of speed.

I think it will be mostly useful for initial “blocking out” of the animation - i.e. when you setup the first poses to get the rough idea how movement will go. You can make entire animation with it, of course, but you’ll probably need more keyframes.

If you need smooth sweeping motion, than bezier will be probably the better idea.

Either way just experiment with interpolation modes and see which one works for you.

To ensure that the animation loopsproperly you’ll need to set extrapolation mode I mentioned.