Trouble rigging/animating tool (Solved)

So I’m very new to animating and rigging and was trying to animate my sword so it rested on the back of my player. Which is surprisingly extremely difficult to do.

I figured out most of the process but its still not working as intended.

Here is the rig I’m using:
{A5B2E326-115F-42BC-9D02-E2583FD20FB5}
And these are the objects in the dummy (SwordHilt is the sword):
{E1F446F2-D7B6-49E5-80DC-CF3062E61C08}
This is what the animation is SUPPOSED to look like:
{B7B386C1-FFCD-46BA-858D-828B02B3EB49}

{22C6506E-6A27-4954-93BA-67B23737BA79}

And instead this is what it comes out looking like:
{8C63EEC0-1967-4DFC-B37D-7C0C7F56A8D1}
{18A59518-8309-43A6-9D74-E509F7DA69FE}

I have no idea why it isn’t working, please let me know if you need any more info.

Thanks.

Your problem is that you are using a weld constraint to attach the sword. WeldContraints ensure two part stay in relative position. Instead you need to create a joint from the hand to the sword. Also it looks like the sword is connected to the torso.

The sword is connected to the HumanoidRootPart through this rig plugin named RigLite by Arch_Mage.

So I now have the hinge constraint going from the sword handle to the right arm and I have the weld constraint going from the sword handle to the sword model and nothing changed. Is there some coding I need to do or something?

Bumping as problem is still not yet fixed.

After many HOURS of tinkering I finally got it to work. For anyone in the future who has trouble with this, here’s exactly what I did:

  1. Download this plugin by Arch_Mage for rigging https://create.roblox.com/store/asset/1274343708/RigEdit-Lite

  2. Create a small “Handle” on your tool that will be the guide for your model when animating and weld the two together:

  3. Parent this tool to the dummy you are going to use for animating and align it to the limb it’ll be in (in my case it was the right arm):
    {C2DF5CB1-4AFD-44C5-B073-366A1ECA1DE5}

  4. You are going to rig your weapon model to the player. In order to do this you want to open the RigLite plug in and do the following:

  1. You are now going to start animating
  1. Coding everything
    In order to code the animation you’re going need the following:

Now here is my code (this is a LOCAL script):
I start by loading the animations in:

local tool = script.Parent
local handle = tool:WaitForChild("Handle")

local f_animations = tool:WaitForChild("Animation")
local ani_idle = f_animations:WaitForChild("Idle1")

local track_idle = animator:LoadAnimation(ani_idle)
track_idle.Looped = true
track_idle.Priority = Enum.AnimationPriority.Movement

{D16F7555-9FC9-484E-9374-5152350DC648}

Then I will run the Equipped() function, once it’s been equipped

local function Equipped()
	track_idle:Play()
	
	local swordhilt = Instance.new("Motor6D", hrp)
	swordhilt.Name = "SwordHilt"
	swordhilt.C0 = CFrame.new(1.375, -0.831, -0.618) * CFrame.Angles(0, math.rad(180), math.rad(180))
	swordhilt.C1 = CFrame.new(0, 0, 0) * CFrame.Angles(math.rad(-90), 0, 0)
	swordhilt.Part0 = char["Right Arm"]
	swordhilt.Part1 = handle
end
tool.Equipped:Connect(function()
	Equipped()
end)

The MAIN step here was this: swordhilt.Part0 = char["Right Arm"]
I have no idea why the .Part0 shouldn’t be the HumanoidRootPart but if you make the Right Arm it’ll work out.

Good luck and let me know if you are having trouble!

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.