0
$\begingroup$

I'm currently learning rigging using Rigify. So far, everything is working great except for this one issue that I really don't know how to fix:

If you pull on the arm, leg, neck, or another bone, it will tear, as shown in the picture below. I would appreciate it if anyone could tell me how to solve this.

enter image description here

$\endgroup$
2
  • $\begingroup$ In your model, is the head a separate mesh? For the rigging to only 'stretch' the mesh, it needs to be a single mesh. $\endgroup$
    – Joachim
    Commented Mar 16 at 12:03
  • $\begingroup$ But it's single mesh. I'm not good at blenders.. Here is the link to download my blend file, if you don't mind, can you check my work? mediafire.com/file/giuuckhc81g8uuh/rigging.blend/file $\endgroup$
    – skyjun
    Commented Mar 16 at 13:05

1 Answer 1

1
$\begingroup$

Your mesh is in a single object, but it is made out of multiple meshes. As we can see by going to Edit Mode, hovering a mesh part and pressing L to select the connected mesh underneath: it selects only a portion of the mesh:

enter image description here

Furthermore, moving the rig around let us see that some parts of your mesh are disconnected, it's even more visible when enabling the Face Orientation Overlay:

enter image description here

You could in theory keep the mesh like this, and just edit the weight painting so that each vertex that is overlaping is moving the same way from each bones controlling those vertices. There isn't really an automated way to do that, it's just plain boring weight painting/editing.

Personally, I wouldn't want that if possible. I would instead join all overlapping vertices.
For this, go back in Edit Mode on the mesh object, select all with A, press M > Merge by distance.

After this, you will still need to fix the weights. But since now you have a nice mesh, you could just try to re-generate automatic weights.

Regenerate automatic weights

  1. Select the Armature, and in pose mode select all bones with A and go to the menu Pose > Clear Transforms > All.
  2. Select the mesh object in Object Mode.
  3. In the Mesh properties > Vertex Groups, use the popover menu to delete all groups:
    enter image description here
  4. ⇧ Shift select the armature object and press ⎈ CtrlP Set Parent To Armature Deform with Automatic Weights.

Result:

enter image description here

$\endgroup$
2
  • 1
    $\begingroup$ There's a pretty automated way to make them match-- at least, a little better than selecting vertices one by one. Separate mesh islands to new objects; mark margins with vertex groups; use data transfer modifiers by nearest vertex, modulated by vertex group, to copy from one mesh island to another; rejoin objects if desired. $\endgroup$
    – Nathan
    Commented Mar 16 at 19:19
  • $\begingroup$ Thank you so much! $\endgroup$
    – skyjun
    Commented May 15 at 0:04

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .