Home Website Youtube GitHub

Soft IK Fixed but input needed from community

Hey everyone, I recently fixed a bug in mGear’s IKFK2Bone solver. You can read all about it’s progress here

As part of the fix I changed the behavior of “Max Stretch” from a clamping distance to a 0 to 1 on and off amount. As @chrislesage pointed out he wanted to share his concern with this perhaps effecting older rigs and their animations.

I wanted to ask the community what they would like me to do. Should I commit this change and turn the max stretch into just a stretch On and Off amount or should i keep the max stretch and add a new attribute for Stretch being set to on or off.

I personally don’t find the use in having a distanced clamp for the stretch, as an animator I’m not sure if it’s specific use but I would like some feedback from the community if possible.

Should I:

A) Keep the fix as is


B) Add in the clamping “Max Stretch”

Hope to hear back from you all. Thank you!

@dew I am thinking that a good solution is to keep both solvers and add an option in the component settings to choose what do you prefer.
This will ensure back-compatibility and don’t force anybody to use one over the other

what do you think?


@Miquel I’m fine with that. How would they both be named so they aren’t confusing? And I think over time the older one should be phased out to give people enough time to consider not building rigs with the legacy version. What do you think?

Instead of merging the PR I will take your code and name the solver IKFK2Bone2 , add a new ID for the node and create a function to use it on applyop.py
the reason I don’t want to rename the old one is back-compatibility. For example, I am in a middle of a long project and I don’t want to build the rigs with the new solver because maybe change the animation already done. I can’t know what configuration is set by the animators in each shot.
When we move to mGear4 we will break back compatibility and we will decide if we keep or not the old version :wink:

1 Like

Hey there!
In my experience it was always infinite stretch or no stretch at all with Animators I work with. I don’t think max stretch was ever changed mid animations so imo clamped on/off would do just fine.

Fine work though I should say!

That sounds great @Miquel ! Thank you.

@dew Another solution I am thinking of is to make the functionality an option in the solver. keeping the old one as default (for the moment)

Entirely up to you @Miquel as I am currently adopting mGear into my own pipeline I don’t mind doing something like this since I hope it benefits others.


Has the soft IK fix been released yet? I installed mGear but the components seem to still have the old behavior and I don’t see an option to switch behaviors in the component settings. I might be looking in the wrong place, though. Apologies if I’m missing something obvious, I’m not always the best at finding things.

Thanks for any help!

Andy I don’t believe so, it will take time. Miquel wants to make sure things are kosher on his side. I fixed it for my own pipeline and purposes. I placed the fix in the source code pull. You can try compiling it yourself if you feel you need to have it changed now. I’ll be adjusting my fixes in shifter when I have time I am just currently busy with my job and projects. Will post updates as soon as I am able to.