Jump to content

Error: Bone weighting failed to find solution for one or more bones.


VirtualKitten
 Share

You are about to reply to a thread that has been inactive for 1070 days.

Please take a moment to consider if this thread is worth bumping.

Recommended Posts

HI, I have just finished my second model:

f632f2a9252c0e34c88169c1d4d7afdb.png

 

I am loving the new Blender 2.92 with the new 'shader' even I can add textures to models and its as simple as selecting the vectors and presting CTrl + add to add a texture from the Texture menu. You simply link the boxes up .

However I have added a bento skeleton as my Avastar only had a female character and got the armature again from work bench 

Using the information on how to add automatic weights in 2.8 that @Aquila Kytori helped me with i selected model and then armature  and pressed Ctrl +P to get the menu and chose 'Armature Deform with Automatic Weights' this gave odd spurious message : "Bone weighting failed to find solution for one or more bones." I am now wondering if this is the same option or whether I should have gone for 'Armature Deform' which just did nothing. Does anyone have any idea what this message means please and how to fix it .

 

P.S I also have same model in previous generation  not linked, in another collection could this be causing the problem. I move Avatar into 1st collection but this has not solved the problem. I also removed 2nd collection but this made no difference . Does anyone have any another ideas please ?

Hugs D x 

Edited by VirtualKitten
Link to comment
Share on other sites

9 hours ago, VirtualKitten said:

Using the information on how to add automatic weights in 2.8 that @Aquila Kytori helped me with i selected model and then armature  and pressed Ctrl +P to get the menu and chose 'Armature Deform with Automatic Weights' this gave odd spurious message : "Bone weighting failed to find solution for one or more bones."

I've had this problem. Google led me to this solution:

  1. When the Object consists of 2 or more separated (not connected) meshes which intersect. This could be solved by fixing the mesh topology, like connecting the intersecting meshes into one single mesh and by fixing your model to avoid the intersecting areas.
  2. When the object has duplicate vertices. This can be solved by removing doubles [see below] in Edit Mode

"Remove doubles" is called "Merge by Distance" now and it's in the Mesh -> Clean Up menu in Edit Mode.

Also, you should delete every deform bone in your armature that you aren't going to use for this model, before you assign automatic weights. They will interfere with your animations later.

  • Like 1
Link to comment
Share on other sites

@Quarrel Kukulcan I hope you are well yes have tried M  in edit mode with some success .00004  and .00008 removed 48 . Have used clean up >> Merge by Distance and found no problems . I have modifier applied and cant un apply it  re running Ctrl + P and then adding Automatic Weights gives same error. Avastar pointed out they have some skeletons on add menu but didn't think it would help with binding  problem. As the Work Bench bento armature worked well with my dragon. I did not get this error last time.

As you can see from the wire frame model the mesh is not that complicated

996159a4eca2151135760d8057474aac.png 

Edited by VirtualKitten
Link to comment
Share on other sites

Bat4.1 joined :

I was getting:    Bone Heat Weighting: Failed to find solution for one or more bones.

After following Quarrels advice to

On 10/10/2021 at 7:35 PM, Quarrel Kukulcan said:

 2. When the object has duplicate vertices. This can be solved by removing doubles [see below] in Edit Mode

Merge by Distance with a distance setting of around 0.0061m  which removed 206 vertices  and then again Ctrl + P > With Automatic Weights  the mesh was animating approximately along with the bones.

781754216_bat4.1wing.gif.3ea4814aa54c73b0074f638403b97d74.gif

 

You need to be a lot more careful how you align the individual bones to the mesh some of the bones look like straw thrown on a roof :) Overlapping bones like that are not a good idea.

Start by deleting all the bones you don't need then spend time positioning the bones correctly. Doing that will probably save you some of the frustration of manual weight painting.

When positioning the bones on the model change the bone Display As  from the default Octahedral to Stick.  That way you may find it easier to position the bones more accurately.

Edited by Aquila Kytori
Link to comment
Share on other sites

Hi Aquila Kytori I could not resolve the bones  Bone Heat Weighting: Failed to find solution for one or more bones or getting a working armature from the work bench model . I already had run Mesh by Distance on the advice of the Avastar group which is super . This did not resolve this  I tried adding the armature or Machine blah website and take it into a model I made this would not attach to the model . I went instead to the add skeleton on avatar and added a skeleton which i started to rearrange . This went well until I got to the bone HipLeft  which would not move at its upper end is this armature broken too? I supplied you with an odd image of a reference bone track which i presume meant my armature from  work bench model was currupted .

 

Video trying to move joint of HipLeft not moving : https://gyazo.com/fd9f337dd5634cc396a780d6983a5797   https://i.gyazo.com/fd9f337dd5634cc396a780d6983a5797.mp4 something is wrong with the Avastar rig too

48460a1ae76442abea0ff17ad711ea7f.png

 

 

 

 

 

Edited by VirtualKitten
Link to comment
Share on other sites

I still cant believe in this lovely bells and whistles new version I still cant select a vertex and it tell me what vertex groups are on  or using it . Its such a poor part of blender, yes if you have the vertex group selected it shows up but this is reverse unhelpful. If you you don't know what vertex group is causing the problem from automatic weights. then you are looking in the dark the whole time !

I brought this up last time but there has been no improved feature added  As you can see with the vertex tool selected and the correct vertex group the selected the info panel shows the weights . Why does this need the vertex bone to drive this as most of the time you don't know it and it shows it in info panel anyway . Clearly this is backward. 

 

b2f54d305adb65469621ca281be294b8.png 

Link to comment
Share on other sites

Stop whinging ! (complaining all the time).

You have done all this before with the Dragon.

If you would just sit down and watch a weight painting tutorial or two you would know how to sort out this kind of problem already.

I am sure we said the same thing 2 or 3 months ago.

 

So with that said a little recap :

3 hours ago, VirtualKitten said:

I still cant select a vertex and it tell me what vertex groups are on  or using it 

That is because those vertices are not assigned to any vertex group. They have no weighting at all. The clue is when you rotate a bone further up the chain, for example the mShoulderLeft we see that some vertices are left behind.

To illustrate this, in the image below I have rotated the mShoulderLeft upwards (green arrows) and we see the "sharps" or "spikes" as you call them (red arrows). These are vertices that were left behind when rotating that shoulder bone. Left behind because they are not assigned and weighted to any vertex groups. For some reason or other they were not weighted when we parented the mesh to the bones using the Automatic weights option.

How to fix this?

1:  With mShoulderLeft still rotated upwards we look carefully at the mesh around the area where the vertices were left behind and we see that they should move along with (be weighted to) one or other of the two bones that are indicated with pink arrows. ( mHandMiddle1Left and mHandMiddle2Left )

Rotate-min.thumb.png.8570ad2a0652c1cb3f5de3cbce90a024.png

 

2:  Select the first bone,  mHandMiddle1Left  (pink arrow in next image). Select the Paint brush tool and set the Brush settings as shown (outlined in green).

  Tip: when weight paining control the effect (influence) of the brush by having the Weight at a value of 1.000 for adding weight or 0.000 for removing weight. and nothing in between. To vary the influence of the brush vary the Strength value. Normally when weight painting the strength value should be a lot less than 1.000 so that you are adding or removing weights gently, slowly adding/removing influence as needed.

With the brush Weight at 1.000 and the Strength at 1.000 paint over the vertices  that belong to the selected bone (indicated by the pink arrows). they will (should) "magically" pop back into position :)

1299953964_Weightpaint1-min.thumb.png.1bdf21d2393153b86033a174556c2900.png

 

3:  Select the second bone (mHandMiddle2Left) (pink arrow) and paint over the vertices (orange arrows) that should be weighted to this bone. They to will pop back into position.

Screenshot_2-min.thumb.png.d62e91dfa1b788a2174603694e55c0b9.png

 

Done :)

Unfortunately not 😒

Many of the vertices of the bat belong to more than 4 vertex groups right? but we know that for SL,  4 vertex groups per vertex is the maximum!

You are now using the Avastar addon for Blender which I don't have but I believe there are tools in that box that should be making your life easier and one of them is .......

...........a method to ensure that no vertex is influenced by more than 4 vertex groups. (and also I believe another tool for checking that all vertices belong to at least one vertex group).

So next step for you should be to find out how to apply these tools :) I would imagine it would mean something like selecting the bat and re-parenting again with auto weights but this time ensuring that no vertex is assigned to more than 4 vertex groups.

 

If after fixing the problematic vertices the model is all over the place because of rotating bones when weight painting you can reset to the original pose again

by : in Pose mode, select all the bones, open the Pose menu > Clear Transforms and choose the All option.

95793820_Posecleartransforms-min.thumb.png.478e84823b05c532b2cf5487e45d76b7.png

Edited by Aquila Kytori
Link to comment
Share on other sites

 

On 10/13/2021 at 11:46 PM, Aquila Kytori said:

...........a method to ensure that no vertex is influenced by more than 4 vertex groups.

With vanilla Blender the option can be found in Weight painting mode, with all the vertices selected > Weights > Limit Total :

868911210_Limitto4vertexbroups.thumb.png.c188ffe1ae9db67fbb115e4d2529acfc.png

 

And to Normalize the weights for all vertices : again with all the vertices selected, Weights > Normalize All  In the operator panel uncheck Lock Active :

1900251126_Normalizevalues.thumb.png.59a1430936b3e5c06d7ec28527a85161.png

 

And when weight painting enable the option Auto Normalize :

363207609_AuotNormalize.thumb.png.dd556780aa0e5c063eecd13d13764a26.png

 

 

Edited by Aquila Kytori
Link to comment
Share on other sites

Um I think your missing the point! This is ever changing the last time I did dragon I could select a vertices and a bone and see the weights of the bones in information panel at the bottom clearly showing their weights removing bones vertices groups  from the vertex  applying with a brush never worked for me on dragon the brush use was not always doing what it should be if you remember this is was I asked Aquila for help . If fact if I select any of these points as shown in the first picture I posted and click the point this does not remove at all . I checked your button to auto normalize and it didn't help! I tried all what you suggested and could get it to do nothing . Aquila guided me through vertices to remove vertices from bones vertex groups does this no longer function in same way as it seems strange none of this does the same thing .

Do you have really fast cray computers or something as I don't understand why when I follow your steps nothing happens the settings all changed as you suggested but the painting is not working. To remove the points . If fact it does nothing at all nothing is painted.  Am not whinnying but when this doesn't do the same thing I am stuck. I point out none of your own try's at this got rid of these sharps when i sent you my blend file. So how is it you can do it now !

Link to comment
Share on other sites

3 hours ago, VirtualKitten said:

I don't understand why when I follow your steps nothing happens the settings all changed as you suggested but the painting is not working. To remove the points . If fact it does nothing at all nothing is painted.  Am not whinnying but when this doesn't do the same thing I am stuck.

OK, if you like we can take it one step at a time and try to work out what it is that is different from my Blender settings and yours.

 

 I have saved a Blend with the viewer set up as in the screen-shot below. I have added the link for the download in your DM's.

  It should open just like in the screen-shot.

Note that 1a: Vertex selection/masking is not enabled.

                  1b: Brush settings,  Weight = 1.00   and     Strength = 1.000.

                  1c:  Auto Normalize is enabled.

                  1d: mhandMiddle1Left is the vertex group that is selected. This was not selected directly from the list of vertex groups but by holding down the Ctrl key and hovering the      

                       mouse over that bone in the 3D viewport and left clicking on the bone.

In the screenshot it is the vertices that I have indicated with the orange arrows that should be assigned 100% to the mHandMiddle1Left bone. But at the moment they are not weighted to any vertex group.

 

1-.thumb.png.6ea8dc6596ca3a5b961544fba57ba14f.png

 

So step 1: will be to see if you can paint over those vertices so that they snap back into there correct positions.

As I said  before the .blend file should open almost exactly like in the screen-shot. I want you to try painting over those vertices and see if they snap back into position.

To do that hold down the Left mouse button and drag the orange circle (paint brush) over each of those vertices. You may have to do it one vertex at a time.

If they snap into position I would like you to then select the next bone (mHandMiddle2Left) by holding down the Ctrl Key and selecting it with the LMB. Then painting over the remaining "sharp" vertices. They to should snap back into position.

If you do not succeed with this then take a screenshot and post it here.

If all is good then try continuing on to the next step which is selecting all the vertices and Limiting each verex to a maximum of 4 vertex groups etc .

 

Edited by Aquila Kytori
Link to comment
Share on other sites

37 minutes ago, Aquila Kytori said:

Note that 1a: Vertex selection/masking is not enabled.

Yes! This! (It's the options in the top left green rectangle -- you need to click both of them off.)

Thanks. I've never been able to figure out why I couldn't consistently select bones during weight paint mode.

Also, I've sent VK a fixed version of the mesh that doesn't have the mesh errors that break the auto-weighting.

Link to comment
Share on other sites

 

3 hours ago, VirtualKitten said:

the last time I did dragon I could select a vertices and a bone and see the weights of the bones in information panel at the bottom clearly showing their weights removing bones vertices groups  from the vertex

The other way of manually assigning or removing vertex weights weights:

1) Enable the Vertex selection (masking) option.

1b) Note now that below the vertex list, the options to Assign, Remove, Select etc are now available.

2) Select the vertex (or vertices) that you want to work with by holding down the Shft key and LMB to select the vertex.

3) From the list of vertex groups select the relevant vertex group.

1b--min.thumb.png.087630dc423535fdebf29582089b5ed9.png

 

 

4) Check that the weight value is set to 1.000 (100%) then hit the Assign button.

5) The selected vertex (vertices) should now pop back into the correct position(s).

5a) Note that in the left hand side panel that the vertex weights are now displayed with the vertex group and the vertex weight value.

   Also if you had more than one vertex selected when the assign button was used it will be the last vertex's weights (the active vertex) that will be displayed.

1c--min.thumb.png.3526afb069ec2b86eb7716d4249bf91e.png

 

 

Edited by Aquila Kytori
Link to comment
Share on other sites

Hi @Aquila Kytoria and @Quarrel Kuklcun  Hi thank you for all your help we are all learning so much from this on this forum. 

but Is fed up is set to write to blender as the system is becoming worse now i am told you cannot resize your mesh and skeleton (armature ) without re rigging it each size change who writes this stuff why is this not disabled on import mesh
434044202806f0fcca92c97b799eeb48.png

in fact this button it just doesn't work its all very lame  and basic programming to gray something out if it doesn't work with rigged mesh .

It seems am no way forward at all apart from create mesh . I might just go back to old way create to models with up wings down and hide one or other as this Animesh seems currently a bad joke . Remember my dragon not a proper dragon as can not place particle fire in secondlife as it comes out of middle only,  blender its super but this secondlife not so good.

So I was told if I needed 100 sizes in second life I need 100 newly rigged objects  a very tiresome thought  it sent me fast a sleep thinking about it . So If I can scale this in object mode in blender which works why cannot Secondlife ? What does the lock buton do in the rigging tab ?

Hugs D

 

 

 

Link to comment
Share on other sites

2 hours ago, VirtualKitten said:

but Is fed up is set to write to blender as the system is becoming worse now i am told you cannot resize your mesh and skeleton (armature ) without re rigging it each size

I just tried with the original dragon mesh and in two steps the dragon were resized and it kept its new size when rezzed and set to animesh inworld.

Example with the dragon:

1.     In Blender Object mode Select the dragon then Shift select the bones. Now you can rescale them as needed. In this example they were scaled to half size using S key to scale    followed by typing 0.5 and LMB to validate. (S  + 0.5).

351913944_scaledragon0.5-min.thumb.png.c66420a5803c1376b3c301c413c0a66f.png

 

2.     Next the new scale has to be applied. :  With both items still selected use Ctrl + A to open the Apply menu and choose the All Transforms option.

1135927356_Dragonscaleapplied-min.thumb.png.0bffd27402a3a1578a84ecf48823e898.png

 

Export the dragon as usual using the  SL+open sim rigged  Presets.

In the SL mesh uploader > Rigging I had both Include skin weights and Include joint positions checked.

 

Below is a screen- shot of 3 dragons of different sizes set to animesh and keeping their correct new size when animating:

1643717088_Dragonsscaledandrezzed-min.thumb.png.d264c0aa01275f9bbc889e2fbc5e1f71.png

 

If it works for dragons then it should work for bats 🙂

Edited by Aquila Kytori
Link to comment
Share on other sites

4 hours ago, Aquila Kytori said:

If it works for dragons then it should work for bats

The complaint is that that's the only way to scale. You can't even use the scaling factor widget in the upload panel (allegedly) -- you have to re-export a different DAE file.

Edited by Quarrel Kukulcan
  • Thanks 1
Link to comment
Share on other sites

You are about to reply to a thread that has been inactive for 1070 days.

Please take a moment to consider if this thread is worth bumping.

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
 Share

×
×
  • Create New...