Lately, I've been trying animating on blender, at this point I'm not even sure if I've mastered the basics but in an excited hurry to utilise blender's animation editor I created this choppy, inconsistent mess with a tail model I rigged and a few other unrefined works just like it:

enter image description here

It doesn't take a second glance at it to realise how awful it is. I'd like to make the animation more smooth and I'd greatly appreciate any tips/advice that would help me in doing so.

This is the dope sheet for the animation:

enter image description here

Thank you


1 Answer 1


A smooth effect is extremely easy to create, utilizing interpolation in 3D animation. Make sure your bone chain is fully forward kinematic.

  1. Set a key for both extreme position and copy the first extreme and insert it at the end again. This results in the two keyframes A > B > A'. I created the pose by switching to Individual origins so that I could rotate all of the bones at once. I created the inverse keyframe by ⎈ Ctrl⇧ ShiftV pasting the pose.
    two keys
  2. Make the animation repeat by pressing ⇧ ShiftE in the dope sheet and selecting Make Cyclic.
    Cyclic Repeat
  3. The child joints of a chain would move after their parent joints. This is what the overlapping action principle of animation embodies. Grab the keyframes of the child bones and offset them one by one.
    offsetting child joints

  • If you want more overlap (resulting in a snake-like action) increase the offset of the keys.
  • If you want less overlap (resulting in a more stiff / rigid action, e.g. a dinosaurs tail) decrease the offset of the keys.
  • If you want more movement in general, go to the graph editor and scale the curves along their Y axis.
  • If some joints are shorter than other, their animation would likely have a smaller magnitude. This can be respected while setting the keys in the beginning.
  • Adjacent shorter joints would also have less offset in timing than adjacent larger joints.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .