Keyframe(bpy_struct)

base class — bpy_struct

class bpy.types.Keyframe(bpy_struct)

Bezier curve point with two handles defining a Keyframe on an F-Curve

amplitude

Amount to boost elastic bounces for ‘elastic’ easing

Type:float in [0, inf], default 0.0
back

Amount of overshoot for ‘back’ easing

Type:float in [-inf, inf], default 0.0
co

Coordinates of the control point

Type:float array of 2 items in [-inf, inf], default (0.0, 0.0)
easing

Which ends of the segment between this and the next keyframe easing interpolation is applied to

  • EASE_IN Ease In, Only on the end closest to the next keyframe.
  • EASE_OUT Ease Out, Only on the end closest to the first keyframe.
  • EASE_IN_OUT Ease In and Out, Segment between both keyframes.
Type:enum in [‘EASE_IN’, ‘EASE_OUT’, ‘EASE_IN_OUT’], default ‘EASE_IN’
handle_left

Coordinates of the left handle (before the control point)

Type:float array of 2 items in [-inf, inf], default (0.0, 0.0)
handle_left_type

Handle types

  • FREE Free.
  • VECTOR Vector.
  • ALIGNED Aligned.
  • AUTO Automatic.
  • AUTO_CLAMPED Auto Clamped, Auto handles clamped to not overshoot.
Type:enum in [‘FREE’, ‘VECTOR’, ‘ALIGNED’, ‘AUTO’, ‘AUTO_CLAMPED’], default ‘FREE’
handle_right

Coordinates of the right handle (after the control point)

Type:float array of 2 items in [-inf, inf], default (0.0, 0.0)
handle_right_type

Handle types

  • FREE Free.
  • VECTOR Vector.
  • ALIGNED Aligned.
  • AUTO Automatic.
  • AUTO_CLAMPED Auto Clamped, Auto handles clamped to not overshoot.
Type:enum in [‘FREE’, ‘VECTOR’, ‘ALIGNED’, ‘AUTO’, ‘AUTO_CLAMPED’], default ‘FREE’
interpolation

Interpolation method to use for segment of the F-Curve from this Keyframe until the next Keyframe

  • CONSTANT Constant, No interpolation, value of A gets held until B is encountered.
  • LINEAR Linear, Straight-line interpolation between A and B (i.e. no ease in/out).
  • BEZIER Bezier, Smooth interpolation between A and B, with some control over curve shape.
  • SINE Sinusoidal, Sinusoidal easing (weakest, almost linear but with a slight curvature).
  • QUAD Quadratic, Quadratic easing.
  • CUBIC Cubic, Cubic easing.
  • QUART Quartic, Quartic easing.
  • QUINT Quintic, Quintic easing.
  • EXPO Exponential, Exponential easing (dramatic).
  • CIRC Circular, Circular easing (strongest and most dynamic).
  • BACK Back, Cubic easing with overshoot and settle.
  • BOUNCE Bounce, Exponentially decaying parabolic bounce, like when objects collide.
  • ELASTIC Elastic, Exponentially decaying sine wave, like an elastic band.
Type:enum in [‘CONSTANT’, ‘LINEAR’, ‘BEZIER’, ‘SINE’, ‘QUAD’, ‘CUBIC’, ‘QUART’, ‘QUINT’, ‘EXPO’, ‘CIRC’, ‘BACK’, ‘BOUNCE’, ‘ELASTIC’], default ‘CONSTANT’
period

Time between bounces for elastic easing

Type:float in [-inf, inf], default 0.0
select_control_point

Control point selection status

Type:boolean, default False
select_left_handle

Left handle selection status

Type:boolean, default False
select_right_handle

Right handle selection status

Type:boolean, default False
type

Type of keyframe (for visual purposes only)

  • KEYFRAME Keyframe, Normal keyframe - e.g. for key poses.
  • BREAKDOWN Breakdown, A breakdown pose - e.g. for transitions between key poses.
  • EXTREME Extreme, An ‘extreme’ pose, or some other purpose as needed.
  • JITTER Jitter, A filler or baked keyframe for keying on ones, or some other purpose as needed.
Type:enum in [‘KEYFRAME’, ‘BREAKDOWN’, ‘EXTREME’, ‘JITTER’], default ‘KEYFRAME’

Inherited Properties

Inherited Functions

References

Previous topic

KeyboardSensor(Sensor)

Next topic

KeyingSet(bpy_struct)