I am trying to create an animation of a table folding up. As you can see in the picture It is splitting the meshes when I try to pivot the table. Can I link the second part of the bone just to the legs and the first part of the bone to just the table top? So that they can fold like in the picture? I thought if I do that maybe the meshes would stop exploding and rotating at different angles? Or is this another problem? If so, please do tell me. Thank you very much!!!!
In fact, you do not link the bone to an object. You link the object (or vertices of that object) to the bone(s).
The title of your question should not be "How to link separate parts of a single bone to different objects?" but "How to link separate parts of my object to different bones ?"
Because a bone does not really have several parts. An armature has several bones (there are in fact bendy bones, with several parts, but you don't need them for your table).
For your need (folding a table), you could use different approaches.
Solution 1 : Animate separate objects directly
You could directly have your different parts of the table modelled in several objects, and animate those objects directly. It would be sufficient for some simple animation.
Soltution 2 : Use an armature and parent each object to a bone
You would model each moving part of your table in a different object. Then you parent each object to a bone. For doing it for an object, you would do as follows :
- Select the object (Right-Click)
- Select the armature object (Shift+Right-Click in order to keep the object of step 1 selected)
- If not already, switch to pose mode.
- Select the bone you want to parent to
- Hit Ctrl+P for parenting
- Select option "Bone"
Your object is now parented to the bone. Repeat for other Objects/Bones couples. For a mechanical system like your table, I would go for this solution.
Solution 3 : Use an armature and a single object for the table
In this technique, you only have one mesh for your entire table. For joining different objects together, use Ctr+J after having selected all those objects.
You would have several vertex groups defined for your mesh, whose name corresponds to the bone's names in your armature. The weights in this groups will determine how vertices follow bones.
For instance, if for a given vertex, you have a weight of 1 for vertex group 'A' and 0 for vertex group 'B' : this vertex will follow bone 'A' and not bone 'B'. If 1 for 'A' and 1 for 'B': this vertex will follow bones 'A' and 'B' with the same influence.
For doing it :
- Select your table (one single mesh object)
- Select your armature
- Hit Ctrl+P for parenting
- Select 'With empty groups'
Now your mesh object is ready to follow the armature. But since you don't have weights in your vertex groups (that were created t step 4), you will see nothing.
Enter in edit mode for your object. Select the vertices that will follow your first bone (you can use Ctrl+L shortcut for selecting all 'linked' vertices and work faster). Assign these vertices in the vertex group that has the same name as the bone it should follow, with a weight > 0 (1 for instance).
Repeat for all the moving parts! That's it, you have the same result as solution 2, but with one single object !
This method is very good for organic objects, but I think it's easier to go with the second method for your table.