I am rigging with bones and parenting with empty groups but when I want to join more that two bones as one unique articulation or when I move then in pose mode each vertices goes apart.

This is the mesh in rest position where you can see the bones joining together enter image description here And here when I try to move them enter image description here enter image description here

Does anybody knows what can I do?

Thanks in advance

  • $\begingroup$ Use a trackto constraint. See this answer. If you search youtube for piston rig you will find some tutorials. $\endgroup$
    – sambler
    Commented Apr 1, 2017 at 9:29
  • $\begingroup$ I have already tried with empties and then using constrains. It looks very easy and simple in the YouTube videos but it didn't work for me as I expected. Maybe because of some previous settings I have made in the model. After trying for a while I decided to do it with bones. As I didn't get an answer soon in this post I decided to make some changes in the model. I deleted the piston that is not attached and add some modifiers. It seems it is working but now the bucket is making some resistance to go down. I still working on it. Thank you Sambler $\endgroup$ Commented Apr 1, 2017 at 13:36
  • $\begingroup$ I don't know if I am right but it looks the tail of the bone can be only joined to a head and no tail to tail. So, I thought that the best way was to make some changes and try to build a new logic of articulations of the bones and that way I made the armature move as I wanted to. I will post the picture in the answers. $\endgroup$ Commented Apr 1, 2017 at 18:32
  • $\begingroup$ A trackto constraint can make a bone point to another without parenting, it can point to any part of the bone. $\endgroup$
    – sambler
    Commented Apr 1, 2017 at 18:59
  • $\begingroup$ Yes you are right. I have that constraint on the bucket where there is three bones holding it. $\endgroup$ Commented Apr 2, 2017 at 0:16

2 Answers 2


My approach would be to have one bone as root to move the whole thing around, a second bone is then attached to the arm to control lifting it up. I placed a Limit Rotation constraint on this so that it can only be moved within a reasonable range of motion.

For the hydraulics lifting the arm, I have two empties (shown as circles), one is parented to the arm, the other to the main chassis. A cylinder is then made as a child of each with a TrackTo constraint that keeps it pointed at the opposing empty.

arm piston highlighting empties at each end

As the arm is raised and lowered, these piston pieces imitate the hydraulic piston.

arm animation

The bone for the "pivot" arm that is used to rotate the bucket is simply an unconnected child of the arm bone, again I have a Limit Rotation constraint to keep it sane.

pivot control bone

For the bucket I have another unconnected bone that is also a child of the arm bone. To this I have added a Transformation constraint. While this constraint can be hard to grasp, it takes an input transform and maps it to the output transform, the input and output do not have to be the same type or axis, but in this case I use it to vary the ratio of movement. A little experimenting and I found moving the pivot bone between 20 and -20 degrees and having the bucket to move between -28 and 28 degress gives a close to static length in the connection between the pivot arm and the bucket. Note that I inverted the angle values so that the rotation happens in the opposite direction.

transfomration constraint

bucket animation

Similar to the arm hydraulics I have a cylinder with a TrackTo constraint, but here I only have the one.

With this setup you animate the main arm bone to raise and lower the whole mechanism and animate the pivot arm bone to adjust the bucket position.

sample animation

I have parented the various parts to the bones, the same constraints could be applied directly to objects without using an armature.

  • $\begingroup$ Sambler, thank you very much.I have been trying to make this thing work all the week and you made it very simple. You are the best! $\endgroup$ Commented Apr 5, 2017 at 15:39

enter image description here

I deleted a piston on the bottom. The one that was not joined and added a couple of bone constraints to move them the way that I wanted to.


You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .