We use cookies on this site to enhance your user experience
Collapse Sidebar




The EasingDirection determines the ‘direction’ of the interpolation style set by Pose/EasingStyle. Along with Pose/EasingStyle, it determines how the joint will interpolate from this Pose to the subsequent Pose during animation playback.

##Pose EasingDirection Values

  • In - Interpolation will play forwards, default value for poses
  • Out - Interpolation will play in reverse, default value in animation edtior
  • InOut - Interpolation will play forwards, then reverse at the mid-point

Note, this property is a Enum/PoseEasingDirection, which despite sharing the same options is different to the Enum/EasingDirection used by other objects. Attempting to set this property to an Enum/EasingDirection value will produce an error.

##Pose Interpolation

The Pose/CFrame of each Pose determines the Motor6D/Transform of the joint associated with the pose at the time of its parent Keyframe. It does not reach this value instantly, but interpolates from the previous pose applied to that joint (which may not necessarily be in the previous keyframe).

The way in which a joint will interpolate between two Poses during animation playback is determined by the Pose/EasingStyle and EasingDirection of the first pose.

Code Samples

Keyframe Add/Remove Pose

This sample demonstrates quickly the Keyframe.AddPose, Keyframe.RemovePose and Pose.AddSubPose and Pose.RemoveSubPose functions. Note these are functionally equivalent to parenting and un-parenting the poses.

local keyframe = Instance.new("Keyframe", workspace)

local pose = Instance.new("Pose")
pose.EasingStyle = Enum.PoseEasingStyle.Cubic
pose.EasingDirection = Enum.PoseEasingDirection.Out
local pose2 = Instance.new("Pose")
pose2.EasingStyle = Enum.PoseEasingStyle.Cubic
pose2.EasingDirection = Enum.PoseEasingDirection.Out

keyframe:AddPose(pose) -- pose.Parent = keyframe


keyframe:RemovePose(pose) -- pose.Parent = nil 


keyframe:AddPose(pose) -- pose.Parent = keyframe


pose:AddSubPose(pose2) -- pose2.Parent = pose


pose:RemoveSubPose(pose2) -- pose2.Parent = nil