0
$\begingroup$

I have a mesh imported from a game that consists of multiple objects. The fact that there are multiple body sections is confusing auto weights when rigging, and is causing solve errors. Is there any way to remove the intersections so that it is one object? I was thinking of using some kind of boolean tool but rigging it manually would be much easier than de-sembiling the mesh and using booleans to reassemble it. Any ideas on how I could do it? enter image description here

I want to remove all intersecting geometry so that the object is homogenous, not having extra mesh inside it but an empty shell so that weight paints wont get confused

Just so you know, I know how to rig, and am just looking for an easier way to weight paint

In conclusion, all I want to do is clean up excess geometry inside the mesh and overlapping geometry

$\endgroup$
4
  • $\begingroup$ Not sure I get you, but making a boolean union out of the mesh isn't hard. Use p->loose parts in edit to separate; use a geometry nodes modifier to boolean all the parts. But this isn't something to contrast with "rigging manually" and I'm not sure why you do; consider separating by loose parts and then bone parenting instead of using armature deform + weights. $\endgroup$
    – Nathan
    May 24, 2021 at 22:48
  • $\begingroup$ Your idea would probably work if the mesh didn't break up irregularly. It is a game asset which I imported so the mesh is not the greatest. When I separate loose parts it breaks up into plates, rather than sections. I tried merging by distance and then separating but then multiple body segments get glued together $\endgroup$
    – Relevred
    May 25, 2021 at 12:48
  • $\begingroup$ If a zero-distance merge by distance breaks the model, then there's nothing simple and procedural you can do here, with my technique nor with any other. Your only potential bet would be a script that merges on the basis of both distance and custom normal agreement. There may be an addon that does this, or you might have to make your own. $\endgroup$
    – Nathan
    May 25, 2021 at 14:53
  • $\begingroup$ Oof. I have never touched blender code, so I guess I have to do things the tedious way. Thanks for your help though! $\endgroup$
    – Relevred
    May 25, 2021 at 20:19

1 Answer 1

1
$\begingroup$

This is a common problem. You're probably getting a "heat weighting failed" error, as described here: heat weighting: failed to find solution for one or more bones.

This happens when you're trying to bind an armature to a mesh that consists of one or more pieces of non-manifold geometry. It doesn't matter whether these pieces have been joined together or not. If there is non-manifold geometry, you can encounter this issue. The only solution is to rebuild the mesh to get rid of anything non-manifold, so that you end up with one single, continuous mesh with no mesh collisions or holes. That will likely be a labor-intensive effort, but you might be able to reduce some of the workload by using the Mesh Cleanup tools.

$\endgroup$
3
  • $\begingroup$ I know that, but I am trying a way to quickly do this because it looks like something that can be easily done with union booleans, and am trying to find a way to do it easily. I want many different similar characters, but dont want to spend 30 minutes rigging each one $\endgroup$
    – Relevred
    May 24, 2021 at 22:14
  • 1
    $\begingroup$ With all due respect, character rigging is an extremely complex and time-consuming process. It may not be for you. Thankfully, you can cut ahead in line by buying addons and content. There are lots of ways to proceed, including hiring freelancers to do the work for you. Good luck. $\endgroup$
    – R-800
    May 25, 2021 at 1:27
  • $\begingroup$ I know how to character rig, I have done it a bunch of times with IK's and all that. I am just looking for a simpler way to weight paint the character to save time. I know how to rig, and want to rig many similar characters but am looking for a more efficient way of doing so. $\endgroup$
    – Relevred
    May 25, 2021 at 10:20

You must log in to answer this question.

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