I am continuously having a problem with this weld. I have tried multiple times, but I cant just seem to find out what the cause is.

An overview: I have these 'arms' that are welded to a primarypart which is cframed to the camera every renderstep. Everything is fine except whenever I change the arm's weld rotation. It starts to act like its not changing angles, and rather instead it is moving as if i were doing a Vector3. Heres an example of what I mean:

workspace.CurrentCamera.Arms.RightJoint.Joint.C0 = workspace.CurrentCamera.Arms.RightJoint.Joint.C0 * CFrame.Angles(math.rad(5),math.rad(0),math.rad(0))

Instead of moving 5 degrees, it instead moves upwards instead. Different results happen for each angle (which all of them are mostly the same) I have tried using Motor6Ds (which are the same pretty much), weld constraints (they don't do any better), making the joint be welded to another joint in the same position (same results), and I tried moving the part0s for the arms into the same position as the arm itself. It still breaks and moves upward. The only thing that works is lerping the welds, but if I replaced it with CFrame.Angles it would almost do exactly the same.

The arms are welded to a joint, which is welded to the HeadBase, which is welded to the HeadBaseAnchor. The HeadBase and HeadBaseAnchor are used to be CFramed to the camera. I'm not sure if this is the cause for it, but it could very well be.

Do I need to use world space instead of local space? Do I need to replace welds with something more efficent (just CFrame, anchored, no welds)? I mainly used welds because I had the ability to lerp/tween them without too many issues. Did I provide too little detail?

  • OsterDog

1 comment

0

I heard that there was a 'RootJoint' for a weld that would pick a part (no matter if it was a part0 or part1) by its size, weld to anchor, or if it is anchored. Apparently this is causing a lot of weird errors, so possibly this might be the issue why. If it is, I might have to just remake all the welds from scratch.