Is it possible to have an IK 'stetch' that only stretches in one direction?

Hi there,

I am rigging the tongue of a monster, and I want it to be ideally IK controlled with a boneless stretchy quality. So the bones have segments to allow them to bend, and I also set them to stretch.

The trouble is, the stretching is more like uniform scaling than stretching - the tongue doesn’t just get longer, it gets fatter, bigger in all directions… whereas in real life, if it stretches longer, it gets thinner (preserves volume) - can this be done with IK? If not can is there a work-around to get an IK effect with ‘stretch-to’ constraints etc?

Thanks.

1 Like

I would try using a Limit Scale Constraint on the bones that I did not want to scale on the axis that I did not want them to scale. I will assume you would want "y’ to scale and z and x to be locked.

I have not tried it, but it should do what you want. I am also in the process of figuring out a tongue rig. Other priorities have gotten in the way, so I have not found a full solution yet.

Good luck!

Hello Dan,

I found a near perfect solution for my task above.

Set up an IK rig with Stretch enbabled, but these IK bones are NOT the ones that actually deform the mesh!

Duplicate all these IK bones, and take any IK off of the duplicates. Instead, use ‘Stretch To’ on each duplicated bone to Stretch To the next tail of the next IK bone along the chain… so the IK bones are the guide that the Stretch To bones follow. Make the Stretch To bones the ones that deform the mesh. When IK bones stretch, they get fatter but that is not a problem because they are not deforming the mesh and so do not make the mesh fat. HOWEVER, when the Stretch To bones stretch, they get THINNER which makes the mesh thinner as it stretches - exactly what is needed! :smiley:

1 Like

Thank you for sharing that. I may use something like that in my rig. I was thinking of doing an IK/FK switchable rig, so I already have my deform bones separate.

Also, I was thinking since my last post, maybe a Maintain Volume constraint would have worked in your situation. You could then toggle it on or off with a custom property. This would give you an option of having it scale or not. I tend to add in options even if I am not sure I will use them.

Glad you got it to work like you wanted!

I thought of that too, but it was too late - I had done too much animation without that being there so it would effect the mesh on all the previous animation which would have ruined the fine tuning.

The Stretch Tos are working splendidly, so I better play it safe and just use that, but for future rigs I might well do what you do and add more stuff at the start - we learn from experience!