1
$\begingroup$

Anytime I have two meshes and try to weight paint the smaller one to my main mesh and move it with the armature it always breaks into smaller pieces. I don't have very much experience with weight painting and I'm confused on why this keeps happening. Here is the blend file. enter image description here

enter image description here

$\endgroup$
5
  • $\begingroup$ Hello could you please tell what bone you're moving for example? $\endgroup$
    – moonboots
    Oct 15, 2022 at 18:01
  • $\begingroup$ I'm moving one of the spine bones. I weighted it to the two spine bones and edited the weights in hopes that would fix it but sadly it didn't $\endgroup$ Oct 15, 2022 at 18:03
  • $\begingroup$ You may have some duoubled vertices in that rib-looking mesh. See if merging them can help you. $\endgroup$
    – ruckus
    Oct 15, 2022 at 18:31
  • $\begingroup$ The odd thing is the mesh is merged but for some odd reason even if it's merged it still breaks apart $\endgroup$ Oct 15, 2022 at 18:34
  • $\begingroup$ Merged or not, it doesn't matter at all. What only matters is the weights assigned to these mesh parts. They should be shared across only the neighboring bones in the hierarchy, and not addition over 1 for each vertex. But to begin with, is this something you modeled yourself? The body mesh seems quite low poly compared to the white/red thingies, to me it doesn't make sense to have this sudden jump in mesh density, such detailing should be in the texture IMHO. $\endgroup$
    – L0Lock
    Oct 16, 2022 at 1:42

2 Answers 2

0
$\begingroup$

As I mentioned in the comments, the issue here is the weight paint.

For ease of use, I joined the white shapes into the body mesh by ⇧ ShiftLMB LMB the white shapes then the body and pressing ⎈ CtrlJ.

Then, select the armature followed by ⇧ ShiftLMB LMB the body and switch to weight paint mode.

You should be able to select a bone via LMB LMB and see the weights for it.

weights

Immediately by selecting different bones, we can see that the white mesh is fully red, and for different bones. The colors in weight paint indicate how much the current bone influences the mesh. Dark Blue being 0 and Red being 1, aka 100%.

For an organic mesh, influence is rarely at 1, it's often shared across multiple bones. Multiple bones can influence the same vertex, and the addition of all influence should never be over 1 (aside from some special corner cases). That's called Normalization.

A quick way to fix it would be to first go to the menu Weights → Normalize All.
Then, in the options popover, make sure auto normalize is enabled so that you don't accidentally go over 1 when painting:

auto normalize

Now, because you have overlapping meshes that are independent and need to somewhat follow each other, that makes it a bit tricky. And the best solution for that is to avoid the situation to begin with. Hence, I mentioned my concern about this kind of detail looking out of place as a mesh and should probably be made in the texture instead. Otherwise, instead of modeling it as a separate mesh, at least try to make it part of the same mesh so that the topology is made to move together.

Otherwise, if you really can't or don't want to change that, then what you need to do is try to match the weight of the body as close as possible. There isn't any special trick to that, try to get the same colors

$\endgroup$
0
$\begingroup$

You can select the added details object, delete all its vertex groups, add a data transfer modifier, set its Source as the body mesh, enable "vertex data" and "Vertex Groups", click on "Generate data layers", then Apply (Ctrl A) the data transfer modifier.

This procedure will create a new set of vertex groups, in which every vertex is weighted the same way as the nearest vertex of the source mesh.

enter image description here

$\endgroup$
1
  • $\begingroup$ Oh wow thank you so much ^-^ $\endgroup$ Oct 17, 2022 at 3:13

You must log in to answer this question.

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