ik chain straight vs bent kinefx

   1662   5   1
User Avatar
Member
219 posts
Joined: Feb. 2016
Online
Hello,

when creating a ik chain in kinefx, should my skeleton be "pre-bent" slightly? I seem to run into trouble with the twistor (middle joint) if my skeleton is perfectly straight. Seems if I add a small bend in the skeleton then it knows which way to bend properly. I believe I remember a while back hearing that this was the case for ik in general across all 3d softwares. If you look at the gif as soon as I move the twistor the skeleton joints all rotate the wrong way. If I start with the skeleton bent slightly, I don't have the problem.
https://gfycat.com/evergreendismalelephantbeetle [gfycat.com]

Thanks
Edited by evanrudefx - Sept. 13, 2021 05:42:41
Thanks,

Evan
User Avatar
Member
98 posts
Joined: July 2005
Offline
Hi Evan,

Im experiencing the same issue so I sent a bug/RFE to support in the hopes of getting a fix.
They took a look at my sample hip and agreed that it should be looked into by dev. Its officially got a bug number.
Here is what I sent them.

I setup a ikchain sop of 3 bones but as soon as I start moving the tip bone with rigpose

the ikchain quickly exhibits gimble lock like popping when the tip bone gets close to the mid bone.

As a result the bonedeform twists the mesh into a ugly mess.

Here is a link to a movie I made to illustrate the issue

https://vimeo.com/597357875 [vimeo.com]

I followed Parker Coleman's post here
https://youtu.be/OHeo6d-gHfI [youtu.be]
you have to remove the parenting from the 3 bones being fed into the ikchains driver side like he shows in his post
then offset the mid bone a bit to prevent the flip the ik solver causes
its annoying but manually solvable until somebody at sidefx adds a "fix the flip" toggle to ikchains
User Avatar
Member
219 posts
Joined: Feb. 2016
Online
WillA
Hi Evan,

Im experiencing the same issue so I sent a bug/RFE to support in the hopes of getting a fix.
They took a look at my sample hip and agreed that it should be looked into by dev. Its officially got a bug number.
Here is what I sent them.

I setup a ikchain sop of 3 bones but as soon as I start moving the tip bone with rigpose

the ikchain quickly exhibits gimble lock like popping when the tip bone gets close to the mid bone.

As a result the bonedeform twists the mesh into a ugly mess.

Here is a link to a movie I made to illustrate the issue

https://vimeo.com/597357875 [vimeo.com]

I followed Parker Coleman's post here
https://youtu.be/OHeo6d-gHfI [youtu.be]
you have to remove the parenting from the 3 bones being fed into the ikchains driver side like he shows in his post
then offset the mid bone a bit to prevent the flip the ik solver causes
its annoying but manually solvable until somebody at sidefx adds a "fix the flip" toggle to ikchains

Thanks!. Yea, I did something similar to what he did. I used a reparent node and parented the 3 bones to nothing.
Thanks,

Evan
User Avatar
Member
8513 posts
Joined: July 2007
Online
to me it seems to behave correctly
you can have your skeleton straight, just make sure the Twist doesn't lie on the same line

if IK plane is dependent on Twist effector then such plane has to be definable

if your Root, Twist and Tip form a straight line, then such plane is ambiguous
as soon as you nudge any of them you will get a plane so the solution is found
that's regardless of your Mid position, so you could run into the same ambiguous state even with prebent skeleton as it's about the Twist position in relation to Root and TIp

of course there is many ways to define a plane for IK
twist allows riggers and animators more freedom at the expense of having to understand how it works, so I guess that's why many common IK chains use Twist as a control for IK plane
Tomas Slancik
FX Supervisor
Method Studios, NY
User Avatar
Member
219 posts
Joined: Feb. 2016
Online
tamte
to me it seems to behave correctly
you can have your skeleton straight, just make sure the Twist doesn't lie on the same line

but if the twist is using the middle bone, which is straight then it will lay on the same line. can I use something other than the middle bone as a twist? like add a twistor specific bone that is slightly offset?

edit: Tried that and it worked. I just made a new bone called "twister" and put it in front slightly. Used that instead of the middle bone.
Edited by evanrudefx - Sept. 13, 2021 21:38:34
Thanks,

Evan
User Avatar
Member
98 posts
Joined: July 2005
Offline
Hi Tomas,

I guess we are gonna agree to disagree on this one.
Your suggested resolution and technical explanation for the underlying behavior of ikchains does provide an approach to resolve the unhappy results.
The thing is when the flip first started happening to me I was startled.
Ive seen inverse kinematics issues in other DCC apps but thought kinefx rigging was a ground breaking endeavor, intent on creating tools that made it easier to rig.
Im hoping a very savvy dev person who has also done lots of rigging in production takes on the challenge and comes up with a "fix flip" toggle in the ikchains sop. As a cgi artist I want to spend most of my time being creative not having to fix undesirable behavior.
If I had a critter with 100 limbs, having to manually fix each one would be a drag.

By the way I've recently been going through the very helpful rigging tutorials by Michael Goldfarb that come with several samples scene files. I needed that to get me a lot further then I was.

https://www.sidefx.com/tutorials/objects-rigs-to-kinefx-and-back-again/ [www.sidefx.com]
Edited by WillA - Sept. 14, 2021 13:01:11
  • Quick Links