Go to: Return value. Related commands. Flags. Examples.

Synopsis

setKeyframe [flags] [objects]

This command creates keyframes for the specified objects, or the active objects if none are specified on the command line. The default time for the new keyframes is the current time. Override this behavior with the "-t" flag on the command line. The default value for the keyframe is the current value of the attribute for which a keyframe is set. Override this behavior with the "-v" flag on the command line. When setting keyframes on animation curves that do not have "time" as an input attribute (ie, they are unitless animation curves), use "-f/-float" to specify the unitless value at which to set a keyframe. The -time and -float flags may be combined in one command. This command sets up Dependency Graph relationships for proper evaluation of a given attribute at a given time.

Return value

int Number of keyframes set by this command.

Related commands

autoKeyframe, setDrivenKeyframe, findKeyframe, setKeyPath

Flags

attribute, breakdown, clip, controlPoints, float, hierarchy, inTangentType, insert, insertBlend, minimizeRotation, outTangentType, shape, time, value

Long name (short name)[argument types]Properties
-attribute (-at) stringcreatemultiuse
Attribute name to set keyframes on.
-insert (-i) create
Insert keys at the given time(s) and preserve the shape of the animation curve(s).
-inTangentType (-itt) stringcreate
The in tangent type for keyframes set by this command. Valid values are "spline," "linear," "fast," "slow," "flat," "step," and "clamped." Default is "keyTangent -q -g -inTangentType"
-outTangentType (-ott) stringcreate
The out tangent type for keyframes set by this command. Valid values are "spline," "linear," "fast," "slow," "flat," "step," and "clamped." Default is "keyTangent -q -g -outTangentType"
-hierarchy (-hi) stringcreate
Controls the objects this command acts on, relative to the specified (or active) target objects. Valid values are "above," "below," "both," and "none." Default is "hierarchy -query"
-shape (-s) booleancreate
Consider attributes of shapes below transforms as well, except "controlPoints". Default: true
-controlPoints (-cp) booleancreate
Explicitly specify whether or not to include the control points of a shape (see "-s" flag) in the list of attributes. Default: false.
-insertBlend (-ib) booleancreate
If true, a pairBlend node will be inserted for channels that have nodes other than animCurves driving them, so that such channels can have blended animation. If false, these channels will not have keys inserted. If the flag is not specified, the blend will be inserted based on the global preference for blending animation.
-time (-t) timecreatemultiuse
Time at which to set a keyframe on time-based animation curves.
-float (-f) floatcreatemultiuse
Float time at which to set a keyframe on float-based animation curves.
-value (-v) doublecreate
Value at which to set the keyframe. Using the value flag will not cause the keyed attribute to change to the specified value until the scene re-evaluates. Therefore, if you want the attribute to update to the new value immediately, use the setAttr command in addition to setting the key.
-breakdown (-bd) booleanquerycreateedit
Sets the breakdown state for the key. Default is false
-clip (-c) stringcreate
Specifies that the new key should be placed in the specified clip. Note that if the objects being keyframed are not already part of the clip, this flag will be ignored.
-minimizeRotation (-mr) booleancreate
For rotations, ensures that the key that is set is a minimum distance away from the previous key. Default is false

Flag can appear in Create mode of command Flag can appear in Edit mode of command
Flag can appear in Query mode of command Flag can be used more than once in a command

Examples

	// Set a keyframe at the current time on all "keyable"
	// attributes of the selected objects.
	//
	setKeyframe;

	// Set a keyframe so that translateX has a value of 10
	// at the current time, regardless of its current position
	//
	setKeyframe -v 10 -at translateX;

	// Set keyframes for translateX on two objects at t=0 and
	// t=10 seconds.  (Note that if mysteryObject has no 
	// attribute named translateX, no keyframe is set for mysteryObject.)
	//
	setKeyframe -attribute "translateX" -t 0sec -t 10sec nurbsSphere1 mysteryObject;