Joints: Difference between revisions
From Legacy Roblox Wiki
Jump to navigationJump to search
>NXTBoy Things I don't remember and can't check are in HTML comments. This might need merging into another page. |
>NXTBoy Things I don't remember and can't check are in HTML comments. This might need merging into another page. |
(No difference)
|
Revision as of 17:18, 15 January 2012
A joint, called a "connection" while a game is loading, is something that connects two parts together. Common types of joints are Welds, Snaps, and Hinges. Joints are represented using a JointInstance object, which has four important properties: C0, C1, Part0, and Part1.
Automatic creation
Advanced
Fixed Joints
Joints have a conceptual origin coordinate frame, to which both parts are attached.
jointOrigin == joint.Part0.CFrame * joint.C0 == joint.Part1.CFrame * joint.C1
In the case of fixed joints, this origin position is not important.
It is sufficient to make the origin position the center of Part1, and C1 the identity CFrame. For example:
local cf = ... --The transformation from A to B local weld = Instance.new("Weld") weld.Part0 = workspace.A weld.Part1 = workspace.B weld.C0 = cf weld.C1 = CFrame.new(0,0,0)
Will ensure that workspace.A * cf == workspace.B
Rotating Joints
In a rotating joint, the conceptual origin is important. This dictates the position, and in some cases, the axis around which the joint rotates.