3
$\begingroup$

I have a very low-poly model with an armature, animated with 4 key-frames over a cycle that I want to repeat seamlessly and smoothly. In Blender itself, I get a mostly smooth rotation, but with a slight hesitation at the repeat.

I've seen a video that suggests "altering the f-curve to linear rather than Bezier", but have failed to find how to achieve that.

See the way the motion slows, stops and resumes as the right foot reaches the top of the stroke (reduced frame rate to make the hesitation more obvious):

enter image description here

Also, when I export the model as a .dae for its ultimate use in SceneKit, the circular nature of the motion is lost and I'm left with linear interpolation between the keyframes (90 degrees of rotation each). Possibly the solution is the same for each problem? Or do I need every frame to be a keyframe?

enter image description here

$\endgroup$
0
$\begingroup$

I resolved the first issue by deleting all of my auto-generated keyframes as they'd recorded positions and angles for all of my model. I then re-created four keyframes manually (right-click the relevant property, in this case the W of the rotation, and select 'Make single keyframe'). Selecting them all in a graph editor window then allowed me to:

a) Make a cycle (Shift-e) b) Apply linear interpolation (T)

This produced a smooth rotation in Blender, although something strange happened to make the direction the opposite of what I'd configured, so I reversed the slope in the graph editor.

Exporting the result still produced only linear interpolation between the four keyframes in SceneKit, so I used the graph editor again to make an actual keyframe at every interpolated point (a total of 40). I'm sure this isn't the ideal solution, but it does work.

$\endgroup$
  • $\begingroup$ I've been away from this project for a while and haven't had chance to check this, but I hope/expect that the 'bake animations' option on export will allow me to have only the minimum required keyframes in my model, but still have the intended smooth circular motion in SceneKit. $\endgroup$ – Chris Jan 28 at 8:55

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.