I'm trying to make a Collection Instance asset that contains objects with Geometry Nodes, and be able to have parameters on the Collection Instance affect the Geometry Nodes.
For example: I have an object with Geometry Nodes. That object is in a Collection, and that Collection is then instanced multiple times in the scene. The Geometry Nodes contain a Transform node, and I want to expose the Rotation on that Transform in a way that I can have the Rotation be customizable for each Collection Instance.
By comparison, I know it's possible to do this sort of thing in Materials, by using the Attribute node with the Type set to "Instancer". This will receive Custom Properties set on Collection Instances, and can be used to drive things like per-instance colors, offsets, etc. I'd like to do something similar for a Geometry Nodes property.
I know that there are a couple ways to set properties on the individual Object: I can use the Group Input on the Geometry Node to expose and set the Rotation value (it shows as an input or parameter on the Geometry Nodes modifier), and I know I can attach a Driver to that and link it to a Custom Property, but only (as far as I know) one on the Object itself, or on a specific other object. What I can't find out, though, is how to somehow link an Instancer property (likely a Custom Property from the Collection Instance) to that Geometry Node input-- be that directly, or via something such as a Driver. (If there's something obvious in Drivers I'm missing, that may well be it. I'm not all that versed in Drivers.)
Since I want to make this a reusable asset, and the Object may appear multiple times within the Collection, ideas such as setting properties or inputs on the Object directly are a nonstarter, as is something like specifying a specific source object in the driver.
I'd prefer not to use a solution that includes Python evaluation to be enabled (for the driver, for instance), either, since I may want to redistribute this and requiring scripting to be enabled is a risky request and a tall order for a simple asset.
Rotation -on-> Transform Node -in-> GeoNodes -on-> Object -in-> Collection -instanced in-> Collection Instance
I want a way to be able to set the Rotation value by setting a property on the collection instance.
– SuperFLEB Jan 07 '23 at 21:39