1
$\begingroup$

bent fingers

I rigged my character with rigify. I use the scale of the drawbars to make them fold, but they fold in strange directions. The pinky folds backwards, and it's like the first hinge of the fingers doesn't fold (only the 2 last phalanx)

Can I fix this? Or do I have to delete my bones and redo from scratch? I guess it's about the orientation of the bones before I made the parenting but I'm not sure what rule I should follow...

Thanks for the help

$\endgroup$
7
1
$\begingroup$

Problem

The bones on the pinky and the ring finger appear to be rolled slightly. This can be caused by excessively rotating or grabbing the bones in those fingers. Because some widgets rely on the local transformations of the bones (especially high-level widgets to control bone-synchronized movements like grabbing, walking, and bending), they can be easily affected by their roll.

To illustrate, I added a generic wolf metarig to an empty scene and generated its rig. The third bone in the tail will be used as an example of how bone rolling affects widgets.

Below is the tail of the metrig, with the third bone in the tail highlighted. No part of the rig was modified.

roll = 0

The generated rig still contains a natural bone structure in a wolf's tail after curling the tail by rotating the end widget.

generated rig with roll = 0

Now, that third tail bone has been rolled by 190 degrees and highlighted in the next image. Nothing else was modified in the process.

roll = 190

After posing the generated rig, some of the tail widgets are out of tune with the rest of the body, causing the tail to become unnaturally distorted.

generated rig with roll = 190

Solution

To fix this distortion in your model, I'd compare the roll values of the problematic bones in your metarig to those of the default human metarig. (While it is possible to directly edit the generated rig, I wouldn't suggest doing so because that rig is very complex and contains many hidden bones.) Copying the roll values from the default metarig to your modified metarig should correct the bending motion caused by the rig widget.

Once you are done editing the metarig, tab into object mode and press the "Generate Rig" button in the metarig's Armature settings. This will bring the changes from the metarig into the rig.

generateRigButton

For reference, here's a list of each of the metarig's bones in the right ring finger and pinky with their corresponding default roll values:

  • hand.R: -127 degrees
  • palm.03.R: 148 degrees
  • f_ring.01.R: 115 degrees
  • f_ring.02.R: 109 degrees
  • f_ring.03.R: 95 degrees
  • palm.03.R: 144 degrees
  • f_pinky.01.R: 113 degrees
  • f_pinky.02.R: 109 degrees
  • f_pinky.03.R: 101 degrees
$\endgroup$
6
  • $\begingroup$ Oh! OK I see. Interesting... But then, is there a way to fix those rotations once the parenting is done? I tried to reorient the bones with the Roll slider in edit mode, but of course back in pose mode the hand was all distorted. Anyway, when I see your example above, it makes me understand that the orientation of the bones has to be really precise. Is there a "right way" to do? $\endgroup$ – Pyra_M Aug 20 '20 at 8:10
  • $\begingroup$ @Pyra_M You have the right idea. I just edited my answer to include the solution. Hope it helps! $\endgroup$ – NullPointerException Aug 20 '20 at 13:52
  • $\begingroup$ Thanks, I just have done something similar but the fingers still bend in a strange way, I will try with your values. So far I still have the problem that the base on the fingers/ the first phalanx is not bending. do you have an idea why? $\endgroup$ – Pyra_M Aug 20 '20 at 14:16
  • $\begingroup$ It feels like it should be related to the driver, but every phalanx has basically the same driver and only the first phalanxes stay in place. I understand now that the drivers are referring to a sub-skeleton I am not sure why (the rig is generated from Rigify). $\endgroup$ – Pyra_M Aug 20 '20 at 14:25
  • 1
    $\begingroup$ It looks like you might need to rotate those finger widgets to move the first phalanx of each finger, and that scaling is just for the outer phalanges. That applies to the human metarig as well. This makes sense because humans can control the base of the finger independently from the tips. I haven't used the human metarig for any of my 3D models before, so I might be wrong. $\endgroup$ – NullPointerException Aug 20 '20 at 15:33

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.