Control Rig-IKFK Snap with stretchy

IK/FK snap issue with stretch:

With the Zebra rig in 5.8 we are having an issue with IK/FK snapping.

The switching works correctly on default limb lengths, but the rig module logic fails to snap the positions properly when stretch is active.

This is concerning for animators while working on cartoony animation. Please advise how the rig module can be altered to resolve this issue.

[Attachment Removed]

Steps to Reproduce
IK/FK snap issue with stretch:

With the Zebra rig in 5.8 we are having an issue with IK/FK snapping.

The switching works correctly on default limb lengths, but the rig module logic fails to snap the positions properly when stretch is active.

This is concerning for animators while working on cartoony animation. Please advise how the rig module can be altered to resolve this issue.

[Attachment Removed]

Hey there,

I am unable to repro thjis issue in the Zebra sample project. I’ve done so by:

  • Being in IK, turning on stretch.
  • Keying 3 poses, normal to full stretch and back.
  • Swap to FK on the middle pose at full stretch.

Can you send across an example repro or clear instructions on how you’re seeing it break?

Dustin

[Attachment Removed]

Hi Dustin

Have attached a video explaining the IK/FK switch issue with stretch for better clarity.

Please take a look at it and advice.

[Attachment Removed]

OK I see better now what the issue is.

So the soft IK and the segment scale properties are working as intended and what the team here uses. The best I can do is give you advice on an approach to change the module in a way that might better suit you, but it will be advice, not step-by-step instructions and will have issues because the point of the segment scale is to keep the FK control stretch operations on axis to their parent bones, respectively.

Basic IK in Unreal (which is what the Soft IK systems uses under the hood) uses the segment scale to determine the length of the bone to feed into the IK calculation. During the backwards solve, we’ll calculate it and reapply it to the channel. So you’ll need to calculate a new segment scale based on the distances for the upper and lower sections of the FK rig, and set the segment scale before calculating the soft IK. The problem is that they might be off-axis, and the lengths may be incorrect for the pose.

Most rigs use the approach we’ve taken to avoid iterative positioning of the IK bones to get the closest match if the initial lengths are wrong and off-axis, but usually lock the translation of those controls in order to have more distinct control of those things. We can’t lock those controls in Control Rig.

Dustin

[Attachment Removed]

Thank you Dustin , we will check this and get back.

[Attachment Removed]