Jump to content
Sign in to follow this  
Pancho

IK solver mayhem

Recommended Posts

Hi,

I try to bend my head around the kinefx ik solvers. I'd be glad if the "ik chains" would solve more than a regular leg or arm, since I have more than just an elbow joint. But it doesn't. So there's either the "solveik" in the rig vop left and the "fbik".

Unfortunately the solveik doesn't seem to respect my initial transforms and comes up with something which looks like a curve solver, but a twist vector is present in the solver.

While the fbik seemed to be promising in the beginning, it easily ends up totally garbled. Initial joint transforms don't seem to matter for the solve and the perfectly aligned joints move into totally wired positions. Twist vector is missing.

Bit unpleasant situation.

Put the three possibilities into the attached file.

Is there anybody who found an solution for this problem? How can I tweak the "solveik" that it respects the neutral joint positions/rotations and/or is there a way to have an up vector for "fbik"? A multiple joint chain should be so difficult to solve in 2022. At least not in Houdini...

Cheers
Tom
 

ik samples.hiplc

Share this post


Link to post
Share on other sites

This isn't a full solution, but I tried it in a new file and the solveIK VOP works. It gets a little unstable as the number of joints increases (I'm getting flipping as the joints compress). But it works. The weird part is that when I try to duplicate the same thing in your file, it doesn't work. I'm not exactly sure why yet. Still looking into it. But try opening up my file and see if you get the behavior you expect.

IK_multi_joint_v01.hiplc

  • Like 1

Share this post


Link to post
Share on other sites
Posted (edited)

What version are you using? I seem to remember something in one of the masterclasses about an update to the IK Solver VOP.

When I try it in 19.0.383, I get the behavior from your file. When I try it in .531 or later, it works.

Edited by madebygeoff

Share this post


Link to post
Share on other sites

I'll immediately update and see if it makes a difference. I'm on 19.0.498 here. Didn't think about it to be a possible bug. Actually it's annoying that they didn't make the sop solver fit for the task to solve multiple joints. Will look at your file asap.

Thank you very much so far!

Share this post


Link to post
Share on other sites

It doesn't work because...I don't know, it seems to me a bug. If in Tom's file you put transform sop under curve1 and rotate 90 degrees around X or Y axes  it works as expected. H19.0.561.

Share this post


Link to post
Share on other sites

I wanbt to add that I'm constantly getting python viewer state event callback errors as soon as I touch a kinefx node. Let's say in 50% of my interactions. I click them away ("ignore future errors"), but they keep on coming back. Not sure how to deal with that and if is part of the problem.

 

Share this post


Link to post
Share on other sites

Thanks so much for your scene file. Indeed in your example it works. In mine it did not, until I rotated my chain to be aligned with the z-axis. Then it worked too. Not sure how to solve this. Probably related to the root or local transforms?

 

 

Share this post


Link to post
Share on other sites

The only difference I can achieve in the solve is to change the rest angles mode.

No rest angle = Screws instantly up into the bridge/curve like shape.

The other two don't seem to make a difference.

: (

 

Share this post


Link to post
Share on other sites

It's a bug or something related to your project file and for the life of me I can't figure out what.

If I use your project file, even if I rebuild the joints with a skeleton SOP I get the same (lack of) behavior.

If I start a new project and do the same thing, it works.

Changing the rest angle mode to "Compute from targets" should snap the curve shape to the original shape. For some reason it isn't working in your project. And I have no idea why. Sorry I can't be more help. You might want to reach out to sidefx directly and see if they can locate the bug.

It's not directly related but in the past I have had conflicts with parts of KineFX and other 3rd party frameworks. For a month or so the skeleton node didn't work whenever I had Renderman installed. Worth talking with them. There's still some ghosts in the machine with KineFX.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×