← All ideas
  • Published 18 Feb 2022

Geometry nodes output to vertex group

Using blender 3.0.1 here. I found no method to output modified vertex group from geometry node to the next modifier. May be we need a 'Set/Create Vertex Group' geometry node. The purpose is to combine the power of geometry node with old modifiers.

94.4%

Development Status: Done

Upvote 17 Downvote 1
fatboyzz
18 Feb 2022

9 Comments

thehappycheese

I want vertex groups because I am generating a deform-able mechanical object which needs to have bones for animation / simulation. Are attributes the future way to do this?

Adding weights afterward is not ideal. In fact I would go further; I also want some way to generate the corresponding armature using the same geometry nodes type approach, although I'm not certain on how that should work. The current workflow involves duplicating, applying the geometry nodes modifier, manually assigning weights, parenting armature, adjust bones to suit. Very tedious

h.goudey

This was considered, but we decided against it. The proper path forward is to update old modifiers to nodes and make them support attributes, rather than using the less efficient vertex group format for the future in geometry nodes.

Vertex groups are designed for interaction with armatures, when there are lots of bones to store weights for (i.e. storing a weight for each vertex for each bone is prohibitively expensive). They are not designed for storing generic data for other purposes.

fatboyzz Author

Thanks for your reply. I agree with the update modifiers to support attribute method.

Maybe in future we could deprecate the modifier stack and put every modifier into geometry node. Since graph have more expressiveness than stack and with nodes we could group them to create new nodes.

h.goudey

Yeah, that's the plan, in the long term, modifiers will be implemented with geometry nodes. Maybe in the even longer term, the stack could be replaced with something more like a tree, but that's just an idea at this point.

davision

This actually works in 3.1, the output needs to be Float and domain Point. I almost gave up after finding this post but then tried some more.

gordonbrinkmann

Oh, I would really be interested how that works... I actually don't understand how to do that if I want to use it in another modifier.

1
poisenbery

So in the event that I am specifically using Geometry nodes for an object that will be attached to an armature, this doesn't seem like a good choice. Considering the fact that vertex groups in geo nodes DID work in prior versions, and it's something that a lot of users depended on, what exactly is the justification in alienating a userbase?

Sverchok nodes DOES have the ability to output vertex groups, which makes Geo Nodes a worse option to use.

If it's so easy to do in Sverchok, why is it so difficult for blender devs?

2
poisenbery

The functionally WAS there, but a new update broke it. I submitted a bug report and the devs seemed to be arguing over it. Was labeled a "regression" of something that was never supported [yet people depended on it anyway]. The 3.3.1 version forces you to apply the modifier and convert generic attributes to vertex groups, which is an unnecessary extra step IMO.

Sverchok nodes have the ability to do this, and I would argue it's better than geo nodes.

1
fibulator777

Exactly. I have created a fully procedurally generated humanoid that I need to have an armature to rig it. This worked perfectly fine in 3.2 Beta, but doesn't work in 3.4. I also need vertex groups for hair (the new curves doesn't work with procedurally generated models, apparently. )

@h.goudy Please fix what you guys broke.