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)

co_ui

Coordinates of the control point. Note: Changing this value also updates the handles similar to using the graph editor transform operator

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

Inherited Functions

References