Geometry nodes: random walk?

Hi folks,

I’m messing around with geo nodes for the first time and am having some trouble getting my head around it!

I want to have a 2D grid of objects, and apply some “jitter” or “random walk” to them.

I’ve managed to do this using noise, but the jitter always has bias in the +x & +y direction!

But i need the jitter (noise value) to have equal probability to go in the -x & -y.

If anyone could take my blend file (3.0 alpha, attached) and show me how to do this, i’d be very grateful!

random walk.blend (896.2 KB)

The noise texture outputs values in the interval [0,1]. just subtract 0.5 to remove the bias.

Great, that fixes that, thanks!

Sorry, just one other question, how do i make the instances just jiggle around smoothly near their grid positions over time?

I tried using a 4D noise texture and animating the “W” parameter, but they just jump around randomly from frame to frame, regardless how small the amount W is animating.

The stupid thing is, i had it working earlier today (but with the +X Y problem), but i forgot how i did it! DOH!

EDIT: just another leeeeeetle question: is there any way to view the numerical output from a node?

4D-noise should be the way to go, this setup here worked for me (Blender 3.0 alpha):
geonodes_4D_noise.blend (97.6 KB)

As for viewing a node’s output: you can connect a viewer node and open a spreadsheet window:

Beautiful man, many thanks!

If i could trouble you with one more thing that’s on my mind:

I saw earlier this year that development of particle nodes was started, then aborted.

But it seems to me that it should be possible to do anything you want, in terms of particles, in geometry nodes, right? I mean, particles is all physics, which at the end of the day is just math… so it should all be possible in geo nodes, right?..Or am i missing something?

Physics simulations require a special kind of math, namely the iterative solution of differential equations.

As far as I know, this is not possible in geometry nodes, but can be done in animation nodes, apparently: