Human mesh deep facial structure causes rig not to join with mesh

Hi Guys,
I already had another similar topic few days ago but now I’ve spent some 15-20h with this problem and can’t figure it out myself.

I have a high poly human mesh originally imported from .obj file and I built a rig for it with Rigify addon (not weight painting done yet, otherwise pretty good for first rig). Okay, so far so good.

The time I try to join rig with the mesh I get this error " heat weighting: failed to find solution for one or more bones". I tried to remove doubles, separate vertices by loose parts (and joining back), etc but couldn’t get it work. After few hours of desperation I found out it has everything to do with head and to be exact it’s eyes, nose and mouth which cause the issue. If I remove vertices from all these areas, joining the rig works perfectly.

Here’s a screen shot which shows better what I mean:

Just wondering if anyone here had time to take a look at my .blend file (37MB) and perhaps fix it/tell me what to do with these issuing parts ? I’ve tried sculpting them smoother but no luck so that’s not a solution.

My blend file is here: https://www.kujakatti.fi/nick_z_with_armature.blend

(It’s on the level where one needs to generate the rig and then join it to mesh)

I found out someone had similar issues and got an answer that there could be something to do with mesh topology with meshes intersecting and this should be fixed, but if that’s the case here too I don’t know how to do it :frowning:

Any help more than appreciated!!

So I took a quick peek at your blend file.

While I could not fix it neither do I think rigging a mesh this heavy is smart. What you are working with is a heavily subdivided mesh where the modifier has been applied. I.e. the subdivisions have been applied to the mesh permanently. This, even when (if) you get it to work, will be incredibly slow.

The sensible approach is to use your unsubdivided model and apply a subdivision surface modifier after your armature modifier. This means you can do the weight painting and animating on a lighter, more responsive mesh and use the subdivision only for the final render.

As a general note the mesh has quite a lot of unmerged vertices. This probably does not help the skinning algorithm either but my guess is it just borks out because of the poly count.

1 Like

Your not going to be able to animate this much with such a heavy mesh. First of all your mesh is messed up and your rotation and scale is not applied so apply that before before you do anything or you will be posting again. Your metarig doesn’t look right to me. Very strange heel bone. Your going to have to weight this type of mesh manually. Good practice anyway because you would have a lot of adjustments anyway and it probably is quicker to just weight paint it and adjust it. Select your mesh in edit and remove doubles after saving a duplicate if your going to try to use this detail mesh to bake your UV’s. Delete that UV you have you don’t need it. Decimate the mesh at least a couple of iterations to get something you can work with unless you have access to Watson or another super computer to use for animation. Apply that. Generate your rig. Parent with empty groups so you get your vertex groups. Select your deform bones in pose mode and switch to weight paint and have at it for weight painting. You might try envelope weights but I think if you are trying to use rigify you will have a mess. Just take your time and weight paint it. As another alternative, you can also retopo this mesh and use the retopo mesh at a much lower resolution. Take a look at that before you start because then you can correct a lot of the mesh problems as you go. Good luck.

When you have this many vetices there will almost always be a few that bone heat won’t see. that is what is happening.

1 Like

Thanks for your constructive and detailed answer. Just as you said it this rig has been a very good practise for me since Blender and whole 3D world is new to me and I’ve been fooling around with Blender just few days now.

You mentioned about strange heel bone, I too agree. But I’m not sure how it is supposed to look like since I used Rigify metarig and just shifted in one direction to correct place, it was like that in the very beginning. I now understand I should apply scale and rotation (just have to find how to do that first, lol). After that I’ll try to succeed with weight paint, already took youtube lessons with it :slight_smile:

UV, Decimate… Unknown for me so far but will certainly now find out everything I can.

Thanks, appreciate your post and now I know where to spend next… umm… 50 hours :smiley:

Sorry didn’t realize you were kind of new to this stuff. Here are some references for you:

Rigify bone placement https://archive.blender.org/wiki/index.php/Extensions:2.6/Py/Scripts/Rigging/Rigify/

Applying transforms is in the object header menu, Or you can just Control A and chose rotation and scale. For you, also use location so you get your armature and mesh on same origin point. This makes your stretch to bones behave instead of trying to scale at 1 when you don’t have your scale at 1. A common error when you start out on rigify.

Baking your UV’s is a way to take high poly detail (for instance a sculpt; or in your case a high poly mesh) and putting that detail on a low poly mesh. Worthwhile knowing. This technique is used for Z brush sculpting on most software and game characters almost always use that technique. Film is not so critical because you will be rendering out shot usually and not playing a game with it. First review retopology and then just baking a high poly sculpt to a low poly model. You may need to get acquainted with UV unmapping. I would recommend zacharias reinhardt workflow and baking tutorials. (Not sure if he has one for free in English; but his German is easy to follow. His sculpting tutorials are not very expensive. Not trying to plug him or anything but I found his worked best for me. https://zachariasreinhardt.com/category/tutorials/ That is what I would recommend. Others are also out there.) Getting UV’s right is what I think is hard because I rarely if ever texture in any detail. I let others do that for me.

For weight painting I would go here. https://www.youtube.com/watch?v=_y8mOQBOHxA Even though this is rigify, the weight painting is applicable to everything. This is a goto Blender tutorial from DanPro who is frequently on the forum. Very explicit and well thought out. In fact you probably should go through the entire series.

You may want to use the basic metarig without the face controls if you are just learning to simplify things. You can always just put a jaw bone in and use shape keys to animate. It will make it a lot easier for you. Your view port performance is largely dependent on your machine. If your using a newer I7 PC for instance, 200,000 faces is not unreasonable (but I caution that because once you put in props, you can easily exceed that and your machine will bog down, but even then you are better off rendering out play blasts rather than trying to use the view port to judge your work. Nothing is worse than finding out your timing is way off after you have spent a couple of weeks or so on a 10 second animation shot. Just ask one of my former bosses, LOL. Others may differ or have better references. Don’t be afraid to ask on the forum