• Editor
  • Bones will not bind to a mesh

Pressing Auto should also attempt at any time to compute the weights for you, sometimes it fails (when the bones are outside of the mesh for example) but most of the times it helps get you started. I still think you added just one bone the very first time, but I'm happy you were able to solve it (:
I'll be curious to see the finished piece! it looks like some sort of moe school girl character and it seems very well drawn :3

Related Discussions
...
6 años más tarde

I still don't understand how to fix this. Like the original post, if I attempt to create a new bone and bind it to the mesh, none of the vertices will go to that bone. (none of the vertex pies will change color)

Even worse, if I remove all my binded bones from the mesh and start over, it still only binds vertices to the first bone. Isn't there some way to attach vertices to the bone?

The first time you bind bones to a mesh, auto weighting is performed. This gives you some reasonable weights and you can customize them if needed.

Subsequent bones you bind to the mesh don't change the weights. If you want to re-run auto weights with the newly added bones, click Auto.

If I click Auto it says "Sorry. Weights could not be computed" Is there a way to manually select the vertices and bind them to a bone?

    Note your terminology is slightly off. The bone is bound to a mesh if it shows up in the Weights view list, even if no vertices have weights for that bone. Each vertex is weighted to one or more bound bones.

    There are a few reasons auto weights fails to be applied. If you can show your mesh, or better post the .spine file, we can tell why it happens.

    Current mesh and bones

    Creating a new bone

    Adding bone to mesh

    At this point I should be able to Smooth or Auto to distribute weight to this new bone but nothing works.

    EDIT: I've figured out how to manually select a single vertex and distribute weight from bone11 to bone12, but I would like to be able to use Auto to determine its weights. Also, I still can't do this by starting over (removing all weights and rebinding all the bones) or else all vertices will be weighted on a single bone. I'm not sure how I accomplished this originally.

    Thanks for the images. What you are doing looks totally fine. We'd like to see it firsthand to determine why auto weights won't apply. Can you please post or email the .spine file? contact@esotericsoftware.com We don't need the images.

      Nate

      Okay, I emailed it to you. Also, I tested recreating the mesh (by unselecting the mesh and then remaking it) and then tried binding all the bones and it will distribute the weights properly.

      Thanks! The issue is that your mesh is self-intersecting:

      That plays havoc on the math needed to do auto weighting. Apologies it doesn't give a better error message.

      To fix it you can move the vertices so the mesh doesn't self-intersect, then auto weights will work.

      You will then find that changing the weights makes the vertices move. This is because the bones have been moved from where they were when the bones were bound to the mesh. When that happens, the various bones want the vertex in different positions, so when weights change the vertex position changes.

      To fix that if you click the Update button in the weights view it will update the bone bindings using the current bone and vertex locations. Now adjusting the weights will not change the vertex positions.

      This is quite a tricky part of mesh weights, so don't worry too much if you don't fully understand it at this time. To learn more about it check this part of the docs:
      https://esotericsoftware.com/spine-weights#Update-bindings

        Nate Ah, I see. Thanks for getting to the bottom of this mystery.

        23 días más tarde

        When you bind mesh to path constraint, changing the spacing helps.