I'm trying to rig a hydraulic piston:

enter image description here

I added a bone for the base part of the piston and one for the moving part. I added a "Track To" constraint to the base part so it points at the moving part. Then I added a "Copy Rotation" constraint to the moving part so the rotation stays the same for both bones.

This worked fine for the first piston (the black bone - you can only see the base part) but I can't get the second piston working.

The problem is the blue bone - it has to stay at 90° to the yellow bone. How can I get the yellow bone to rotate around the head of the blue bone?

I tried Inverse Kinematics, but I don't get the right result:

enter image description here

Now the 90° part works but the IK-bone isn't pointing to the green bone (it just aligns the yellow dotted line with it)

I hope someone can help me.

Thanks in advance, Sebastian

EDIT: I've added a link to the blender file: https://www.dropbox.com/s/uypfpwiy9r9ldd3/Cannon.blend?dl=0

  • $\begingroup$ Could you upload a .blend, perhaps? There are a lot of moving parts which are difficult to replicate from the posted screenshots. $\endgroup$ Mar 31, 2018 at 19:15
  • $\begingroup$ I also have some difficulties trying to understand what's your aim, anyway you can duplicate the blue bone, flip its direction, make it child of the blue bone and have the yellow bone rotating around its tail (which will be the same location of the head of the blue bone), if this can help .... $\endgroup$ Mar 31, 2018 at 19:18
  • $\begingroup$ Don't edit the question with the solution, it isn't supposed to work that way. Post an answer in the answer box below with explanation of what you did and how it worked for you. For sharing files use blend-exchange.giantcowfilms.com $\endgroup$
    – Mr Zak
    Mar 31, 2018 at 20:06

1 Answer 1


I finally got it working by adding a "Transform" constraint to the blue bone (target: yellow bone, x: 0-360° -> x: 360-0°). It doesn't work perfectly, but its good enough for my purpose :)


You must log in to answer this question.

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