5
$\begingroup$

I've been trying to become better at making procedural models with geometry nodes. (For 3d printing.) I have a set of calculations that I want to re-use many times in my main node tree that come from the main Group Input that I can adjust in the Modifier panel, and I'm trying to wrap my head around using group nodes.

I've attached a simple example to illustrate my question.

I understand I can make a group node and re-use that node group (let's say, "Calculations") throughout my main node tree - but, any values I want to use from the main Group Input seem to have to be physically connected to my 'Calculations' node group at the main Node Tree level. Is there anyway to pass through 'remotely' the values from the main Group Input into the sub node group itself so I don't have to attach the values from a Group Input into the 'Calculations' node group each time I want to use it within the scene?

enter image description here enter image description here

$\endgroup$

2 Answers 2

4
$\begingroup$

(Using Blender 3.6.8)

I agree with Chris that the case you describe can be simplified the way he is doing it.
But I also understand that one part of your question is about encapsulating values from the Group Input node of the main node, to propagate these into sub-node groups not one at a time. As Custom Properties can not be accessed directly inside Geometry Nodes, a workaround is to cache input variables as named attributes, in the Instance domain to limit memory cost. This way instead of many input sockets, a single one is enough. The price to pay is first to store the named attributes, then to trigger the reference to those attributes, using a Sample Index node for example in the following graph.
If you do not want to mess up the original geometry, an object made of a single Vertex can be added to the scene, and used as a container inside the GN graph, retrieving it using an Object Info node. However, be aware that added attributes inside the modifier are accessible only inside the GN graph.

GN Graph

$\endgroup$
1
  • $\begingroup$ nice idea!!! +1 $\endgroup$
    – Chris
    Mar 15 at 6:23
2
$\begingroup$

although you don't wanna hear it, but this isn't really the use case for a node group.

Why? because a nodegroup is made to be used in different areas with different input values - else the output is always the same (so it is "constant" - in most cases) and so you would just use the output and link it to another place like so:

enter image description here

$\endgroup$
2
  • $\begingroup$ Thank you so much for responding and even comping up an illustration, I appreciate it. When the node tree becomes huge and you want to re-use stuff, I find it frustrating to have to scroll around to reconnect nodes. I thought there would have been an easy way to store the constant input information and to call it up in different parts of the node tree, but I guess I just need to be better at node line management. Again, thank you very much. $\endgroup$
    – bnww
    Mar 14 at 20:13
  • $\begingroup$ i agree with you. It is no really "satisfying" solution. Maybe the developers will develop a more elegant solution for this. StefLAncien answer is another workaround for this. $\endgroup$
    – Chris
    Mar 15 at 8:57

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .