local function getJointBetween(part0, part1) for _, obj in pairs(part1:GetChildren()) do if obj:IsA("Motor6D") and obj.Part0 == part0 then return obj end end for _, obj in pairs(part0:GetChildren()) do if obj:IsA("Motor6D") and obj.Part1 == part1 then return obj end end end local function applyKeyFrame(rig, poseKeyframe) local function recurApplyPoses(parentPose, poseObject) if parentPose then if rig:FindFirstChild(parentPose.Name) and rig:FindFirstChild(poseObject.Name) then local joint = getJointBetween(rig[parentPose.Name], rig[poseObject.Name]) if joint then joint.C1 = joint.C1 * poseObject.CFrame:inverse() end end end for _, subPose in pairs(poseObject:GetSubPoses()) do recurApplyPoses(poseObject, subPose) end end for _, poseObj in pairs(poseKeyframe:GetPoses()) do recurApplyPoses(nil, poseObj) end end
From: http://wiki.roblox.com/index.php?title=API:Class/Keyframe
From what I understand, its supposed to convert animations created with the animation editor to CFrames that can be applied to a rig, is this correct? If not, what does it do and how do I use it?