2
$\begingroup$

Please let me start by saying I am a newbie to rigging and this has driven me mad... I have the following...

enter image description here

Post/peg "C" is fix in x,y and z but can pivot. Point "A" will follow a fairly small circular arc and by doing so, move and rotate "B". This in turn will rotate arm "2" around the pivot peg "C". I have tried to build out a set of bones to do this with IK etc but there is always something not quite right. It took me a while to understand chains with an IK point on "2" from "C", but in limiting the chain to 1 "2" moves but only in the axis that "A" is moved.

I hope that makes sense and any help would be great. I have learnt loads from youtube video and articles but I am still missing something.

Thanks

$\endgroup$

1 Answer 1

1
$\begingroup$

Screen shot of rig that solves the problem

This one was fun because it took me a while to see the obvious. The trick for the I/K rig has two parts:

  1. is the 2 bone is the disconnected parent of 1 bone as well as the disconnected parent of b bone.

  2. The 1 bone is not a deforming bone, but a parallel 1 bone def is.

From left to right, the bones are

  • c bone is not strictly necessary. Its vertex group consists of the "C" cylinder.
  • 2 bone is positioned so that its head is the pivot point for block "2" on "C" cylinder and its tail is the pivot point for block "2" on "B" cylinder. Its vertex group consists of block "2". It has no parent.
  • b bone is present so that "B" cylinder will move more or less correctly. It is parented to 2 bone. Its head is also at the pivot point for block "2" on "B" cylinder but it is not connected to 2 bone. Its tail is at the pivot point for block "1" on "B" cylinder. Its vertex group is "B" cylinder.
  • 1 bone is positioned so that its head is the pivot point for block "1" on "B" cylinder and its tail is below the pivot point for block "1" on "A" sphere, so that it is parallel to the 2 bone. It is parented to 2 bone but it is not connected to 2 bone. It is not a deforming bone.
  • a bone is positioned so that its head is the pivot point for block "1" on "B" Cylinder and its tail is on directly above that point. Its location is locked so that it can't move on its Y axis, which happens to match the Z axis of world space.

directly above the 1 bone is the deforming bone for the 1 block, 1 bone deform. It's head is on the tail of the b bone and its tail is on the tail of the a bone. Its vertex group is the "1" block.

The IK constraint is placed on 1 bone. a bone is the IK target.

1 bone def has a Copy transforms constraint on `1 bone, in local space.

NOTE: Since the IK constrain has stretch off, it is possible to pull the a bone far enough as to disconnect the cylinder from the object. You could fix that with further constraints, but it might be easier to just have the animator not overextend the rig.

Since that explanation is a bit wordy, here's the sample file

$\endgroup$
4
  • $\begingroup$ Hi Marty, Thanks for the response and the work and the example. This has given me more to think about. I am really keen to get rid of the vertical pitching that occurs (or is it lateral roll.?) is this is meant to represent a rigid set of metal pins and arms that can't twist. Is there any way of stopping the twisting...? $\endgroup$
    – Parathon
    Dec 2, 2021 at 10:00
  • $\begingroup$ I have to think about the twisting some more. One way is to put a Limit Location constraint on a bone and limit its motion range to the area where the roll doesn't happen, but there should be a way that allows a bone more range of motion. $\endgroup$ Dec 2, 2021 at 15:22
  • $\begingroup$ I figured it out. I'll update the answer shortly. $\endgroup$ Dec 5, 2021 at 23:28
  • $\begingroup$ @Parathon did my updated version work for you? $\endgroup$ Jan 2, 2022 at 18:50

You must log in to answer this question.

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