• Editor
  • Need help with IK

Hi there


I'm trying to create a simple IK chain and I cannot seem to get it to work as expected. I have followed the directions carefully:

  1. Create a bone chain (bone1 with bone2 dependent)
  2. Select bone1 and bone2 (confirm 2 bones selected) then create IK constraint. It then asks me for a target and I click in empty space to create the constraint node.

The second I do that though, the bone chain jumps away from its initial position to align the end of the bone2 chain to the location of the constraint node just created. Is there a way to prevent this short of carefully pre-placing a target null at the end of bone2?

Also, I have noticed that if you leave the 'create' button on while trying to perform the above steps, the chain will jump VERY far away from its initial position and the target will not be aligned to the end of the chain at all. The operation will fail to record bone2 as the child and the IK won't work until you manually re-select the child bone.

Related Discussions
...
  • Modificato

1) use translate tool while creating any constraints (just to be safe) ... this is just something i follow .
2) try to give the target at the tail of the bone .....
i had similar problems when i started with spine ....

Thanks Shiv for answering!

Basically, the fact that when you create an IK contraint it will point to the bone you selected is its expected behavior. If you want to avoid this, as Shiv said, you'd better create a bone right at the end of the last bone of your chain, this way you won't see bones going to unexpected places.
You can also create the target bone before and select it when creating the constraint (a thing I usually do) or you can change the target later by selecting a different target bone from the options panel of the IK constraint selected in the tree.

Thanks for the quick responses! I figured some of this out the hard way; I was hoping that there was a way to prevent the chain from moving at all when the constraint was applied. I am used to rigging in maya which has more precise and granular control for nodes and constraints.

I was wondering too why it is that a dependent bone cannot be used as the target for the constraint? The position of a third bone in a chain is really the perfect location for the constraint, and all the programs I've used before don't have any issue with this. I guess that's why I found the Spine process so disconcerting. I did find that I could create a clean 3-bone chain and unparent (or duplicate and unparent) the third bone for use as the IK target. This achieves the "no-pop" result I am looking for.

I was wondering too why it is that a dependent bone cannot be used as the target for the constraint?

This is because the target bone cannot be a child of the bones affected by IK.

To get a perfectly placed bone that you can use as target do the following.

  1. Create a bone that is the child of the second IK bone.
  2. Make sure your coordinates are set to 'parent'.
  3. Set the X location of the bone to be the same as the length of the parent bone. Y = 0. This will place the bone directly at the tip of the parent.
  4. Parent the bone to the root bone.
  5. Create your IK constraint and you will now be able to select the bone you already created.

I hope it helps.

THANK YOU THANK YOU THANK YOU!!

This is EXACTLY the control I was looking for in general for getting these bone chains cleaned up! I can't stand the way the bones by default don't orient to downstream children. I'm new to Spine, so maybe there is a Joint Orient command that can be run on a chain to fix this?

If the target was a child of the constrained bones, when the constrained bones rotated to place the tip of the child bone at the target, the target would move


it would never be able to place the tip of the child bone at the target.

I'm not sure what you mean by bones "don't orient to downstream children". You mean you don't like that a child bone's origin doesn't have to be at the tip of the parent bone? There's no reason it should have to be, and allowing you to place the child anywhere gives you a lot more control over over how rotation and scale.