2

I am trying to make a focus control in geometry nodes for a LOD (limit of detection). I have one vertex in the object "plane". This vertex is in a vertex group named: "DOF". I have move it in order to control the location of an empty (copy location, Vertex group : DOF). That's work well but when I had a Grid mesh in geometry nodes the empty jump to the object location... I cant understand why, is there a way to resolve this?

enter image description here

PS: I have had a switch just to show the difference when the Grid is added and I am using blender 3.5a. Thank you.

Fred I. R.
  • 744
  • 2
  • 9

1 Answers1

4

TL;DR When new geometry generated inside GN is involved, vertex groups get converted to an attribute type older modifiers can't read. You'll have to work around this limitation until those modifiers get updated. Sorry about the long-winded reply below, just wanted to put down a clear explanation for posterity.

This is one of the growing pains of Blender's gradual switch to a more generalized everything-nodes system. Vertex Groups are a somewhat specialized attribute type (a combination of boolean and float) and older modifiers expect that exact structure to function. In your case it's Copy Location, but it's the same with any other that employs them.

Geometry Nodes does not create specialized attributes like vertex groups and when nodes that create new geometry (like Join Geometry) encounter these, they convert them into generic float attributes. In simple language: Blender used to say "these vertices are a in vertex group, use that info where you need a selection", when now it's switching to saying "these vertices have a value of $1.0$, use that info wherever you want, however you want". That generalization is bringing much more power and flexibility to the system overall, but other parts of that system need to be updated to take advantage of that.

From the manual:

Due to ongoing development in the area of attributes, many areas of Blender can not yet work with the generic (identified with a name, stored on any domain with any data type) attributes used by geometry nodes.

In short, it's not that the vertex selection is getting lost at all (you can still see it listed in the Spreadsheet under a column named "DOF", in your case), it's just that older modifiers don't know how to read them. You can test this yourself: add another Geometry Nodes after your current one and, for example, use an Extrude Mesh on your vertex group. It'll work fine, because Geometry Nodes just reads the generic "DOF" attribute, and in this case, uses it as a selection for extrusion—it doesn't care if it was created specifically as a "vertex group" or not, or if there exists other geometry along with the original:

enter image description here

Whereas Solidify modifier doesn't know how to read the "DOF" attribute if it has been converted to generic float values:

enter image description here

This will get resolved as the older modifiers get replaced with new, Geometry Nodes-based versions, but that will take some time.

Kuboå
  • 8,790
  • 1
  • 16
  • 42
  • 1
    Thanks a lot Kuboå That's a very complete response, more than I expected, on a very specific problem. I hope this problem of level of interpretation will be solved. – Fred I. R. Dec 16 '22 at 18:04