How to displace like this in geometry nodes?

Hello

I don’t know how to make this in geomtry nodes…
I tried before the displace modifier but bad results, I search some video but with no success.
I think that it is simple but how to ? :blush:

You’d need a reeaaally dense mesh to achieve that just with real geometry displacement. Then it’s a matter of combining different noises (noise texture nodes) playing with scale and detail levels, and a float curve or color ramp to raise the “contrast” of the bigger carvings noise so they only affect the mesh sparsely. Then plugguing that to the offset socket of a set position node.

1 Like

Here is a good tutorial by @RyanKingArt that will get you what you want…and I highly recommend his tutorials for their step-by-step approach and they are simple to follow

You can also make ROCKS in GN, I just included this as an example that you can mix with the previous one…and the shader might also be of some use…

3 Likes

I tried… but :blush:

Add Surface Detail-Geometry Nodes Modifier Setup.blend (1.2 MB)

One thing the color-ramp white value is pushed too far to the left…
Here I made some adjustments to the nodes…

1 Like

something like this…?
But the displace seems to follow a specifica angle and not going to the center of volume…

If you are gonna replicate the displacement from you shader in Geometry nodes you might want to displace the mesh in it’s normal direction like so:
Add Surface Detail-Geometry Nodes Modifier Setup.blend (1.2 MB)

In your setup, you converted the colored noise output into a grayscale version of it with the color ramp. If the color is grayscale, the R, G, B value (which will be used for X, Y and Z) all have the same value (e.g. 0.5, 0.5, 0.5) which will result in a Vector pointing in a 45° angle on all axis.

1 Like

ok I understand better… but suzanne is a bit inflate now :roll_eyes:

OK re-watched the video…in his version, there is no color-ramp that was what caused that…and it works just fine without it.
I also deleted the Sub-Surf that you had on the monkey before the GN modifier…just bogs down the system and makes the rock far too small for the GN nodes to work well…

also…keep the numbers low, if set too high in the modifier it just makes things look bad…

You can also add a separate displacement in the Material and add a bit more punch to the rock…

Adjust the value where it says “Strength adjustment” to your liking.
If the output of your Color Mix Node is greater than 0 and the “Strength adjustment” is also greater than 0 it will displace the mesh outward.
If the Color Mix gives you a value of 0, it will do nothing.
If the Color Mix node is greater than 0 but the Strength adjustment is smaller than 0, it will displace the mesh inwards.

I think you should be able to make a 1:1 replica of your shader displacement in Geometry Nodes by simply replicating the node tree. Just dive into your “Rock” shader and loo k how they built the node tree there.

yes that’s nice too… is there a way to change the displacemnt axis (lile the normal; or X or Y or Z…?

Put the Output of the Color Mix node into a “Combine XYZ” and use that for the offset.

Or multiply it with a Vector Math node and adjust the X, Y and Z values seperately.

I don’t totally understand… :face_with_open_eyes_and_hand_over_mouth:

OK, i’m not quite sure then what you mean with “change the displacemnt axis”…

If you want to adjust the strength of the displacement in the X, Y and Z axis you could add a Multiply math node before the Combine XYZ. Or use a Vector Math Multiply as suggested:

1 Like

yes exactly ! I found the “blue” multiply but where is the “light blue” multiply node ?

The purple one is a “Vector Math” node (Utilities → Vector → Vector Math).
The blue one is a “Math” node (Utilities → Math → Math)

1 Like

:sweat_smile:
Not so easy this geometry nodes, I’m not smart enough for them :crazy_face:

You all really help me a lot thank you :pray:
But I would like a “ready to use” node, to play with noise, scale damage, orientation axis.
This is almost done but not yet.
if you are interested send me a message and tell me how much to do it :moneybag: :slightly_smiling_face:

You could try this one.

It will displace the normals “in and out” (positive height out negative in) like a displacement map.
It changes the position not the offset.
Does not bloat or scale the monkey.

2 Likes