Subdividing Bones

Dear Community,

if I subdivide a bone, is it possible to give something like “automatic weight” to the new (and the old) bones without changing the weight of all the other bones of the armature?
Because, as I noticed, subdividing a bone doesn’t create a new vertex group for the new bone, let alone filling it with weight.

Thanks,

Kyraia

Attachments


as I noticed, subdividing a bone doesn’t create a new vertex group for the new bone

You are right. When you take a bone out and replace with different bone, you do need to delete removed bone vertex group manually first. You can then re parent the new bones with automatic weigh. When you re parent, make sure new bones are selected in pose mode. When you do that new vertex group will be created with weigh assignment. Surrounding vertex groups stays intact.

Keep in mind that you will need to add some geometry on the mesh where new joint is placed, for the new bones to work properly.

@ridix

When you re parent, make sure new bones are selected in pose mode. When you do that new vertex group will be created with weigh assignment. Surrounding vertex groups stays intact.

wow… I just tried this little trick out… I did not know you could do that… thanks for the heads up on this ridix

Hello ridix,

thank you very much, but for some reason I can’t get this to work as you described. If I reparent the new bones, either there are no belonging vertex groups created or the weight for the entire armature is recalculated.
Here is what I did step by step:

  1. Select the mesh, go to Weight Paint and paint some patterns to the vertex group so I can see if they stay unchanged
  2. delete the middle bone vertex group
  3. in Object mode select the armature
  4. in Edit mode subdivide the middle bone
  5. in Object mode select mesh and armature
    6 go to Pose mode. The new bones in the middle are still being selected
  6. (still in Pose mode) Cntr-P with automatic weight
    This creates belonging vertex groups and fills them correctly but the other vertex groups are recalculated, too, as indicated in the image.

I tried some variations of this procedure, but the only other possibility I managed to work resulted in not creating (and filling) the new vertex groups for the new bones. In this case, at least, the groups for upper and lower bones remained unchanged.

So, what did I miss?

Kyraia

Attachments


did you just select the one newly added bone ? or all of them?

… Just tried it out myself… yep sure enough… it recaclulates “all” the weights… not just a few bones weight…

Even still…

this is not a hughe problem…

just add in your bone… then create a new Vertex Group with the same name as your new bone… and weight paint it in or use Weight assignment…

that way you don’t loose all your weight paint work that you have already done…

Here’s how you should have done it…

  1. Select the mesh, go to Weight Paint and paint some patterns to the vertex group so I can see if they stay unchanged.
  2. Delete the middle bone vertex group.*
  3. In Object mode select the armature.
  4. In Edit mode subdivide the middle bone. Put armature back into Pose mode.
  5. Select object and put it in weight paint mode.
  6. Select middle 2 bones (or any bones you want to redo the vertex groups / weighting on).
  7. Key W > Assign Automatic From Bones.

Assign Automatic From Bones from this special menu will create new vertex groups for selected bones if none exist, change the vertices assigned to the vertex groups for those selected bones if they already do exist, and then set the weighting for those selected bones only. It doesn’t change anything in unselected bones/groups/weighting like the “parenting” shortcut Ctrl P does.

*Notice if you didn’t delete the middle bone vertex group step 2 this would still work since one of the “new” bones was left with the same name after subdividing. The group would just get its vertex assignments changed before weighting to the new bone of the same name.

  • Ctrl-P Armature Deform menus do any or all of the following. Parents the mesh object to the armature object and adds an Armature modifier to that object, sets up vertex groups named after bones, assigns vertices to the groups, weights the vertices in those groups. All bones every time as you found out. (I think it will stack up multiple armature modifiers too if you do this more than once -unless this behavior has recently been changed. Another pitfall for the uninformed).

  • Key W special menu Assign Auto From Bones automates the vertex groups creation, vertex assignment, and weighting for selected bones on an object already parented to the armature and has an Armature modifier already set up for it.

Confusing? Yes, unless you know how to do it all manually as norvman suggests. That should be a requirement before being allowed to use the automation shortcuts. They are a menace to new users when things go wrong.

Edit: Well, obscure features in hidden menus can catch out gurus too, no doubt. :wink:

-LP

Hello LarryPhillips,

COOL!!! I am impressed.

And here, by the way, is the reason why I wanted to know this. With the standard bone setup the foot bends awfully. So I subdivided the foot bone into 3 and get a MUCH better bending.

However … I am still new to Blender, but there is at least one thing I have learnt so far: for every probleme Blender has at least 10 solutions. I wonder what the other 9 are :wink:

Kyraia

Attachments


@LarryPhillips

Wow Thanks … I did not know you could do this… this changes some weight painting work patterns I have had to develop in the past couple of years… this is a HUGHE thing for me!!!