1
$\begingroup$

I am tackling this mechanical linkage which moves in the x axis (see image). I would like to do it using IK but the problem is that I can't establish a relationship between the blue and green parts because they both move but the blue part is dragging the green part along in a non-linear fashion (at least thats what I believe) Left image is what it looks like extendend.

Many thanks!

enter image description here

Blendfile

$\endgroup$
4
$\begingroup$

Like this?

movement

Yeah, that's a tricky one and it needs either a cheat or the not so new but usually overlooked iTaSC solver.

So, in the settings of your armature, enable iTaSC:

iTaSC magic power ON

I made the blue part the boss and the green will follow. If I'm not mistaken, this special solver doesn't like unparented targets, so I made a main bone. The hierarchy is as follows (u = upper):

solved by the PAWA of BLENDA

bluebone, mainlever1-u, target-u and height-u are children of main

mainlever2-u is a child of mainlever1-u

follow-u is a child of mainlever2-u, not connected

greenbone is a child of follow-u, but does not inherit rotation.

mainlever2-u has an IK-constraint, chain length 2 to target-u with the following settings:

ordinary IK settings

This is straightforward. Would be exactly the same with an ordinary constraint. Simplest leg rig possible.

But the settings of follow-u are where the magic happens:

Magical IK settings

It points to height-u and it's axis reference is set to target, lock X. That means, its tip tries to get on the X-axis of height-u. In effect that means its tip stays the same height if it can since height-u's X axis is parallel to the ground.

You could do without the lower armature, if you equip the meshes with Mirror Modifiers with a Mirror Object on the center line of your mechanism.

And for old time's sake, the cheat:

enter image description here

Simply add a very long cheat bone and turn follow-u and cheaty into another IK chain, 2 bones long. Since cheaty is so long, the up/down motion of the joint is minimal. Then you'd move greenbone with a simple copylocation constraint in one axis and it won't bob up or down. There's ways to make the bobbing even smaller, but it will already be invisible if cheaty is long enough.

It's not entirely obsolete since iTaSC sometimes gets hickups if you re-arrange stuff after it's been set up. It likes your workflow to be linear. Then again, it could just be me being clumsy.

$\endgroup$
  • 1
    $\begingroup$ Awesome answer! Thank you very much for providing two answers, both are equally useful to know. $\endgroup$ – GeeJay Nov 21 '18 at 6:45

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.