1

I have N objects in a scene and each has baked keyframes on some frame_start, frame_end interval.

Can anyone help me to write a script to scale keyframes for all of the objects along x axis and set interpolation type to constant. I cannot find an appropriate function to scale that programmatically.

thanks

1 Answers1

1

I found a solution, however it resizes keypoints around arbitrary point.

old_type = bpy.context.area.type
bpy.context.area.type = 'GRAPH_EDITOR'
bpy.ops.graph.interpolation_type(type='CONSTANT')
bpy.context.scene.frame_current = 1
bpy.ops.transform.resize(value=(6, 1, 1))
bpy.context.area.type = old_type
  • The arbitrary point will be the centre of the selected keyframes. This answer might interest you to get the first of the selected frames to the frame you want. – sambler Aug 09 '14 at 09:32