How to Replicate Displace with GeoNodes?

Hi,

A newbie question: Is there a way to simulate Displace modifier in GeoNode Editor?

I have extruded curve and I ought to make it look blobby, like I would do it on subdivided icoSphere and Displace mod with Voronoi texture. Except I can’t apply Displace modifier on extruded curve.

Thus, the Node network:

However, as you can see, even I copy settings from shaderVoronoi to geoVoronoi, the results differ dramatically.

Questions:

  1. Shader textures appear in TextureProperties section, where I can access to Voronoi’s Distance/Coloring/Intensity/Size/etc… whereas geoVoronoi doesn’t appear there - How to use/link same shading texture to geoNodes OR how can I replicate the property controls in geoNodeEd?

  2. In the Displace mod, there is Coordinates section, where I can assign an object that would control the placement position - How to make similar one or at least some sort of with geoNodes?

Thank you,
Neil

Welcome :tada:

you may have look here:

1 Like

Hey Okidoki,

Thank you for the link :pray:

Funny enough, mine was a FAQ-one :smiley: and, the solution worked perfectly. Thus, my (1) was answered. I just haven’t figured out which params there in geo node network stand for what in Displace/Voronoi modifier attributes.

Regarding the texture 3D placement (2), found some older tutorial https://youtu.be/2lZnAuHC55U?si=YyQ0POytAXJkmfvZ which also worked, yet was prone to break at some point.

Today, reopening the scene, it works again, although this “Vector:Unknown Socket Value” message seems alarming to me. Should I worry? ScaleMult(Float)->Vector(Vec3) does the Float need some sort of F2V conversion?
Overall, I believe there is more elegant way to do this with some TransformMatrix inversion, it just is not my cup of tea.

No worries.
For a float input, you should use ‘Scale’ instead of ‘Multiply’… but the float will then be converted to a vector and the result will be the same.

Hey Secrop,

Thank you for the quick response, however, could you elaborate on

you should use ‘Scale’ instead of ‘Multiply’

The current setup picks up any object I use as Placement3D gizmo (here: Empty object), and uses its Scale which then is Multiply’ed by float ScaleMult, in case the scale needs to be ridiculously large/small, then fed in Divide for inversion.

I was meaning, in the VectorMath node (to where the ‘ScaleMult’ is connected), if you change the operation from ‘Multiply’ to ‘Scale’, then a float input will appear, to which you can connect the ‘ScaleMult’ float.

1 Like

O’kkeeey, thanks, this also works, no change in looks, yet I hope it is more stable. Thanks, will read about Scale option, what it does. :pray:

P.S. Experiencing my first blendergasm :star_struck:

2 Likes