Well, I'm trying to figure out how i can animation without publishing animations to the website because I'm trying to create public animations. But I'm not sure how i can do something like this. This cool plugin exists, but to frick with it. If THIS is the hierarchy and THIS is the script,
return { Properties = { Looping = false, Priority = Enum.AnimationPriority.Action }, Keyframes = { [0] = { ["HumanoidRootPart"] = { ["Torso"] = { ["Right Arm"] = { CFrame = CFrame.Angles(math.rad(-20.913), math.rad(-40.795), math.rad(59.645)), }, ["Left Arm"] = { CFrame = CFrame.Angles(math.rad(-20.913), math.rad(40.795), math.rad(-59.645)), }, }, }, }, [0.2] = { ["HumanoidRootPart"] = { ["Torso"] = { ["Right Arm"] = { CFrame = CFrame.Angles(0, 0, math.rad(90.012)), }, ["Left Arm"] = { CFrame = CFrame.Angles(0, math.rad(0.057), math.rad(-90.069)), }, }, }, }, [0.367] = { ["HumanoidRootPart"] = { ["Torso"] = { ["Right Arm"] = { CFrame = CFrame.Angles(0, 0, math.rad(0.057)), }, ["Left Arm"] = { CFrame = CFrame.Angles(0, math.rad(0.057), math.rad(-0.057)), }, }, }, }, } }
What am I supposed to do??? It doesn't include the names of the Motor6Ds it's trying to animate! Help please. Edit: Managed to get a thing like this going:
local defaultJointPos = { ["Left Hip"] = CFrame.new(-1,-1,0), ["Neck"] = CFrame.new(0,1,0), ["Left Shoulder"] = CFrame.new(-1,0.5,0), ["Right Shoulder"] = CFrame.new(1,0.5,0), ["Right Hip"] = CFrame.new(1,-1,0), ["Root Hip"] = CFrame.new(0,0,0) } local joints = { ["Left Hip"] = script.Parent.Torso["Left Hip"], ["Neck"] = script.Parent.Torso["Neck"], ["Left Shoulder"] = script.Parent.Torso["Left Shoulder"], ["Right Shoulder"] = script.Parent.Torso["Right Shoulder"], ["Right Hip"] = script.Parent.Torso["Right Hip"], ["Root Hip"] = script.Parent.HumanoidRootPart["RootJoint"] } joints["Neck"].C0 = CFrame.new(0,0,0)
But what do i do now?
What the script is doing, from my understanding, is basically building an animation by creating the keyframes. It doesn't use the name of the Motor6Ds, rather it uses the part its animating itself. Short explaination of what its doing:
[0] = { -- time at which the keyframe happens ["HumanoidRootPart"] = { -- the torso is welded to the HRP, so it comes here first ["Torso"] = { -- the arms are welded to the Torso, so it comes here first ["Right Arm"] = { -- the right arm to be animated CFrame = CFrame.Angles(math.rad(-20.913), math.rad(-40.795), math.rad(59.645)), -- changes the arms rotation to this value }, ["Left Arm"] = { -- the left arm to be animated CFrame = CFrame.Angles(math.rad(-20.913), math.rad(40.795), math.rad(-59.645)), -- changes the arms rotation to this value }, }, }, },
Comment if you didn't understand, you just need some table knowledge to be able to read this pretty easily. If you're not familiar with tables, this is called a dictionary, and you should definitely learn about them.
Off-topic though, You can just create an animation and save it to a dummy, and others can publish it, rather than doing all of this.