Struggling with automatic weight painting/weight painting

Hi, I’m trying very desperately to weight paint a model automatically since it seems too complex for me to do manually, and I keep getting a bone heat weight error. I have done my best to match all bones to a part of the model but it still persists, and I am out of options

For reference it looks like this

Welcome to BA :slight_smile:
Try scaling your model and armature up, by a factor of 10

Will this cause an issue with exporting it as a GMod addon with scale? Also I just noticed there is weight painting on the model, I just don’t know how to connect a valve biped to that weight painting. Also thank you for the warm welcome :sweat_smile:

Non-manifold faces are one possible reason for auto weight paint failing. Also, it doesnt work particularily good with zero thickness meshes (they better to form a closed volume).
And you can reuse existing vertex weight groups by renaming them to match a Valve biped bone names. If the number of bones is different, you’ll need either manual editing or Vertex Weight Mix modifier (can merge vgroups together in Add mode)

Okay I understood part of that, so I can rename the existing ones that apply to a valve biped, but as for the cape I need to merge it with something else

This mesh may actually be too big. Playing with some things, it’s possible to get autoweights to work, but it’s finicky.

But-- this isn’t a good mesh for autoweights anyways, so it’s not worth trying to make them work. Autoweights work well on a single, manifold (watertight) mesh, and this mesh is anything but. Even if you do get autoweights working, it won’t deform how you want.

I would recommend either retopoing the model or weighting it manually (via assignment or weight painting without any automatic weights.)

Alright I’ve decided to do it manually, how do I do it with the extra bones that aren’t a part of the valve biped?

I don’t know what you mean, and I don’t know anything having to do with Valve. If you want them to have weights, give them weights. If you don’t, don’t,

Sorry I’ll rephrase, I have an armature currently and I wanted to check how to retopo the model or if you have any guides on hand for that, I want to fix the mesh without compromising the quality

You probably don’t want to retopologize the model. For one thing, that’s not really related to rigging. For another, you’ll likely lose quality: you’ll need to redo the UVs and textures, and if you’re not familiar with topology odds are your first attempt won’t be great for animation. It’s also extremely slow and tedious - you’d be remaking your model practically from scratch. It’s also entirely possible you could retopologize and still get a new bone heat error. Read the rest of my post, but in case you still decide to retopo, you can try this or this.

Welcome to the world of rigging! Your bone heating issue is a super common error people run into when rigging. It’s truly a rite of passage, which means YouTube has a lot of tutorials on the subject.

I believe most people don’t manually weight paint their mesh. The usual workflow is a Automatic Weights (sometimes enhanced with an addon) followed by manual tweaking.

There’s also the paid Voxel Heat Diffuse Skinning Addon which either prevents or automatically solves bone heating errors, and will handle auto-weights on loose geometry much more effectively then Blender’s auto-weights.

If $30 is too much, no worries, you can also try the developer’s FREE Surface Heat Diffuse Skinning addon: “The surface heat diffuse skinning add-on can generate similar results to Blender’s built-in Armature Deform->With Automatic Weight tool, but it never fails.” (you don’t need both as Surface Heat is included within Voxel Heat).

And here’s how to add bones.

1 Like

Thank you so much! I appreciate all the help

You’re welcome!

I don’t think I can give instructions on retopo here, but it’s not hard to find stuff by googling “blender retopo tutorial.” For purposes of getting good autoweights, you can make an awfully lazy retopo and then just copy weights from it to your original mesh (so, no, you don’t have to redo a bunch of stuff.) That involves a data transfer of weights; not sure if that’s a new technique to you as well.