# Bone Heat Weighting: failed to find a solution for one or more bones [duplicate]

I'm having a problem automatically assigning weight to my mesh. I have been following this tutorial http://blog.digitaltutors.com/rigging-minutes-blenders-rigify-addon/ to teach myself how to create an armature and when I get to the section for assigning automatic weights I get the error "failed to find a solution for one or more bones." I do everything it suggests in the order it suggests it and everything up until that point works, as such when I continue with the tutorial the bones are not associated with the rig and I cannot move the mesh around.

I have been looking at other similar posts about the issue and have tried removing doubles, joining the meshes eyes to the rest of the body, turning Axis mirror on and having Bone Envelopes turned on. However none of the ideas solved the problem.

Any ideas as to why this is happening would be greatly appreciated.

It is also a MakeHuman model but I removed the rigging provided by the MakeHuman software manually.

To clarify that this is not a duplicate as it has been suggested. I followed what the solution provided by Shady Puck suggested and removed the armature modifier and instead applied a Decimate modifier. I selected Planar and set the angle limit to 6.4 degreees. I then proceeded to select the mesh then holding shift selected the armature and pressed Ctrl + P and selected "With automatic weights" but the same error message "Bone Heat Weighting: failed to find a solution for one or more bones" still appeared. I then followed the advice of the next answer given in the same link (to set the origin) and still the same error message was displayed.

This is the almost working rig however the left leg (when facing the front) does not operate correctly. https://www.dropbox.com/s/joy7zbcu0zui0hh/Original_V3_With_Armature.zip?dl=0 when using the controls to move the rig.

• Hi jOsh welcome to Blender SE. What error message do you get when you try to assign weights? Also, that linked tutorial doesn't tell you to Apply the scale of the mesh, once its been scaled down. This is a big no-no. Always zero-out any transforms before adding an armature modifier. – Mike Belanger Jun 21 '16 at 18:03
• There's a thread here that might be helpful: blenderartists.org/forum/… – Matt Jun 21 '16 at 18:19
• Okay, so the transforms have all been zeroed out. I did this when I first started because the the mesh moved so I don't think that is the problem but I will bear that in mind when I do this again. I also tried following the solution given by shady Puck in the link provided and that didn't work. My model is also symetrical and I applied the meta-rig using X-Axis turned on and it is still turned on. It is also turned it on for the rig itself. I can upload the zip file if that helps. – JOsh Jun 21 '16 at 21:10
• If that other answer Shady Puck mentioned doesn't help, please clarify. Otherwise, this will get closed as a duplicate (it can be reopened if it turns out that it's not a duplicate). – Matt Jun 21 '16 at 21:38
• I followed what the solution provided by Shady Puck suggested and removed the armature modifier and instead applied a Decimate modifier. I selected Planar and set the angle limit to 6.4 degreees. I then proceeded to select the mesh then holding shift selected the armature and pressed Ctrl + P and selected "With automatic weights" but the same error message "Bone Heat Weighting: failed to find a solution for one or more bones" still appeared. I then followed the advice of the next answer given in the same link (to set the origin) and still the same error message was displayed. – JOsh Jun 21 '16 at 21:42

Use the decimate modifier, as Shady Puck mentioned. But instead of Planar, select Un-Subdivide, and use 2 iterations. It looked pretty good to me (~29,000 -> ~14,000 polys). But make your own judgement after trying that out.

If someone else could tell my why this works, I would be happy. Even better, please edit this answer, so it actually sounds like a good answer.

After applying that Decimate modifier, I went into your 'rig' (did you mean to use 'metarig' to learn?) and selected the bottom-right four layers. I had to clear the Pose constraints on the bones because they were all wacky, but once I did that, I selected those bones DEF bones and automatically assigned weights to the VGs, no envelopes required.

• Thank you getting back to me with this answer. Im trying to follow your instructions however when trying to remove the Pose constraints I am not sure how. I tried to find Pose ‣ Constraints ‣ Clear Pose Constraints as suggested in the link blender.org/manual/en/rigging/constraints/interface/… however I could not find it. How did you then select the DEF bones. I did intend on using a meta-rig as I am very new to blender and at this stage I am just following the advice of others to try and understand how things can be achieved. – JOsh Jun 22 '16 at 15:21
• I managed to find Pose ‣ Constraints ‣ Clear Pose Constraints. I wasn't in Pose mode so couldn't see it. – JOsh Jun 22 '16 at 15:31
• Make sure you're in Pose Mode when you go to clear the constraints. Make sure the bottom-(4?) bone layers are selected only to see the DEF bones. You can also go in the Outliner and type 'DEF' in the search. But in all honesty, you have the right idea by trying to use that fresh 'metarig' anyways. You're probably seeing that any kind of automatic-generated stuff in 3d has this trade-off: you can make it faster, but you don't necessarily understand how it works, and it's more problematic to adjust. Starting from scratch takes longer, but you're more likely to know how to adjust it. – Mike Belanger Jun 22 '16 at 15:31
• Thankyou I have got it moving the mesh now. Where feet are concerned and only IK is required can i simply remove the other control for FK that does not affect the movement of the mesh and does not move when the mesh is moved. – JOsh Jun 22 '16 at 15:50
• Sorry, I thought that I had got everything working, however it seems that two of the controls for the shin and thigh of the left leg are not moving the mesh when moved (these are the two circular ones). The orb controls for the left leg are moving the mesh but they are not moving the rest of the controls with them leaving the other controls behind. Every other control works however. I will upload the blend again. By my understanding the orb controls should not be able to move. – JOsh Jun 22 '16 at 16:27

go into edit mode on the mesh > select all > press w > remove doubles

• Just tried that and it said 0 vertices removed. It also didn't work. – JOsh Jun 21 '16 at 21:12
• While this might solve the problem, it lacks any clarifying information, context, or description. This is a place where we're trying to archive solutions, so make this into a solution by adding more information. – Matt Jun 21 '16 at 21:12
• How would you suggest uploading the file. I will upload it I think as I'm clueless as to what is going on. – JOsh Jun 21 '16 at 21:14
• you could put it on dropbox or as an attachment on a google site. – no available Jun 21 '16 at 21:16
• sorry this didn't work – no available Jun 21 '16 at 21:16

I managed to figure out why I was getting the error I originally posted the question about. When setting up my meta-rig I had made a mistake somewhere (an option i must have pressed) which messed up the rest of the rig. After deleting my meta-rig and carefully creating a new one the error message was gone.