Weird weld behaviour

WeldRepro.rbxl (15.7 KB)

How to :

  1. Go to workspace, find WeaponModel
  2. Find “FirePart” Part, remember the position
  3. Unanchor the model
  4. Go check “FirePart” again.

To make the weld, i used regular welding technic,

local Weld = Instance.new(“Weld”)
Weld.Part0 , WeldPart1 = Part0 , Part1
Weld.C0 = Part1.CFrame:toObjectSpace(Part0.CFrame)
Weld.Parent = Weld.Part0

I can’t seem to reproduce this with the steps provided.

If you unanchor all the parts in the model it should be relatively obvious that the position will change, if that’s the odd behavior - otherwise I can’t seem to find exactly what’s acting abnormal here.

Granted additionally, I’m not too whethered in using Welds, but I don’t see anything acting up.

This is your problem. By setting Part0/Part1 first, C0/C1 are already defaulted to 0,0,0 so the weld is snapping them together. When you use toObjectSpace, it’s getting bad data because the weld has changed the CFrame of the objects. You need to set C0/C1 before setting Part0/Part1.

still results the same thing, Part moved from where it belongs.

What it suppose to be :
End

What happened :
STart

( look at the selected part )
Used EchoReaper’s technic seems to be not working at all.

So apparently, switching the C1 into C0 solved the problem
Any way thanks for all who helped me :smile:

1 Like

Your welcome!