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
    Apr 1 '17 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$ Apr 1 '17 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$ Apr 1 '17 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
    Apr 1 '17 at 18:59
  • $\begingroup$ Yes you are right. I have that constraint on the bucket where there is three bones holding it. $\endgroup$ Apr 2 '17 at 0:16

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$ Apr 5 '17 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.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.