0
$\begingroup$

I need a child bone to 'inherit rotation' but in limited fashion. I just need it to inherit the rotation of its parent when:

  1. it turns left and right. So if the knee turn in certain angle, the foot will follow.
  2. But if the knee goes up and down, the foot need to stay unaffected

If I tick off the 'inherit rotation'. It fullfil the second requirement, but not the first. If I tick off the 'inherit rotation'. It fullfil the first requirement, but not the second

enter image description here

Copy rotation constraint doesn't work, because the parent bone is straight up, while the child is 45 degree shifted. Locked track doesn't work, because the child can only rotate in its local coordinate. Transformation constraint doesn't work either.

I need to use the rig as is, meaning I can't change the foot bone orientation origin to as the same as the knee bone. Due to a certain condition.

Any ideas?

$\endgroup$

2 Answers 2

0
$\begingroup$

I'm assuming this is an IK chain, because if not the foot will always follow the knee rotation. In IK chains generally this behaviour is obtained by making the knee pole target child of the foot, so that you rotate the foot and the knee rot follows (while you're trying to do the inverse).

If you really need this inversion you can create a bone in the loc of the knee with the same orientation of the foot bone; make it child of the knee bone; set a copy rot constraints on the foot bone following only the rot axis needed (in my example Z axis).

enter image description here

$\endgroup$
2
  • $\begingroup$ I've tested this idea, it seems to work only if I rotate the knee. The foot will follow only in z axis. But when I move up and down the IK Target Bone to move the IK chain, the foot start spinning around in z axis. Not all the time. But only at certain location. Even though in my observation, the helper bone - the child of the knee doesn't spin around. By the way the bone that's 45degree is the foot not the knee. $\endgroup$
    – Juan Feju
    Commented Nov 27, 2020 at 15:17
  • $\begingroup$ After being confused for a day. I manage to use your idea and adapt, by using the bone one step above the knee instead. I dont understand the cause of the spinning, when using the helper bone to the knee bone, but the problem solved by parenting it to the thigh bone. $\endgroup$
    – Juan Feju
    Commented Nov 28, 2020 at 4:07
0
$\begingroup$

What I would do here is use a locked track constraint:

enter image description here

Here, I'm locked tracking the tail of my control bone, locking the deform bone's Z axis, tracking to its Y axis. What that means is that deform is going to rotate in its local Z axis to get its tail (+Y) pointed as close to control's tail as possible, given only that axis in which to rotate.

Why is this better than a copy rotation constraint? Because it doesn't use any Euler angles. When you use a copy rotation, your bone's orientation has to be broken down into Euler components which don't always act like you expect them to. For example, when you change the Y rotation, the Z component of an XYZ Euler is going to change as well. And aliasing means that even the X component is going to change at certain Y and Z components (when it gets over 90 degrees of local rotation.) A copy rotation is a poor choice for anything other than full influence replacement of all 3 axes.

$\endgroup$

You must log in to answer this question.

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