I had an idea that I'm attempting to implement with Blender geometry nodes. Basically, a swarm of scarabs, which should open and close their wings when their z-height is close to a certain value.
I've tested it on the original model, and, through the careful usage of a few shape keys, armatures, and drivers, have it set up so that when a varied custom-property z-coordinate is within a certain distance from the scarab's z-coordinate, the wings open up automatically.
So, this part works perfectly. The catch is, I'm using point instancing in geometry nodes to create an entire swarm of them, and I would like that value to vary for each scarab (out of potentially thousands). Imagine a "wave" of them opening their wings and the color gradient change that results from that; there's where I'm trying to go. However, the driver only sees the original location of the scarab; not the geometry node location; which means that all of their wings open and close in synchrony and doesn't have the effect I want.
Here's my current node setup. I'm on 2.93 alpha.
There are a great many different nodes that I'm still coming to understand, but is it possible to have Blender evaluate the driver after-the-fact, instead of beforehand? Like a deferment? If not, is there another way for me to accomplish this by-instance wing opening, without worrying about the entire swarm at once?
The core equation I'm using to adjust the wings, inside the driver, is
span is the range over which the wings should open and close,
z is the z-coordinate of the object, and
critical_height is the z-coordinate at which I want them to be completely open. I suppose it might also help if I could have my driver reference the z-coordinate of the instance instead of the original, but I'm not sure how to do that.
Thank you for your time, please inform me if I can provide any additional data. I don't have any inputs on geometry nodes other than the geometry itself; and no other modifiers on my framing object (where the geometry nodes are), which for the moment is just a boring UV-sphere until I have the core concept down. In case it's relevant, my driver is on the bone that moves the beetle carapace to expose the wings, and is editable in pose mode.