0
$\begingroup$

I have created a mesh using a cloth simulation and sewing, after I applied it, I merged all sewing points and applied an armature deform using the auto weights. It works badly, like this:

Badly made auto weights

After trying everything I decided to try the auto weights with this armature with increasingly more complex meshes until I ended up replicating the mesh manually (magnet + extrude + F) so that I have the exact same mesh, and I applied the auto weighting, and now, it works much better:

Why does blender hate me

Both meshes are the exact same and still, the auto weights work badly on the first one: why does this happen? Is there some king of atribute in the original object which is disrupting the auto weights system?

Thank you for your help!

$\endgroup$
3
  • $\begingroup$ do you mean that in the first case there is a sewing but not in the second case? in the first case don't you need to merge by distance to remove double vertices along the sewing? $\endgroup$
    – moonboots
    Commented Nov 14, 2020 at 11:22
  • $\begingroup$ Did you change the number of bones? Looks to me like there is no bone to support the side in your first image, so Blender does its best to avoid vertices that are in no deform group. $\endgroup$ Commented Nov 14, 2020 at 12:08
  • $\begingroup$ I made sure to merge all vertex by distance after applying the sewing. And the armature is exactly the same in both cases.That is why I don't understand why it's happening. Both meshes should be exactly the same $\endgroup$ Commented Nov 15, 2020 at 11:10

1 Answer 1

1
$\begingroup$

Ok, so if someone is in the same situation as me, I found a way to make the Automatic Weights work: you must apply a remesh or some kind of modifier which will change the mesh, for example: I applied a wireframe with very low thickness, merged all verts automatically with Auto Merge, rebuilt all faces with Mesh - Clean Up- Fill Holes; and now it works perfectly. So now you end up with exactly the same mesh, but the Auto Weights will work.

Probably there is a much simpler and sophisticated way to do this, but this way works.

$\endgroup$

You must log in to answer this question.

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