Joint & bone transform formulas

I often want to manually calculate the CFrames of parts or attachments in an assembly. Achieving this requires knowing how Joint.C0, Joint.C1, and Joint.Transform are applied, and similarly for Bone.Transform.

It’s quite annoying having to rederive this myself all the time, ideally the following code samples should just be listed under the API docs of especially Motor6Ds and Bones, and perhaps in other places too (like JointInstance):

  • Offsets Formula: Part0.CFrame * Joint.C0 = Part1.CFrame * Joint.C1
  • Transform Formula: How is Transform applied to the above formula?
  • Final Part0 CFrame given Part1.CFrame, C0, C1, and Transform.
  • Final Part1 CFrame given Part0.CFrame, C0, C1, and Transform.
  • Bone Transform Formula: How is Transform applied to Bones?
1 Like