Motor6d to weld problem

Hello! I’m trying to create a temporary weld on people’s right arm so I could manipulate that said weld to make the arm point at wherever I want while holding stuff but for some reason applying the C0 of a motor6d to a weld seems to cause some weird offset.

I’ve tried waiting and even creating that said weld in run time manually through the command bar but the same problem still occurs:
image

This is what I’m running in the command bar:

local Character = game.Players.LocalPlayer.Character
local ArmWeld = Instance.new("Weld", Character)
ArmWeld.Part0 = Character.UpperTorso
ArmWeld.Part1 = Character.RightUpperArm
ArmWeld.C0 = Character.RightUpperArm.RightShoulder.C0

I need to be able to use welds as I don’t wanna constantly fight back and forth w the animator so I could leave all the other anims working while also being able to disable/enable the arm fallowing easily so please don’t recommend work arounds and explain how I could calculate what the C0 should be when the character isn’t playing any animations, thanks!

1 Like

Well turns out I should’ve spent some more time before asking because I’ve found the solution!
I just had to add the size of the part I was trying to weld multiplied by Vector3.new(.5, -.25)

local Character = game.Players.LocalPlayer.Character
local ArmWeld = Instance.new("Weld", Character)
local Torso, Arm = Character.UpperTorso, Character.RightUpperArm
ArmWeld.Part0 = Torso
ArmWeld.Part1 = Arm
ArmWeld.C0 = Arm.RightShoulder.C0 + Arm.Size * Vector3.new(.5, -.25)