Warping Voronoi Scale

Started by WAS, January 07, 2020, 03:43:37 PM

Previous topic - Next topic

WAS

I wanted to share this file, as I remember I was having trouble with it. I wanted to warp the size, and shape of Voronoi via the scale input (so I could retain a inputable scale), but it was rather hard to get it to work with just a PF so I came up with this.

In this example the normally hard voronoi become more rounded, and the sizes more varied. The noise map is translated from 0,0,0 as for some reason the effect is radial.

The Colours of the PF are your "warper" intensities, further influenced by noise flavor, roughness, etc.

If you're wondering why I used a Multiply Complement Scalar, it's because this allows the colour inputs to act more like conventional intensity sliders. White being super warper, and black being less.

Hetzen

Good use of the Multiply Compliment Scalar. Can't say I've ever used it.

Yes you have to be quite delicate when warping the scale, there's some crazy effects you can do with it when it's right.

Another thought on your scale modulation, if you Multiply the PF with a Constant Scalar and Add to your Scale (50) instead, you can then keep the colours in the PF black and white (so you can preview) and you then adjust the new constant to set how much the PF influences the 50 value.

WAS

Quote from: Hetzen on January 08, 2020, 01:31:47 PMGood use of the Multiply Compliment Scalar. Can't say I've ever used it.

Yes you have to be quite delicate when warping the scale, there's some crazy effects you can do with it when it's right.

Another thought on your scale modulation, if you Multiply the PF with a Constant Scalar and Add to your Scale (50) instead, you can then keep the colours in the PF black and white (so you can preview) and you then adjust the new constant to set how much the PF influences the 50 value.

That's a great idea, I'll have to give that a go. Should make playing with intensity much easier.

WAS

Actually Hetzen there may be something you could shed light on. I tried initially using the perlin noise as my scale variation but it "seemed" liked no matter the intensity it was a mess of stretching and wild warps. I assume this is cause of the base noise of that function. Would this be the case, and is it possible to remedy that and use the perlin? I'd imagine this way you could divide/multiply the main voronoi scale as the perlin scale for warping at the voronois scale.

Dune

If using a fractal, the sizes make the distribution of white/black, but high and low color need to be the scales. That's how I used it anyway.

Hetzen

#5
Quote from: WAS on January 08, 2020, 09:36:45 PMActually Hetzen there may be something you could shed light on. I tried initially using the perlin noise as my scale variation but it "seemed" liked no matter the intensity it was a mess of stretching and wild warps. I assume this is cause of the base noise of that function. Would this be the case, and is it possible to remedy that and use the perlin? I'd imagine this way you could divide/multiply the main voronoi scale as the perlin scale for warping at the voronois scale.

I think as a rule of thumb, the size of the warp should be less than the scale of what you're warping, otherwise you get 'pools' of noise where the PF has overlapped itself.

The Perlin Noise node outputs -1 to 1 so I'd imagine you're getting negative scale values if you plugged it in directly.

If you Multiply the Perlin by a 'variance' Constant and Add it to your general scale value, like I did above, you can vary it without it reaching zero or below. For example say your general scale is 50 and you want to vary that by +/- 10, then Multiply the Perlin (which outputs -1 to 1) by 10 and Add it to the 50. The range now becomes 40-60.

Hetzen

Something else to be wary of.

Scaling works from the origin, so the further away you are from it, the effect will become more severe.

sboerner

QuoteScaling works from the origin, so the further away you are from it, the effect will become more severe.
Could this be cancelled out by including the point position (draw a line from Get Position) into the calculation?

sboerner

Maybe something like this? The camera is now at scene origin and the transform node is disabled.

The PF settings are very touchy and it's easy to end up with something wonky or unusable.

Thanks for posting, Jordan. This will help with something I'm working on.

WAS

#9
I already mentioned that Hetzen. It's actually Radial looking, especially if warping is high. But you WANT to move away from 0,0,0 otherwise you have a radial effect in your scene. Unless that's what you want.

Also don't think the warp should be smaller than the main scale as that will just yield rough lines between voronoi or circle warps. I was after warping the whole cells.

WAS

#10
This is what I came up with before bed. Though had to re-render it out. I had my first frozen render window. Couldn't alt-tab to it or anything, and the render output was just white and black like an alpha almost.

These ones are more proportionally warped in size, leading to some small and large patches.

Note: PT was left on..was playing with the exaggerated surface detail.

Hetzen

Quote from: sboerner on January 09, 2020, 11:16:54 AM
Quote from: undefinedScaling works from the origin, so the further away you are from it, the effect will become more severe.
Could this be cancelled out by including the point position (draw a line from Get Position) into the calculation?
The problem is, that that happens at every point the renderer looks at. So you would get the same value as if you had input a Constant Vector of (0,0,0) in the noise nodes position.

sboerner

QuoteThe problem is, that that happens at every point the renderer looks at. So you would get the same value as if you had input a Constant Vector of (0,0,0) in the noise nodes position.
Yes, I think I see that now. You're always at the center of the expanding universe. 


Too bad, because it makes this approach impractical for large areas.

WAS

Quote from: sboerner on January 09, 2020, 04:43:04 PM
Quote from: undefinedThe problem is, that that happens at every point the renderer looks at. So you would get the same value as if you had input a Constant Vector of (0,0,0) in the noise nodes position.
Yes, I think I see that now. You're always at the center of the expanding universe.


Too bad, because it makes this approach impractical for large areas.

I notice that a lot with what I want to do with function noises, limited to a small area or using transforms.

Dune

The problem is that you can have different sizes from one setup, but they get warped right away. But it's interesting to play with, if you want weird shapes.