1
$\begingroup$

The last bone here, Bone7, has an ik constraint of chain length 3. As in the image, moving ikBone moves the bones all the way back to bone4. This makes me think that the length of a chain doesn't include the first bone, Bone7. Or that the counting starts at zero.

I want to limit the rotation of Bone4, the last bone in that chain.

enter image description here

I think that ik overrides Limit Rotation bone constraints and the way to achieve the result I want is via the Inverse Kinematics tab, found in the bone properties as described here

Those constraints work ok for Bone6 & Bone5, the 1st & 2nd bones in the chain. Here are the constraint fields for bone 5.

enter image description here

The problem comes with Bone4, the final bone in the chain. Looking at that same constraint panel for Bone4, the fields are greyed out.

enter image description here

Although greyed, values can be entered in the fields and the check boxes can still be checked. Setting up various test situations, for reasons unknown to me, sometimes the Bone4 ik constraints are enforced and othertimes not.

So my question is, what is the significance of the fields being greyed and in what circumstances are those constraints enforced?

Blender v2.83.0 on Linux

$\endgroup$
1
$\begingroup$

The Chain Length of the Inverse Kinematics constraint is including the bone that has that constraint. In your case the value is 3, so it applies to Bone7, Bone6 and Bone5. Therefor Bone4 is not part of the the IK setup and it's rotation behavior cannot be limited by the Inverse Kinematics settings in the Bone Properties.

You can increase the value of the Chain Length to include Bone4. (Or put a Limit Rotation bone constraint on it in the Bone Constraint Properties tab if you don't want it to be part of the chain.)

Also when Relationship Lines are active (which can be made visible by checking the box in the Overlays menu), you can see a line from the start to the end of the chain that can help determine the length in the 3D Viewport.

Edit:

Note that if the box next to Use Tail is not checked, the bone that has the Inverse Kinematics constraint, is not part of the chain. However in this case that bone (otherwise first in the chain) is not affected by inverse kinematics, and (more importantly) the last bone in the chain cannot be constrained in the Bone Properties > Inverse Kinematics menu.

| improve this answer | |
$\endgroup$
  • $\begingroup$ If that's the case, why is my first image showing a chain of length=3 reaching all the way to bone 4? bone4 should remain unchanged, just like bones 1,2 & 3. I've edited the question a bit to explain why I thought that. $\endgroup$ – rgh Jul 16 at 19:47
  • $\begingroup$ Ah, i see now. I didn't realize you didn't have the Use Tail box checked. I edited my answer accordingly, and advice to have that box checked. It seems to me that not being able to constrain rotation of the last bone in the chain when it is checked, is an oversight. To be honest, at the moment I can't think of any reason why it can't or shouldn't be possible to constrain if Use Tail is not checked (but apparently it is). In any case; hope that helps. $\endgroup$ – Fjoersteller Jul 16 at 21:18
  • $\begingroup$ yep, increase the chain length to 4 & check 'use tail' and it works as expected. thanks $\endgroup$ – rgh Jul 17 at 6:38

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.