4
$\begingroup$

I created a plane and subdivided it 49 times to create a decent amount of vertices.

I did this to instance the numbers 0 and 1 along each point to create a binary animation that randomly changes numbers across the entire plane.

Now I'm going for, and can't seem to figure out, how to make them randomly change in a pattern. For example, what if I made the top row of numbers randomly change, then row 2 (under row 1) changes, then row 3, etc. So essentially if there are 10 rows, only one is randomly changing at a time as it makes its way down the plane.

I've tried driving textures to affect only one part at a time, but unfortunately, no success. I'm still new to geo-nodes, so that could be why.

$\endgroup$
2
  • 1
    $\begingroup$ Can you please add a screenshot or sketch how it should look like? Thanks $\endgroup$
    – Chris
    Commented Mar 11, 2022 at 9:48
  • 1
    $\begingroup$ I'm sorry, I have no time right now to work on this... but maybe I can help with some "inspiration". In my answer to another question I explained how random values are bound to seed and the IDs of points. So it might be that in combination with seed and id you can try to find a way to select specific parts that should be affected. Here's my explanation: Random values connected to ID $\endgroup$ Commented Mar 11, 2022 at 10:41

2 Answers 2

9
$\begingroup$

Here's a shader-only approach.

For this we'll need an Indexed Grid, which is a handy little group to have around, anyway:

enter image description here

It wraps the texture-space into cells, gives each cell its own UV, and an X,Y index: the coordinates of the cell's own UV origin:

enter image description here

Once you have the index, you can use it as an input UV, to pixellate any texture:

enter image description here

Above, It's pixellating noise. It's then put through a threshold, yielding black/white, and, in turn, that's used as a mask between a '0' texture and a '1' texture:

enter image description here

Above, that's done twice, with two different noise textures, to produce two separate arrangements of '1' and '0'.

Those separate arrangements can then be mixed together using any function you want of the cell index. Here, it's a function which converts the X and Y of the index into a serial number, starting at the bottom left and finishing at the top-right:

enter image description here

... but the wipe between the arrangements could equally be by (cell-index Y), giving a row-by-row change.. included in this .blend.

$\endgroup$
7
  • 1
    $\begingroup$ Love your ignoring of his tags 🤗❣️❣️❣️ $\endgroup$
    – Chris
    Commented Mar 11, 2022 at 14:53
  • 2
    $\begingroup$ @Chris Oops! ... Well. OP did mention they had tried textures and they didn't work.. that's license, in my book :) $\endgroup$
    – Robin Betts
    Commented Mar 11, 2022 at 14:56
  • 1
    $\begingroup$ @RobinBetts I'd say, if someone tried textures and only switched to GN because it seems impossible with textures, then you're fully licensed to show it is possible 😁 $\endgroup$ Commented Mar 11, 2022 at 15:47
  • 2
    $\begingroup$ @circleofsorrow1 It's a Vector Math node set to Scale. $\endgroup$ Commented Mar 12, 2022 at 8:12
  • 1
    $\begingroup$ @GordonBrinkmann thanks so much, you're brilliant. $\endgroup$ Commented Mar 12, 2022 at 10:23
5
$\begingroup$

There might be more elegant solutions but this is just a quick example how it could be achieved. I've subdivided my plane fewer times, but the principle works with your high resolution as well.

I'm looking top down on the plane, so I wanted to change the rows from Y to -Y. For that I used a Separate XYZ node and checked the Y value if it's Less Than a certain value, which is animated from from a positive value down to a negative value. The result "no" (0) or "yes" is then plugged into the Seed input of a Random Value node, basically making the setup switch the the seed from 0 to 1 going down the Y axis.

Of course this setup can be tweaked and manipulated to switch between other seeds etc. and maybe there are better solutions. But here's how it looks as is now:

random animation

I guess there are other ways to switch the output text better and the other thing is, if you would use Mesh Primitives > Grid inside Geometry Nodes there might also be a way to select via IDs and so on. As I said, this is just to give you an idea what's possible. Here's the node setup:

node setup

$\endgroup$
2
  • 3
    $\begingroup$ I guessed someone such as you would go for a perfectly good GN approach (.. if you have a hammer, everything looks like a nail..) so I ducked the other way :D $\endgroup$
    – Robin Betts
    Commented Mar 11, 2022 at 14:37
  • $\begingroup$ @RobinBetts Haha, thanks but I'm still a bloody beginner with Geometry Nodes, especially since they are still changing a lot between versions 😆 $\endgroup$ Commented Mar 11, 2022 at 15:42

You must log in to answer this question.

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