AnimationClip
The non-creatable AnimationClip instance type represents abstract animation data that can be fed to the Roblox animation system. KeyframeSequence and CurveAnimation are two current instance types that inherit from AnimationClip.
There are different ways to represent animation data. To simplify the use of Roblox's animation system, all such representations are their own instance types but inherit from the AnimationClip instance. Animation clips published to Roblox via the Animation Editor can be loaded into the Roblox engine using an Animation instance.
Summary
Properties
Determines whether the animation stored in this AnimationClip is intended to loop.
Determines which clip takes priority when multiple animations are playing simultaneously.
Properties
Loop
Determines whether the animation stored in this AnimationClip is intended to loop. When set to true, the animation will continuously repeat each time it finishes.
Note that AnimationTrack instances internally load an AnimationClip when an Animation is requested via its AnimationId, and the AnimationTrack.Looped property will default to the original AnimationClip value. Note also that this value can be overwritten.
Priority
Determines which clip takes priority when multiple animations are playing simultaneously. Multiple playing animations look to this property to figure out which Keyframe poses should be played over one another.
Note that AnimationTrack instances internally load an AnimationClip when an Animation is requested via its AnimationId, and the AnimationTrack.Priority property will default to the original AnimationClip value. Note also that this value can be overwritten.
Code Samples
-- create the keyframesequence
local keyframeSequence = Instance.new("KeyframeSequence")
keyframeSequence.Loop = false
keyframeSequence.Priority = Enum.AnimationPriority.Action
-- create a keyframe
local keyframe = Instance.new("Keyframe")
keyframe.Time = 0
-- create sample poses
local rootPose = Instance.new("Pose")
rootPose.Name = "HumanoidRootPart"
rootPose.Weight = 0
local lowerTorsoPose = Instance.new("Pose")
lowerTorsoPose.Name = "LowerTorso"
lowerTorsoPose.Weight = 1
-- set the sequence hierarchy
rootPose:AddSubPose(lowerTorsoPose) -- lowerTorsoPose.Parent = rootPose
keyframe:AddPose(rootPose) -- rootPose.Parent = keyframe
keyframeSequence:AddKeyframe(keyframe) -- keyframe.Parent = keyframeSequence
-- parent the sequence
keyframeSequence.Parent = workspace