Geometry Nodes, Group Input into String to Curves?

I’m making a material test scene with three collections to test at three different scales – each collection has four text objects with info on the scene to render (I don’t wanna use show metadata, it’s limited and ugly). One of the four is the scale (different for each), but the other three are info that’ll be the same in each (Blender version, render engine & color management, and material title).

It’d be a bit of a pain to individually edit three Text Objects in three different collections three different times (x 2 or 3) with the same text string/s. Thanks to a recent tutorial by Ducky3D, I was wondering if I could do this with geometry nodes.

I gave the text objects (of course I could’ve used any mesh, but these were already in the right places) that I wanted to show the same text the same Geometry Nodes Tree with a String to Curves node, put the text I wanted into the String field, and it worked great! Change the text in the string field, it changes on all the objects with the same Geometry Nodes Tree, exactly what I needed (and if need be that’s what I’ll stick with).

But then, to make the String input easier to reach and edit, I pulled a noodle from the String to Curves’ String socket to the Group Input in each of the three gn trees. And it stopped working: changing the string contents of any of the objects using the same Geometry Nodes Tree no longer changed the strings of the other objects using the same tree. I’m baffled, best I can tell this should’ve worked!

It’s a minor frustration that I have to go into the gn trees to edit the strings instead of doing it on the Modifier Properties, but I’d still like to know: shouldn’t this work? Is there something I missed?

20240413_MaterialTestScene_015trunc.blend (4.3 MB)

You can use the alt edit-modifiers-across-objects technique:

  • Select all the objects with your GN.
  • Hold alt and click on the string input and type in the string and then press enter. (N.B. you need to be holding alt the whole time.)

Below I’m holding alt the whole time from clicking on the string input to when I click off.

Good luck.

4 Likes

Sorry for the op’s mass-of-text, evidently I wasn’t clear that selecting these, even in the Outliner, would be the kind of slog I was trying to avoid (the blend file in this topic is truncated to get under the forum’s 5k limit, the blend file over here has all three test collections but not the geometry nodes) – I appreciate the effort you’ve put in to show this, but editing the string in the gn tree is significantly easier.

The reason I posted this topic is because when noodling thru the Group Input to make a field in the Modifier stack, I thought the whole point was that the field in the Modifier stack was functionally the same as the string input field in the gn tree, and it’s not functioning the same.

:confounded:

Not quite. When you connect a group input, you’re sending in data from that group instance, and group instances have unique data per object.

3 Likes

I don’t know if we can read String attributes from other objects, but we can read Geometry :person_shrugging: Why not just use some invisible text object as an “input” and control that instead?

3 Likes

No, the group input is there to allow you to re-use the same GN for different inputs - it is what makes GNs useful. If you want the same output you’ll have to disconnect the group input:

Good luck.

3 Likes

So the same gn tree used by four objects is the same single data block for all four, unless noodles are connected to the Group Input, and then it’s four separate instances? Less useful for what I wanted, but I can see (now) how it’s more useful in general. Appreciate the explanations! :+1:

Because I didn’t think of it! I’m not that savy with geometry nodes yet. More setup needed, but in use works pretty much as I asked for – you get the checkmark, thanks! :tada:

3 Likes