Rigging: move weights from helper bone vertex groups to spine vertex group?

I wrote a script in Maya a long time ago, that let me set up a bunch of helper bones ringing an extra robust character’s body, then taking those weights and adding them to the equivalent of spine.003 (using metarig as an example). Then deleting the helper bones.

The screen grab shows what I’m talking about better than words. There are six helper bones ringing this character’s chest area (sorry it’s a terrible character). I want to take the vertex groups of each of those bones, add them to the spine.003 bone, then delete the six bones and the vertex groups on the mesh.

Is it possible I’m the first person to ask this question? Please tell me there’s a way to do this without adding another scripting project to my already too large list.

Thank you in advance for any light that can be shed on this.

You can use geometry nodes to do it if you want-- relatively easy to create a “drop this vertex group onto that vertex group” GN modifier, and reuse the modifier. It won’t delete the bones for you, but that doesn’t seem hard to do manually (I keep helper bones in a different bone collection.) And it won’t remove the helper groups from the mesh object, but it can set them to 0 weight.

3 Likes

There exist the Weight Paint Mix Modifier, which allows to generate some sort of customizable Mixing type between 2 Targeted Vertex Groups (A & B).

Unfortunately, it’s very confusing to use and I am not sure it will solve the problem.
But I can confirm that, by Applying that Object Modifier, in a way that it affect the desired Vertex Group, it will permanently change its Vertex Group Weight Painting, according to the combination that was configured in the Weight Paint Mix Modifier. So, it is possible to actually “Mix” 2 Vertex Groups with this method… but it remains difficult to find out what would suit every single situation. There are a few tutorials covering that Modifer, but I believe it still requires a lot of trial and error to get used to it.

And it is possible to assess the Modified current state of any of the involved Vertex Groups (one at a time at least), on Weight Paint Mode. Just Select the Deform Bone, or go to Weights > Weight Paint Sample Group Operation [ Shift+Ctrl+X ] on the Mesh in the case of Blender 4.1; I believe previously that was just [ RMB-Click ].

Of course, since this Modifier only handles 2 Vertex Groups at a time, and you have several Vertex Groups to Mix, such Mixing process would have to be repeated until everything is Mixed. The main problem for me is that I don’t know how to properly use those Mixing techniques (assuming they are not bugged), “Average” seems to produce something (but this was just a quick test I’ve made; there should be many ways to achieve a correct output)…

If you think this method is useful, and can find a solution out of it, I would very much enjoy reading your feedback about how to properly use this technique; but that would be up to you anyways.

2 Likes

Thanks for that tip! You are awesome!

It takes a few modifiers, but gets the job done.

So…it’s a 2 modifier per vertex group process to do it the “right way”. VertexWeightMix will add the helper bone weight to the spine.003 group as requested. But it doesn’t move the weight no matter what setting that I’ve tried so far. Normalize Weights is a bad thing in that case. I’m using a rigged character and just using the one bone as a test. So the vertex weight that I’m adding to the spine.003 group for the test is breast.L.

spine.003 gets breast.L added to it. But breast.L maintains its vertex weights.

I have to add a VertexWeightEdit modifier to zero out the breast.L vertex group if I want it at zero before deleting the groups. Pic below for actual settings.

This is the vertex group weights on an individual vertex before:
vweight-before

This is the vertex group weights after applying the VertexWeightMix modifier:
v weight after

And this is vertex group weights after applhying the VertexWeightEdit modifier:
v weight after VW Edit

So if I have a lot of those helper bone vertex groups to move weights and delete, it’s two modifiers per group to do it totally right, or one modifier per group if I just delete the groups.

In terms of rigging time, I could probably do 24 helper bones in 10 minutes or less. Which isn’t bad for an extremely powerful autorigging technique that would avoid possible hours of weight painting.

Truth be told, for a Blender Only rig I might just leave the helper deformers, and even set the Rigify type as a basic.super_copy so those bones have controls if I want them. That’s pretty sweet for animation and secondary motion if I have 24 of them on 3 spine bones.

But if the end product is a game character, there is a potential performance hit for having a whole bunch of additional bones.

1 Like

Thank you very much for the suggestion!

I may try that eventually, but my geo node knowledge is to thin to know if I can use a regex to get all of the helpers for spine.003, and have the geometry nodes recursively perform the task. If I had to make a geo node tree for every group, it’s much slower to do that than use the modifier stack.

I’ll consult with some of my user group geo node experts next week and see what’s involved if a regex solution is possible.

Doing it recursively in GN isn’t reasonable. It’s a one-by-one, or a few-by-few, thing. You can’t get a list of VG names except via user field input to the modifier and you can’t get a bone’s parent.

There are scripts around that people have already made for dropping weights, but I’m not sure they’re up to date, and the ones I’ve seen haven’t been designed for doing it for large numbers of groups at once.

Thanks a lot for the contribution!

I’m saving the thread and will try to reproduce the method in a Rig file; maybe this time I’ll be able to get better understanding of how to work with these Modifiers. Although not a super-common problematic, I believe it can become an important application in Rigging, and that may be rendered in a tutorial in the future.

Best regards;
Pxy-Gnomes

I’m working on a “skinning tricks without weight painting” tutorial, but this won’t be in it. It’s already too long and taking forever to edit. But I might do it in a “skinning tricks 2” tutorial or shorts or something for individual techniques. I first started using the ring of bones around obese and barrel chested characters in the first version of Softimage way back i, because there wasn’t anything like weight painting back then.

