Trouble with orientation changing

I’ve been trying to make a locker GUI, essentially attaching a watch to the players arm, although the problem is I cannot get the right orientation in the arm since the animation is constantly moving it as the screenshot shows when moving it attaches in a really weird way vs how it attaches when the player isn’t moving.
I’ve looked a bit to try and find solutions to this but I’m not sure where to start.

2unknown
vs
unknown

-- 			local W = Instance.new("WeldConstraint")
			local Prime = Stor.SPLockers[B]:Clone()
			W.Parent = Character[Type]
			Prime.BASE.Anchored = false
			Prime.Parent = Character[Type]
			Prime:SetPrimaryPartCFrame(CFrame.new(Character[Type].Position) * CFrame.Angles(math.rad(Character[Type].Orientation.x),math.rad(Character[Type].Orientation.y),math.rad(Character[Type].Orientation.z)))
			W.Part0 = Prime.BASE
			W.Part1 = Character[Type]

try attaching the watch as an accessory using Humanoid:AddAccessory instead of welding it

You will probably have better results using a standard Weld over a WeldConstraint. WeldConstraints are great when connecting things together in Studio, but their more-implicit nature makes them harder to work with in runtime.

Try something like this:

local W = Instance.new("Weld")
local Prime = Stor.SPLockers[B]:Clone()
Prime.BASE.Anchored = false

W.Part0 = Prime.BASE
W.Part1 = Character[Type]

W.C0 = CFrame.new(0,0,0) --Change this to whatever gets the watch to fit correctly.

W.Parent = Character[Type]
Prime.Parent = Character[Type]

By changing the CFrame of C0, you can position the watch relative to the block it is being connected to rather than relative to connected part’s world data.

1 Like

That was a WHOLE lot more simple than I was expecting, I appreciate your help, it was indeed a problem with the part not welding quick enough, thank you.

1 Like