Skip to content

Keyframe

Supported Class Animation & Avatar

A Keyframe holds the Poses applied to joints in a Model at a given point of time in an animation. Keyframes are interpolated between during animation playback.

4 Nova members · 3 modern Roblox members not implemented yet

Description

A Keyframe holds the Poses applied to joints in a Model at a given point of time in an animation. Keyframes are interpolated between during animation playback.

Note, in most cases developers do not need to manipulate KeyframeSequences as the animation editor covers most animation functionality. However, in some cases a developer may wish to generate an animation from a Script or build their own plugin.

Structure

Keyframes are held within a KeyframeSequence and contain Pose objects. The poses are named in accordance with the BaseParts they correspond to and are structured in terms of joint hierarchy. This means each Pose is parented to the Pose corresponding to the part it is attached to.

Note, as Poses are named in accordance with the BaseParts they correspond to, animations require distinct part names to play correctly.

Interpolation

During animation playback the poses in different keyframes are interpolated between. This allows a smooth animation to be created without needing to define every frame. Note, the style of interpolation is determined in the Pose object. The Keyframe object merely holds the Poses at a defined point of time in the animation (Keyframe.Time).

Inheritance

Object → Instance → Keyframe

Nova inheritance: Instance → Keyframe

Properties

Time Supported Property The Keyframe time position (in seconds) in an animation. This determines the time at which the Poses inside the keyframe will be shown.
Time: float

This property gives the Keyframe time position (in seconds) in an animation. This determines the time at which the Poses inside the keyframe will be shown.

Note the Keyframe with the highest time value in a KeyframeSequence is used to determine the length of the animation.

Roblox documentation

Methods

AddPose Supported Function Adds a Pose to the Keyframe by parenting it to the keyframe.
Keyframe:AddPose(Instance pose)

This function adds a Pose to the Keyframe by parenting it to the keyframe. It is functionally identical to setting the pose's Instance.Parent to the keyframe.

Note, this function will not error when an instance other than a Pose is given as the pose parameter and will parent it successfully.

Roblox reference signature
Keyframe:AddPose(pose: Instance): null

Roblox documentation

GetPoses Supported Function Returns an array containing all Poses that have been added to a Keyframe.
Keyframe:GetPoses(): Objects

This function returns an array containing all Poses that have been added to a Keyframe.

Roblox reference signature
Keyframe:GetPoses(): Instances

Roblox documentation

RemovePose Supported Function Removes a Pose from the Keyframe by setting its Instance.Parent to nil.
Keyframe:RemovePose(Instance pose)

This function removes a Pose from the Keyframe by setting its Instance.Parent to nil without destroying it. This means the provided the pose is referenced and it can be re-parented later.

Note, this function will not error when an instance other than a Pose is given as the pose parameter.

Roblox reference signature
Keyframe:RemovePose(pose: Instance): null

Roblox documentation

Inherited members

Inherited from Instance: 8 properties, 36 methods, 7 events. They are documented on the base class page.

3 modern Roblox member(s) are not implemented yet — expand to inspect

Members declared by Roblox's Keyframe class (or by a missing base class) that Nova does not expose. Use this list to scope a migration; the compatibility guide has the recommended workaround.

Methods

Member Signature Status Notes Flags
AddMarker Keyframe:AddMarker(marker: Instance): null Not yet Adds a KeyframeMarker to the Keyframe by parenting it to the keyframe. —
GetMarkers Keyframe:GetMarkers(): Instances Not yet Returns an array containing all KeyframeMarkers that have been added to the Keyframe. —
RemoveMarker Keyframe:RemoveMarker(marker: Instance): null Not yet Removes a KeyframeMarker from the Keyframe by settings its Instance.Parent to nil. —

Roblox reference: Keyframe

Generated from Nova's API dump and Roblox creator-docs. Nova-only members come from the engine's reflection metadata.