0
$\begingroup$

New to Blender, and 3D in general, I've been trying to rig a character but I always have that automatic weight issue showing up, and I can't really tell where it comes from. I've tried to parent my character's elements to the meta rig, and to generate an automatic rig. None of these worked out.

See the screenshots to understand what happens: The hands are messed up, the chainmail disappears (made by instancing 2 tori over cylinders) the body goes through the breastplate... Here are the solutions I've tried so far :

  • Merging by distance everything
  • Apply scale and Rotation to the model (note that the chainmail disappears again if I apply transform, haven't found the reason out yet)
  • Apply modifiers, most noticeably skinwrap and subdivisions
  • Set Origin to Geometry to the objects (I may have forgotten some, but I didn't see any improvement anyway)
  • Joining all the objects into one single mesh (This time, the hands simply refused to move although the shape was preserved)

enter image description here

enter image description here

enter image description here

Here is a link to the file, I hope it's gonna work, first time I use dropbox https://www.dropbox.com/sh/rok138fb33eye7e/AAD9NT1k-x1nDAu7qRXFTNVUa?dl=0

If someone could take a look at it and tell me how to solve my issue, I'd be eternally grateful :)

EDIT : As a last hope, I've tried to parent each piece of the left hand (from character's view) one by one to the metarig. The issue was reported for the main cylinder of the gauntlet, covering the forearm. The other parts move, but are messed up in the process.

$\endgroup$
0
$\begingroup$

The meta rig is only used to place the bones in the right place. The mesh is eventually bound to the armature of the generated rig.

Do not apply the modifiers. You want to keep your mesh low-poly for performance and easy modifications.

You have already "parented" the body base mesh to the meta rig and created a pose to match the shape of the armor. Basically moved the hands in this pose. That's the reason why the hands are not in place.

All parts of the body, the armor, and the rig must have the same Rest Pose. This is not the case with your rig.

Corrections:

  • select the body base mesh ("lowman_shoes") and apply the Armature modifier. This will change the position of the hands in the A pose permanently.
  • select the metarig and apply All Transformations to the it (Ctrl+A), else the generated rig is placed at the wrong position.
  • switch to Pose mode and make the current pose the new Rest Pose (menu: Pose > Apply > Apply Pose as Rest Pose
  • in Edit mode, rotate the shin and thigh bones a tiny, little bit in direction of the knee. This is needed for the IK mechanics so it knows where the knees should bend.

Now everything is in place and you can generate the rig.

  • In Object mode, go to the Armature Properties and press the Generate Rig button
  • hide the metarig, the Environment collection, and the Curve guide for the "hair".
  • select everything else (body and the thousand parts of the armor)
  • make sure the rig is highlighted in orange (active object, selected last) and make it a parent for the selection (Ctrl+P, With Automatic Weights). This takes a moment or two ...
  • go to Pose mode and check it out

The weight painting will not be perfect, some parts (bracers) will not move and shoulder plates will deform, etc. This is because your armor has so many parts. In this case, you can duplicate everything, and create a "statue" version. Use this version to generate the Automatic Weights and transfer them back with a Transfer Data modifier.

The fingers might bend in the wrong direction (scale them S/Alt+S). It's because Rigify tries to guess the pivot points and gets confused you have to move around the fingers of the metarig a lot. But you can fix it with some settings. (Just checked it for your model. It looks ok, except for the deformation and the thumb.)

$\endgroup$
1
  • $\begingroup$ Thanks for the detailed answer it really helped! I would also like to add a few pieces of information for those who might be reading this in the future : For your mesh to move correctly, always place the armature modifier (generated by your rig) on top of the others. In my case, I made chainmail by instancing 2 metal rings over cylinders... When you parent it to the rig, make sure to hide the instancers : that's why my chainmail disappeared. I haven't fixed everything yet, but that's on a good way thanks a lot :) $\endgroup$ – Karl Apr 1 at 10:55

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.