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/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.
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 wait(2) keyframe:RemovePose(pose) -- pose.Parent = nil wait(2) keyframe:AddPose(pose) -- pose.Parent = keyframe wait(2) pose:AddSubPose(pose2) -- pose2.Parent = pose wait(2) pose:RemoveSubPose(pose2) -- pose2.Parent = nil