Geometry nodes: noise driven by something, what does it mean?

Hi folks,

Please take a look at the video by Erindale linked below.

At around 8:15 he says: “which if you don’t plugin anything in, is just driven by the position”.

Could someone explain to me what this means: “driven by”? Could you give an example of it being driven by something else and what difference that would have in practice?

Thanks!

driven by position

a noise texture generates values by other values like scale, vector and so on.

So you can also say, it is “driven by” scale, vector …(all input values).

By default, if you plug nothing in, Blender automatically uses the position values as vectors, so if you plug in the position node, nothing changes, as you can see in my gif (or if you try out yourself my little node setup).

But if you plug in a constant vector as i did in the gif, you only get one value as output because the position is constant. The position values of the cube in contrary of course are all different, so you will get 8 different noise texture output values.

2 Likes

Many thanks!

I may have some questions, but firstly, can you tell me why (see my gif below) my cube jumps up in to the positive part of the xyz grid when the noise is applied, whereas yours stays centered?

I know i could subtract 0.5 after the noise to center it, but you’re not doing that.

Animation

mine is jumping as well…maybe my angle is a bit different, but mine isn’t at the center :wink: maybe you don’t see it because it is always plugged in the texture node so it is already off-center :wink: and i didn’t center it because i did want to keep the node tree easy to just explain what the vector input does.

aha, optical illusion!

So i’m messing around with it, any idea why (see pic below) even if i have all parameters of the noise texture zeroed out, it still applies some noise in two axis?

And if i switch it to 4D, the amount increases, but doesn’t change when i change the W value?

that’s what the noise texture does - it produces random values. I don’t know the “real” mathematical function behind it - but no one said that it should be zero if you put all input values to zero. If you wanna have a zero, you can e.g. use a multiply math node with zero after color (and maybe animate the increase of 0 to 1 so you have animated an increasing noise)

1 Like

Alrighty!

I thought at scale zero it should do nothing.

Just trying to get my head around it, will play with it some more!

It’s Perlin noise:

3 Likes

I’m still struggling to understand what plugging something into the vector input of the noise texture does.

This is what (i think) i understand so far:

Plugging in nothing or position just means that the noise node applies some positional randomization (only additive) to each vertex of the mesh.

But let’s say you plug in a vector of 1,0,0 into it, the noise node takes that vector and does what with it?

And is that vector positional information, or directional (with an origin at the location of each vertex)?

It changes the vectors that are being sent into the algorithim. That’s it :slight_smile:

This article may help:
https://mzucker.github.io/html/perlin-noise-math-faq.html

1 Like

Imagine noise texture as infinite fog in the 3d world with random density (we can control fog density frequency in space with “Scale” and “Detail”)

Lets say we want measure fog density at 1,0,0 position in the world, so we travel in our foggy world at that location and measure the density.

So by plugging vector in the noise texture it samples noise values from that position, by default when vector is not plugged is using vertex position to sample noise.

This is not how noise are actually computed but it useful to conceptually imagine how it work
Hope this isn’t too much confusing

2 Likes

Thanks, that’s a really great explanation and now i totally understand what’s happening when i plug a single vector into the noise texture vector input.

But what about if i plug another noise texture into the input?

Now (i guess) each vertex of my mesh is getting its own discreet, possibly unique x/y/z noise value?

But i don’t understand how to reformulate your analogy (fog) to account for that!

Because at that point in the fog (in your example), you take a single reading and apply it (offset) to the x,y & z of every vertex. So the whole object just moves in one direction without changing shape.

But how do you generate different values of x, y & z from the fog and how does each vertex in my mesh get it’s own unique (possibly) value for x, y & z?

I’m guessing this may be where the analogy breaks down and needs further explanation?!

No further explanation is required… Try it and see… At this point you have all the info you need to answer all your own questions. First demonstrate to yourself through experimentation your understanding of what has been explained to you before self-sabotaging by asking irrelevant questions that unnecessarily over-complicate things and risk confusing the matter.

(Hint: Use a dense grid instead of a cube, and things should “click” better.)

Good luck.

3 Likes