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 |z-critical_height/(span/2)|
, where 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.