Named Attribute Nodes #91742
Named attribute nodes weren't initially included in the fields design because there wasn't consensus about how they would interact with the "share-ability" design of the new workflow.
However, user feedback and testing has made it clear that the current attribute input and output options can exist alongside named attribute nodes, and the the flexibility is necessary.
Three new named attributes nodes will be added:
Named Attributeinput node
Store Named Attributelike the capture attribute node, but creates a named attribute.
The nodes will initially be added behind an experimental feature flag, so that the visualization options can be further developed separately.
For the visualization and UX, there are a few separate tasks:
- #96271 (Attribute search for named attribute input node)
- #96273 (Named attribute modifier panel visualization)
- #96275 (Named attribute node group visualization)
Past discussions about this topic:
- Most recent design discussion: https://devtalk.blender.org/t/2022-1-17-2022-01-21-geometry-nodes-sub-module-meetings/22527
- Arguments for named attributes: https://hackmd.io/3FhX6Bg7TdmR5LPuUQdk3g
- Earlier named attribute proposal: https://devtalk.blender.org/t/shareable-named-attribute-node-proposal/20386
Changed status from 'Needs Triage' to: 'Confirmed'
This issue was referenced by
Named attributes will take precedence over data with the same attribute in Group Output node. I'm not sure if this is intentional, but it is a bit confusing and I think it would be more intuitive for attributes with the same name in the group output, to overwrite named attributes.
I believe I have also encountered a bug with this, or at least something weird.
This is the ending part of my geometry nodes setup:
The numbers to the viewer node and the group output do not match, despite being from the same reroute node. This seems to originate from when the name attribute is retrieved and operated on. Named attribute node by itself works fine:
And my combine XYZ, with static values of 64, 85.333, 1, also works fine:
But as soon as I divide the named attribute by the static vector, it disappears from the value node, while remaining in the uv_map data:
As I attempt to debug further, I notice that if I remove the extra view node, all the values turn to 0 in the UV map as well:
I feel like something isn't connected right in the code, but it could also be me making a simple mistake and missing something.
Assuming this is a bug, I'm not sure if this should be reported here, or as a separate issue.
The reason I started using the profiler in the first place is that, strangely, the UV coordinates for this auto-UV-generator seem to be much smaller than they should be once they are converted from attributes and viewed in the UV editor. The upper part of this node setup resizes the UVs to be 1/64th scale on X, 1/(4096/48) scale on Y, but upon actually viewing it in the UV editor, they are 1/4096th size instead. This is more likely to just be a math issue on my part though.
I'm leaning more towards user error now as it seems to work more consistently if I extract the data with another named attribute node:
The performance without it is very strange though and should probably be a bit more consistent.
If you think you've found a bug (it's hard to tell based on the screenshots), please report it separately like a regular report. Thanks!
This issue was referenced by
Can the Remove Named Attribute Have the input socket like join geometry, so that many attributes can be removed at once, and we can feed the input as named attribute. This Was their at the Blender 2.93 Geometry Nodes
We didn't implement it that way because it ended up being confusing that the socket accepted more than one input but you could only write one name in the string field. If we could find some way around that issue, I think it could be fine.
Deleting a branch is permanent. Although the deleted branch may exist for a short time before cleaning up, in most cases it CANNOT be undone. Continue?