But if you beat me to it, I won’t mind. I may take time off tutorials to write some tools that fix annoying Rigify problems.

People who use a mouse hate weight painting. This is one of the alternatives to that. This would be easier if Blender had vertex weight collections, or modifiers that worked recursively with regexes in the vertex weight text fields or allowed multiple selections.

BTW, I released a Multi-Layer Cloth Tutorial a few months back if you’re interested in that sort of thing. I don’t get a lot of feedback on it, so I have no idea whether people think it’s good or not.

2 Likes

Those are interesting concepts; I’ll take a look on that tutorial.

I still haven’t got the proper time to test out the main topic’s solution,
but I’ve already added the technique you’ve described to the small list of short tutorials I’m producing lately (each of these usually only take 1-3 days to make for me). Naturally, I would give credit to your work. If you happen to make that content first, however, I would rather skip making such a tutorial, as I focus on non-redundant content.

Anywys, thank you for the engagement!

It is absolutely not cool to take a novel technique that someone has shared and to make your own tutorial out of it. I’m editing another skinning tutorial, and this technique is for the next one.

Please dont use my unique knowledge and claim if for your own. My unique techniques developed over years of experience are all that I have. It would suck if people thought I was copying you.

I didn’t meant that way. And everyone here is more likely to appretiate this, except for you.

Then, for some reason, you just decided trying to vilify someone publicly; not anyone… but the actual person that provided you some insight towards one, apparently, correct solution.

To put it clearer; I would have been helping:

  1. YOU. So to spare time in what might just be an extremely niched technique that, mayhap, very few people will even care about. Already, very few people, relatively, care about Advanced Organic Rigging; it’s a very challenging field, quite arid also, especially outside of some of the Rigging ‘elites’’ circles. As for Tutorial-Making, it’s not an easy task (I know from my own channel experience), and can be, sometimes, very time consuming, frustrating and/or unrewarding).
  2. The Blender community, of course.
  3. Naturally, my channel would benefit, but so would yours, through direct recognition, credits. Yet, I am able to understand, the priority you’re giving to your channel for that tutorial idea; but do not bring that previous “gibberish” (as the English expression) to me or to this Forum, because that kind of action, is what might be reprehensible actually.

I have myself a list with plenty of quite original, niche-like Blender Rigging Tutorial content to make already. There’s absolutely no reason for me to be competing, with you or anyone else, over whichever technique/method/approach. From my perspective, provide it is accessible, or relatively accessible, to the community, everyone wins.

Oh, by the way, I wonder if I’ll ever receive any credits for my brilliant idea about using that Weight Paint Mix Modifer very few know about. :joy_cat:

1 Like

Guys don’t fight over an argument, “unique” technique or something that’s nothing new under the sun…

2 Likes

I’ve been rigging characters since 1992. When I started there was no one to learn from. Rigging and skinning characters with armatures hadn’t been done before.

I came to this forum because I wanted to find a way to bring very old techniques to Blender.

And what I’m reminded of is how some members of an email list called CG Char around 1994-1997, stole techniques we shared with other members of the list, and started a paid online animation school with our knowledge together with what they learned elsewhere. They never credited us. And they really screwed us over.

I’m out of town without access to a computer. My mom just died. I’m dealing with cleaning her house, clearing out her finances, trying to find an estate sales place, and grieving. Today is her funeral.

So if I’m misinterpreting someone suggesting that if I don’t get my tutorial out fast enough on a technique that I invented before weight painting was invented, before any other person thought of this technique, at the very dawn of character rigging, I apologize.

I’m not the right person to use the “…anything new under the sun” phrase because I wasn’t taught this technique. I am the original inventor. And I invented it because weight painting wasn’t invented yet.

I have a funeral to prepare for.

1 Like

I am not sure about what so called old technique could be available back then in those years, but I am sure weight painting existed way before toy story came out (I don’t remember correctly but I think Pixar were the pioneers of the 3d animation and rigging pipeline back then, maybe I am wrong) also in games such as half life/counter strike 1.6 in those years, otherwise animation/rigging wouldn’t have been exactly possible in the limited way it was implemented back then until years of development that allowed better toy story character rigs and animation for example…

Sorry for your lost, i hope you recover from the grieving of her absence, and may her soul have peace.

1 Like

I’m very sorry, for the sad stories you did present. Maybe I didn’t expressed sufficiently well my inclination to help with Tutorial-Making in the beginning; and this, summed up with the conditions you’ve just described, was the cause of the misunderstandings.

I don’t understand the concept of Rigging, previous to Weight Paint, and how the CG technologies were back then… But I’ve already seen, for example, some very singular techniques, from the early 2000’s, that, for some odd reason, are not widely-spread even to this day. Whichever the cause, I put some of my efforts in the fight against this kind of reality (Obscurantism or Ignorance); it’s my way to retribute, for the efforts put into knowledge that was stolen, or kept locked only for the relatively few, or for the knowledge that was sort of forgotten. But I won’t interfere with your creation.

I sincerely hope things get better for you and people close to you.
Peace.

1 Like

I was rigging characters using Softimage years before Toy Story came out. This is my second character rigging and animation job.

1 Like