input geometry as selectable in Geometry Nodes "Object Info" node
the advances of GN are quite impressive release after release. I just noticed that a simple logic could possibly make GN even more modular and nice to use. In order to build a scene by pieces, we could attach a GN modifier to a "Dummy" mesh (like a hidden cube, i.e.). Currently, since the modifier is attached to this cube, all the info collected by nodes like "normals", "position" etc are reading the ones from the cube. Adding an "object" input socket to the "group input" is already doable BUT it still lacks the advantage of updating all the collected data (like i.e.: normals) from the "selected object". Avoiding this, and being able to update all the spreadsheet data with the one of the new geometry object selected instead of the one the modifier is applied to would be a huge advantage. Why? because we could create only a .blend file with modular GN networks and "link" or "append" them to the newly created scene and make the GN work with "any" geometry object present in the newly created scene. Also, they could be used as simple "Asset Library" assets.
As a little push a bit harder: we could update as well the information from the viewport like normals etc. To show the normals of the newly selected object from the "group input"
7 Comments
I may be misunderstanding your suggestion, but the spreadsheet shows the data belonging to the geometry that's plugged to the geometry socket of the group output node or the viewer node, not necessarily pertaining to the object the modifier is applied to.
Hi, thanks for sharing thoughts. I was more specifically interested in the Group Input node having an "object" type socket where you could plug in whatever geometry would be present in the appending/linking/asset browser using scene. In this case, and using Blender 4.2 LTS Beta, the spreadsheet is not updating the collected data from the new geometry, but rather, of the one the modifier is applied to. Let me know if things work differently in other versions of Blender. Thanks
I still don't understand what you mean. Again, the spreadsheet will show the info present in the geometry that reaches the geometry output socket (or viewer node). If you want to see the info corresponding to the geometry of another object brought via an object socket, you need to use an object info node to get the geometry of that object, and connect it to the output.
Tomas, can i show it to u maybe through a videocall at some point in time? What i mean is that, basically the spreadsheet info is always related to the geo the GN modifier is attached to. You can test it yourself: try to create an "object" socket in the GN group input and pick another object. You will easily notice that the spreadsheet collected info still belongs to the first object, not the one feeding the network. I find this as a handicap because it breaks modularity and the fact that i could reuse this asset in the browser in another scene, with another object feeding the network through the Group Input.
PD: im working with Blender 4.2 Beta version. Maybe that's the problem. Will try again in a week when Blender 4.2 LTS stable will be released.
Object blocks contain Geometry in Blender The orange object socket is a level higher in the hierarchy than the geometry (green) it contains.
When you connect geometry to the Output or the Viewer nodes, that is the geometry you read data from. It could be from the default input geometry (i.e. the geometry output socket in the group input node) or it can be from whatever geometry is created inside the node tree.
As an experiment to see this in action, make a cube and add the geometry nodes modifier. Then, disconnect the geometry noodle between the group input and output. Next, connect the Group Input’s Geometry Output to the Viewer node’s Geometry input. Plug in an Index node to the Value input on the Viewer node. Read the data in the spreadsheet.
Under Mesh you will see four categories, Vertex, Edge, Face and Face Corner. Clicking through each category, you will see the index of every element of that particular category starting from 0 and going up to the total number minus 1. These values will all correspond to the input geometry from the cube. You can see their positions as well here.
Now, disconnect the Group Input from the Viewer node. Instead, add in an icosphere node. Connect the Mesh output to the Viewer node’s Geometry input. Leave the Index node plugged in. Have another gander at the data in the spreadsheet.
Instead of the vertex indices ranging from zero to eight, they now range from zero to eleven. This reflects the total number of vertices found in the vertex domain of the ico sphere. We are still operating within the object block labeled “Cube” but at this point it is just a container for the geometry.
You can try the same experiment with the Normals node instead of the Index node and the same thing with the Position node.
Make the placeholder cube in your main scene. Drag-and-drop the geometry node group Asset, using LINK, onto the cube.