Keyframe(bpy_struct)

base class — bpy_struct

class bpy.types.Keyframe.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

  • AUTO Automatic Easing, Easing type is chosen automatically based on what the type of interpolation used (e.g. ‘Ease In’ for transitional types, and ‘Ease Out’ for dynamic effects).

  • 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 [‘AUTO’, ‘EASE_IN’, ‘EASE_OUT’, ‘EASE_IN_OUT’], default ‘AUTO’

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, Completely independent manually set handle.

  • ALIGNED Aligned, Manually set handle with rotation locked together with its pair.

  • VECTOR Vector, Automatic handles that create straight lines.

  • AUTO Automatic, Automatic handles that create smooth curves.

  • AUTO_CLAMPED Auto Clamped, Automatic handles that create smooth curves which only change direction at keyframes.

Type

enum in [‘FREE’, ‘ALIGNED’, ‘VECTOR’, ‘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, Completely independent manually set handle.

  • ALIGNED Aligned, Manually set handle with rotation locked together with its pair.

  • VECTOR Vector, Automatic handles that create straight lines.

  • AUTO Automatic, Automatic handles that create smooth curves.

  • AUTO_CLAMPED Auto Clamped, Automatic handles that create smooth curves which only change direction at keyframes.

Type

enum in [‘FREE’, ‘ALIGNED’, ‘VECTOR’, ‘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.

  • MOVING_HOLD Moving Hold, A keyframe that is part of a moving hold.

  • 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’, ‘MOVING_HOLD’, ‘EXTREME’, ‘JITTER’], default ‘KEYFRAME’

classmethod bl_rna_get_subclass(id, default=None)
Parameters

id (string) – The RNA type identifier.

Returns

The RNA type or default when not found.

Return type

bpy.types.Struct subclass

classmethod bl_rna_get_subclass_py(id, default=None)
Parameters

id (string) – The RNA type identifier.

Returns

The class or default when not found.

Return type

type

Inherited Properties

  • bpy_struct.id_data

Inherited Functions

  • bpy_struct.as_pointer

  • bpy_struct.driver_add

  • bpy_struct.driver_remove

  • bpy_struct.get

  • bpy_struct.is_property_hidden

  • bpy_struct.is_property_overridable_library

  • bpy_struct.is_property_readonly

  • bpy_struct.is_property_set

  • bpy_struct.items

  • bpy_struct.keyframe_delete

  • bpy_struct.keyframe_insert

  • bpy_struct.keys

  • bpy_struct.path_from_id

  • bpy_struct.path_resolve

  • bpy_struct.pop

  • bpy_struct.property_overridable_library_set

  • bpy_struct.property_unset

  • bpy_struct.type_recast

  • bpy_struct.values

References

  • FCurve.keyframe_points

  • FCurveKeyframePoints.insert

  • FCurveKeyframePoints.remove