Wave texture with a gradient for distortion?

Trying to recreate the pattern seen in this image possibly with a wave texture node. I want to use a black/white texture mask to say where it should distort.

I imagine it would involve a Wave Texture node and some other node to distort it gradually. It doesn’t have to look like the picture, just looking for something similar, a way to distort gradually at locations of my choosing.


1 Like

Here is a beginning…need to work out how to reduce to dots and the center back …

1 Like

That’s very cool, definitely usable.

Yes, how to get it to distort into multiple “attractors”? .i.e warp into dots. What about a magic texture somewhere?

I stumbled upon this while trying to get the distortion pattern.
mesmerize.blend (816.8 KB) (hit play on the animator to see the animation)

1 Like

Not very close to the image but “wave texture with a gradient for distortion”.

I added the extra colour stops to control the gradient better (the second stop and penultimate stop have a value of 0.5), the map range node gives max and min distortion (now min 0 max 93.6)

here I changed the max min distortion value.


How would the node setup look to distort with another procedural texture? Maybe it will be the same as doing noise blur?

DNorman’s setup looks like a good starting point to get another look with the distortion.

This is an interesting pattern, here I tried to add the dots on the sides.
Still not as the image but not too bad. I am still experimenting to actually distort the dots into a distorted wave texture but have not quite managed.

Here is a version with a spherical gradient instead of linear and a bit of colour.

Edit: I changed it again to have less dots in the middle

1 Like

Thank you DNorman for your effort. I’ll keep an eye for your udpates, otherwise you’ve done a lot already to give me what I need to continue with my project. Also I made a new thread, this thread is related: Why isn't this more widely discussed? (Hand-guided procedural texturing)

You are welcome, I do these experiments because I have fun with them. :laughing:

I’ve been contemplating this for a while and came up with a possible solution. This is just my first attempt using UV distortion manually scaling with proportional editing. Started with a plane with 1 subdivision, distorted the UV a little, subdivided, distorted it more, subdivided, distorted it more.

I think you will find distorting by scaling in the UV editor is more limited than distorting things with nodes.

Maybe something like this:

The colour ramp controls the fading of the distortion and the map range the amount.

1 Like

Interesting okokok, so how about starting with a plane of random dots and a stretch distortion that is made with a radial gradient?

So in the center is very stretched/compressed inwards causing many dots then to the outward areas it’s so stretched that the dots become lines? Is that possible?

I could be wrong, there can be a use for both, basically what ever works for you is the best.

There is probably a more “mathematical” way to this but this is what I came up with.

The mapping that goes into the sphere gradient simply centres the gradient.

The two mapping nodes (one loc 0.5, the other loc -0.5) allow you to scale the dots from the centre of the UV grid instead of the origin (bottom left corner).

The invert node in the gradient lets you stretch the sides instead of “bulging” the middle, I found that there is a sweet spot to get the desired effect.

The colour ramp and map range are ways to control the stretching.

For it to work well for the square plane I had to scale the uv’s in the uv editor to keep it inside the sphere gradient.


need help. Can’t seem to copy your effect, followed your node setup closely. I got this far. Uploading the blender file to this post so you can check out my node setup.
distort dots from center fail.blend (138.2 KB)

1 Like

WAIT all you have to do is switch Voronoi Texture to 2D instead of 3D. There’s sooo much you can do with this shader setup, black hole type shit, insane bending of space time.

I am trying to use this for an eye shader.




holy yes.


Yes when voronoi is in 3d the dots change position and size (making them sometimes disappear) on the x,y plane when the z vector changes and the stretching effect is less.
When it is 2d changing the z mapping has no effect.

You are getting some good results well done :slight_smile:

the pattern you’re looking for is called reaction diffusion and you can get similar variations using the Tissue Addon on the weight paint window. The rest is converting your weight paint into a vertex color and add it to the shader w a texture map.

The reason you can’t recreate it with distortions is because the way it forms is actually by branching when finding the shortest path between thousands of points without the paths ever crossing. That’s like a basic explanation but the real explanation is a math equation written by Alan Turing. Now, I know it sounds complex but actually is quite easy to replicate even in photoshop by repeating the same actions over an over. It basically grows by itself.
Now some of your solutions are pretty cool.