3
$\begingroup$

I have a Geometry Node group named 'Main' where I defined a vector and connected it to the group output.

On another object I have a Geometry Node group named 'Sphere' where I want to position the sphere using the vector retrieved from the Group Input.

How can I link the position from the Group Output of the GN 'Main' to the Group Input of the GN 'Sphere' ?

enter image description here

The Geometry Nodes 'Main'

enter image description here

The Geometry Nodes 'Sphere'

$\endgroup$
1
  • 2
    $\begingroup$ Hello. Seems like you just need to add the modifier node as a node group and use a Set Position instead of Transform node, since you're working with a field and Transform only takes scalar values. $\endgroup$
    – Gorgious
    Commented Jun 2, 2023 at 7:37

2 Answers 2

5
$\begingroup$

Like Gorgious mentioned in the comments, the better solution would probably be just adding the 'Main' node group to Sphere node group:

enter image description here

You can also use drivers or Application Handlers to control one property with another. You can do it with nodes in GN modifiers directly - just right-click some property and choose Copy as New Driver:

enter image description here

Then paste the driver the same way on the property you want to drive:

enter image description here

You will need to do that for each component of the vector in this case.

$\endgroup$
1
  • $\begingroup$ For the moment I prefer your first solution. Thank you so much ! :) $\endgroup$ Commented Jun 2, 2023 at 12:43
3
$\begingroup$

As Martynas shows, there are various ways of doing the plumbing, here. Another might be to make the attribute-carrying object available to the attribute-receiving modifier, by sampling.

Since this attribute is object-wide on the carrier (Cube), bearing no relation to its geometry, it could make sense to make the carrier an instance, and store the attribute on that:

enter image description here

The above version sets the attribute's name in the carrier's interface on the way out. (You wouldn't have to.. you could hardcode the name, if you wanted to.)

Once set, it can be picked up by another modifier, on another, receiving, object by sampling the named attribute from the carrier instance, made available with Object Info:

enter image description here

Again, what you choose to expose in the modifier interface is up to you.

$\endgroup$
2
  • $\begingroup$ This actually could sometimes make a nice alternative to drivers.. quickly copied to multiple objects..? $\endgroup$
    – Robin Betts
    Commented Jun 2, 2023 at 8:35
  • 1
    $\begingroup$ Thanks Robin for your solution too :D $\endgroup$ Commented Jun 2, 2023 at 12:44

You must log in to answer this question.

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