Website Youtube GitHub

mGear Framework Forum

Foot roll fk/ik-switching breaks the fk chain

Hi

When i use the footroll feature in a leg+foot-chain, the ik and fk modes don’t match up anymore when using the synaptic space-switching functionality. Going from IK with a roll angle to fk breaks the fk-chain. Is there a solution/workaround to get this to match?

is the connector set correclty?
image

Hi Miquel
Yes, it is set correctly. I see it also by-the-way happening in the standard biped-example. And it seems sort of logical: The ik_foot_cntrl is staying in place while, through rolling, the inversed foot underneath it changes in shape. So after this, using switch ik_to_fk, the fk still tries to find the ankle in the ik-controller, while the actual joint_ankle is offset.
I have attached a maya-file with a sort of pre-proto-type of the foot-structure I am after. In our case it will be for a quadruped, but the biped-example was more convenient for hacking/testing, also because of the available, more expanded Synoptic. For the left leg I crudely re-parented some of your nodes to my set-up and made a copy of the bipedUI, which I altered. The IK to FK switch now points to “leg_L0_ik_ref” instead of “leg_L0_ik_ctl”. Now it switches correct to fk.
But not backwards, of course. I have to find a way to include the new Ball_ctl in the list of objects to match in world transform. Also the “leg_L0_ik_ctl” has now to be redefined separately for matching. I hope this all makes sense.

maya-file: https://www.dropbox.com/s/xyq07e0e5iqte0x/horsing03.mb?dl=0
Synoptic: https://www.dropbox.com/s/gtq6534zfnbdh23/widget.ui?dl=0

Hello @mackerB

There is an issue that I want to fix but haven’t had the time for it but you can already make it “better” by parenting the nodes leg_L0_fk2_mth under your foot_L0_bk2_ctl or foot_L0_bk1_ctl depending on how much roll controls you build (same for the Right side).

Hi @Jerome
Thank you for your answer. For that part it makes sense . With the re-parenting the switch from fk to ik goes as expected. However, if there is rotation present in ’ foot_L0_bk2_ctl’, the switch back to ik goes wrong. It will generate an offset again. Repeating the switch-action makes it worse…