Rigify IK Foot Roll (Forward/Backward) no longer works in newest versions of Diffeo

Issue #2024 resolved
Jasper29 created an issue

Blender 4.1.1 Diffeo v1.7.4.2091

Hey Thomas, I think something has broken the IK forward foot roll when setting up a Rigify rig through Diffeo. When selecting the

foot heel IK controller and rotating on the x-axis, the toes/balls of the feet no longer stay flat while the heel rotates up (like doing a

calf-raise). This behavior was always present when rigging throughout previous versions of Diffeo, but not anymore. I also tested

it by adding a basic metarig in blender without diffeo, generated the rig, and it is still fine there as well. With the newest version of

Diffeo, I only tested with G8, but I would imagine this would be the case for all figures. The 2 bones that dictate the proper rolling

movement are the DEF-toe bones on the DEF layer, and the MCH-toe_ik_parent bones on the MCH layer for the feet. I checked the

in-house(without Diffeo) rig, an older figure I setup through Diffeo, and a new figure just setup through Diffeo, and all bone

constraints on the bones in question are exacty the same. I also checked the thigh bones on the metarigs in pose mode before

generation, and all of the bone properties (like seperate toe ik) are also identical.

STEPS TO RECREATE:

1: import G8 figure.

2: create metarig.

3: Rigify metarig.

4: select foot heel_ik controller ad rotate up on x-axis (feet will not stay flat on ground/foot pad like they should).

Here are some visual examples. The first one is the incorrect behavior from the newest version of Diffeo, second is from an older figure setup with an older version of Diffeo, and the last one is just adding a basic human metarig without using Diffeo at all (the DEF-toe and MCH-toe_ik_parent bones stay on the floor as normal):

^newest version of Diffeo (broken)

^older figure rigged with older version of Diffeo (correct)

^just a basic human metarig without using Diffeo at all--the MCH-toe_ik_parent bone at toes stays flat like it should (correct)

Comments (12)

  1. Alessandro Padovani

    1.7.4.2092

    Works fine here, tried both 4.1.0 and 4.1.1, you may need to update or to clean install. If there’s nothing to add we can close as invalid.

  2. Alessandro Padovani

    1.7.4.2098

    That’s odd, now I can reproduce the issue, tried both blender 3 and 4, both create/rigify metarig and convert to rigify. From the commits log it seems nothing is changed so I wonder what’s triggering the issue.

    steps:

    1. load G8
    2. convert to rigify

  3. Jasper29 reporter

    Figured out what it is--this happens when you disable locks and limits. I have mine turn off in Global settings because it was mentioned it doesn’t work well with animation especially using Rigify, but it causes this issue if it is disabled. You can see if you go to the ‘Locks and Limits’ panel above the ‘Daz Runtime’ panel of Diffeo:

  4. Thomas Larsson repo owner

    OK, I can confirm that this is the problem. The tool disables all rotation and location locks, but evidently Rigify needs some of them to function properly.

  5. Alessandro Padovani

    I’m not a rigify expert, so I may be wrong. But, for the default rigify, in the metarig we don’t define limits and the generated rigify rig works fine. Unless you remove limits in the generated rigify rig, in that case we modify the setup then it may not work properly. That is, we should not modify the generated rigify setup unless there’s good reasons.

  6. Jasper29 reporter

    Agreed--it looks like if using Rigify, limits should be enabled by default (with Diffeo) and not modified after rig generation to avoid this as well as other potential issues.

  7. Alessandro Padovani

    1.7.4.2101

    @Thomas, please let us know what you think so we can close as resolved or wontfix. Since the default rigify works fine, you should be able to fix the issue by leaving the default settings for rigify. Or let us know if there’s any reason not to.

  8. Thomas Larsson repo owner

    Everything should be working now. All buttons now ignore bones that are used internally by Rigify, which should be the same as bones with names starting with “DEF-”, “ORG-” or “MCH-”. The hint constraints used by MHX are also ignored.

  9. Log in to comment