7
$\begingroup$

I have set up one basic noise texture map with Geometry Nodes and one basic noise texture map setup with Shaders.

The geometry nodes setup just simply extrudes faces depending on the height of the noise map. The shader editor just has the noise map stuck into the base color.

I have set both the scales of the Noise Texture to be equal to 1.

When I plot both of the noise textures however, it appears that the Geometry Nodes texture is of a significantly higher scale than the shader editor.

Why is there this difference here and is there a way to better visualise the mapping behind the Geometry Nodes texture?

EDIT - HERE IS THE RESULT WITH THE SOLUTION - https://i.sstatic.net/0jy6E.jpg

Download: https://drive.google.com/file/d/1LhCNRBcutHekuBT7L6eRQlx6nQHqccZm/view?usp=sharing enter image description here

enter image description here

$\endgroup$
5
  • 1
    $\begingroup$ Probably has to do with a discrepancy in the texture coordinates being fed to the noise by default. I think it's "Generated" in the material editory by default, try setting it explicitly in one or the other and see if that fixes it. Related? $\endgroup$
    – Jakemoyo
    Commented May 7, 2022 at 7:25
  • $\begingroup$ @Jakemoyo I understand what you're trying to convey, but I really have no clue how to do it. Also, the post you have linked is similar to my issue, but I really can't say for certain if its the same problem $\endgroup$
    – Gunty
    Commented May 7, 2022 at 9:14
  • $\begingroup$ Did you try to put the same nodes or thereabouts into your node setup, and see if it improved anything? $\endgroup$
    – Jakemoyo
    Commented May 7, 2022 at 11:12
  • 1
    $\begingroup$ According to documentation, the Vector data defaults to generated for both shader and geonodes Noise Texture node. However, I think it's a mistake and all vector inputs default to Object in geometry nodes? Related answer for Image Texture node. $\endgroup$ Commented May 7, 2022 at 12:22
  • $\begingroup$ @Jakemoyo the nodes have been changed significantly since the 2.93 implementation so I wasn't able to copy them. I would try but its just not possible with my current knowledge. $\endgroup$
    – Gunty
    Commented May 7, 2022 at 13:18

1 Answer 1

6
$\begingroup$

If you don't use a dedicated UV map, your shader needs to know in some way the coordinates/resolution of your texture that is used in the geometry nodes.

So for both Noise Texture nodes to behave the same in the shader and in the geometry nodes, they both need the same reference frame.

In the shader, the coordinates start at the bottom left with $0$ and end at the top right with $1$.

In the geometry nodes, however, the positions of the vertices are used, and thus your texture is distributed over a large area of the entire mesh.

A possible solution to this would be to simply assign a new reference to the Noise Texture in the geometry nodes by translating the real dimensions of the mesh to a range from $0$ to $1$.

You could, of course, reverse the Noise Texture in the shader to match, but I think it's a little easier in that direction.

enter image description here

(In this example I used a Brick Texture instead of a Noise Texture for easier understanding)

$\endgroup$
1
  • 1
    $\begingroup$ This is perfect. I am going to add the end result for anyone interested: i.sstatic.net/0jy6E.jpg $\endgroup$
    – Gunty
    Commented May 7, 2022 at 13:30

You must log in to answer this question.

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