Roblox Arc Handles Issue

Im making a avatar customizer in my game and im having an issue with Arc Handles and where they spin.

My hat will be the example in this,
image
When its ontop of my head, it moves normally like the rotation tool.

But when I move it far away from me, its rotation goes around my head instead or normally.
image
Heres the code for it

Try resetting the offset of the hat’s pivot.

TheHatHere.PivotOffset = CFrame.new(0,0,0)

1 Like

The Pivot stays at 0, the only thing adjusting in the Weld that the hat comes with

Could you provide me an isolated test place with the issue?

Sure

My apologies. I meant one that’s editable so I can go in and fix the issue. If it’s too much trouble to remove any snippets you don’t want to open to the public I understand.

I apologize for the delay. My dog decided it was a great idea to play in the mud at one in the morning so I had to clean him up once he came back inside.

As for your issue, C0 is relative to Part0 and C1 is relative to Part1. Thus, the origin for the rotation is the head of the character. If you want to avoid some inversing of the CFrames and using ToObjectSpace() and ToWorldSpace(), just set everything in your movement and rotation functions both client and server to use C1 exclusively. Then go back and fix the rotation and movement directions, because I’m sure those will screw up afterwards. Who knows? Maybe they won’t, but I’ve never gotten that lucky. Let me know how this works for you.

I actually got more into it, the way my position thing works is moving the Welds.c0 and it can only be c0 to function correctly, but to rotation needs to use c1 and only c1. So I need to find a way to swap the place of c0 and c1, But it swaps those to places causes it to be on the complete opposite side, which I can use Invert to undo.

Basically, c0 has to take place of c1, and c1 has to be at the origin 0,0,0

(I might of gotten the c0 and c1 switched up through the whole thing, I can just reverse it though)