In this video we create a text based animation an modify the animation curves in order to get an overshoot effect.
Here's the script we used to stagger the keyframes (thanks to BA user Liero):
offset actions in time
offset = 0.25 ## offset in frames
noise = 50 ## add some offset variation (set to 0 to disable)
reset = False ## enable to align actions to frame 0
import bpy, random
objs = [o for o in bpy.context.selected_objects if o.animation_data]
for i,o in enumerate(objs):
act = o.animation_data.action
delta = offset * i
delta += random.random() * noise
if reset: delta = act.frame_range[0] * -1
for fcu in act.fcurves:
for k in fcu.keyframe_points:
k.co[0] += delta
k.handle_left[0] += delta
k.handle_right[0] += delta