# Can F-Curves be used to define interpolation between keyframes?

What I'm trying to do specifically is animate a punch. With the default Bezier curves, the interpolation between the "wind-up" and "contact" poses gets eased in AND eased out. This effectively makes it appear that the punch is being pulled. The character accelerates into the punch just as he should, but then begins to slow again right before contact. I'd like to have the interpolation such that he eases in and then continues to accelerate through. In principle I know how to do this with the graph editor, but this action involves a shift in balance so almost every bone in the body changes position between poses, and I really don't want to tweak the graphs for each property on each bone individually. Is there a way to fine-tune keyframe-level interpolation in Blender? Perhaps by animating a single property that represents a 0-1 weighting between poses? I feel like I could probably hack something together with drivers, but I'm really not sure how to do that in the context of poses and figured there might be a better way anyway. What's the proper approach in a situation like this?

EDIT: One solution I've found is to use a Python script to automatically position the left handles of all selected keyframes to sit on top of their respective control_points. This basically achieves the effect @cegaton was suggesting.

import bpy

C = bpy.context.object

for fcurve in C.animation_data.action.fcurves:
for kf in fcurve.keyframe_points:
if kf.select_control_point:
kf.handle_left = kf.co[:]


I'd consider this a quick hack though and not really resolution to the original question. I'm still wide open if anyone has any other ideas.

• You can change the type of interpolation used on the keyframes. You probably need the movement to start as bezier but end as linear. Read: blender.org/manual/editors/graph_editor/fcurves/… – user1853 Aug 13 '16 at 2:19
• @cegaton Thanks, but already tried that. The interpolation mode you choose for a keyframe gets applied to the interval between the selected keyframe and the one immediately following it. There doesn't seem to be any option to apply different modes to different parts of the same interval, or to the "back and front" of a keyframe. – AIGuy110 Aug 13 '16 at 4:00