Tuesday, December 26, 2017

Stretchable Spine - Spline IK with DQ

Hello, I'm back to the blog. This time I will show you how I set the column of a character. As you all know when setting the column, the most common thing to use is the Spline IK Handle. This technique is quite good and animators seem to be used to it. However when we want to make the column stretchable, we have to make two decisions, either work with the translation of the joint or with the scale. I have seen that we usually work with the scale since the calculation is a simple division.


With the translation it would be necessary to make a bigger and more complex calculation. In the case of scaling it works quite well, although I have heard some people say: Joints should not be scaled. I think they said it for this reason.

As we will see the bottom cut is moving down when in fact it should be moving up. Now this may be a skinning issue, however in skin it should not have any kind of influence below the joint. Which is almost impossible to do.


To solve this problem what we should do is to use the scale only as a driver of the translation, but not on the scale of the main axis (usually the X). To be able to do this we would have to relate to each joint of the IK Spline chain another joint. We have two options:

  • Use the parent Constrain.
  • To relate directly in the joint, it would only work if we relate joint to joint.
This only works because when matching joint to joint this automatically connects the scale of one with the inverse scale of the other.
Spine_3_BON.scale --> Spine_3_JNT.inverseScale

No comments:

Post a Comment