[Geometry Nodes] New domain to store 'global' attributes
With the current iteration for blender 4.2 there seems to be no way to store attributes on the 'geometry' itself. With 'geometry' I mean the logical container that contains all the mesh, curve, pointcloud etc.
For the sake of this usecase, call it the 'geometry' domain - which has the important distinction to the other domains that there is always one element.
And it is possible to store attributes to that domain element. But not only the data types which 'Store Named Attributes' provides, but all the data types the Group-input and output sockets allow (maybe without 'object' and 'collection' to avoid circular referencing). These values can only be of the type constant values.
It also would be possible to read those attributes - which would require a new object, since 'Attribute Statistic' can only read 'float' and 'vector'.
Why would that be interesting?
This way a geo-node can store meta information about the generated geometry that can be retrieved by another geo-node (lets say further down the modifier stack - but also by just referencing the object that has been modified by a geo-node). This would allow for more modular architectures of geo-nodes that can work together.
For example:
Lets say you want to create a geo-node solution for customizable kitchen elements. You could start with a core group, that takes in some general information about the element (including the name). Then you can add the body group that generates the frame. Then you add a cupboards group to generate the cupboars inside (this node needs some information from its parents node to adjust accordingly). Or alternatively a single door group, Or a double door group, Or a drawer group, Or two drawer groups, etc. And the last group draws a 2 d vector plan of all the individual pieces.
Since this is currently not possible, one has to create one gargantuan geo-node. Admitedly one can cleverly use groups and panels, but the GUI for this group will be massive and in case of lots of differnent options, many GUI elements are not needed.
1 Comment
In idea, when you store single value as attribute this is actually just one value in the memory. This is not currently implemented, but this is idea.