Voronoi Popcorn by Jens Kafitz
- Where to find it:
- Add Procedural Layer / Procedural / Extension Pack / MultiFractal /
- NodeGraph / Right Mouse Click / Add Nodes / Procedural / Extension Pack / MultiFractal /
Voronoi Popcorn is a cellular based procedural that runs through a fractalization process, meaning that there
two different stages to the procedural: Generating a Voronoi/Cellular, then using the result as a base value in a regular noise routine.
It is very useful to create cracks and the procedural is optimized for displacement and bump usage.
Due to the expensive nature of the computations involved in the node, it is recommended to bake or flatten the node after use.
Due to the expensive nature of the node, the node has been marked in red
- Color A/B
The two colors that make up the final look of the procedural
- Voronoi Base
Voronoi Base determines the voronoi cell algorithm used. For user-friendliness descriptive names are used:
A soft round shape with long gradients
- Coffee Bean
Soft Angular shapes with harsh corners
- Sparse Corn
Sparse round shapes
- Crumpled Paper
Soft shapes with harsh outlines
- Primary Scale
The scale of the cells generated by the main voronoi cellular.
A random start value for your voronoi
Changing the seed changes the overall look of your fractal while the general feature look stays the same, allowing for quick variation with a general look theme.
Large Slider Ranges & Channel Bit Depth.
To allow for maximum fidelity of Displacements and Bump Maps the slider ranges for Voronoi
Popcorn are over-sized. A visually pure white result in the viewport can still contain value differentiation by having values over 1.0 or below 0.0. You can preview the result by using
the voronoi popcorn in a bump map.
To allow for values outside the 8bit 0.0 - 1.0 range to be written into textures you will need
to use 16bit or 32bit float bitdepths in your channels.
Defines the Value at which point incoming colors/values go to black (incoming values to the left of the set slider value)
or white (incoming values to the right of the set slider value).
- Soft Clip Result
Used to visually soften the thresholding, it defines the Upper+Lower Bound of the Threshold
For example with a Threshold Value set to 0.5 and a Edge Value of 0.1, incoming values lower than 0.4
will be black and incoming values higher than 0.6 will be white. Between 0.4 and 0.6 will be a soft gradient.
The Contrast Slider is the VoronoiPopcorn's equivalent to a Gain however while a Gain influences the result
from octave to octave differently (see Understanding some basic noise terms), the Contrast just gets multiplied with the final result of all octaves.
Clamping will clip any values to a range of 0.0 - 1.0 before ColorA, Color B are applied.
In practice this will increase the size of the gaps between individual features:
Increasing 'Density' on Voronoi Popcorn
- Density Gain
The amplitude is hardcoded for this noise to start at 1.0 for the first octave,
then gets multiplied by the Gain 1x time for each octave incrementing the value of the amplitude
In practice this will increase the size of the gaps between individual features but other than the Density it will do
so gradually without jumps.
Controls the size of the secondary fine details.
By decreasing the value below 1.0 the cells will be split into smaller ones, by going over 1.0 multiple cells
will be separated by large gaps.
Increasing Lacunarity from 0.1 to 4.0
Controls the line width of the secondary details:
Increasing Lacunarity Density
- Density Gain
A value to be added to the Lacunarity Density for each octave ('density offset'), it is in many ways similarly behaving
to changing the Density. It has a tendency to contrast values more than Density does.
EDGE DETAIL TAB
The large and small edge detail groups introduce an offset to the voronoi by generating Vector FBMs,
making features more jagged and less straight. Two separate offsets can be done.
- Detail Scale
The frequency/size of the noise used to offset the voronoi pattern.
Large always bigger than small
The Size of the LargeEdgeDetail will ALWAYS be bigger than the SmallEdgeDetail even if your
SmallEdgeDetail Scale is set higher than the LargeEdgeDetail equivalent.
This is to easily identify on your model what features to modify with what group.
- Large/Small Detail Octaves
By setting the Octaves to 0 you will disable the Offset
The Detail Amount of the Noise generated to offset the voronoi pattern
Increasing octaves of noise used to offset pattern:
- Detail Amplitude
The Amplitude of the noise used to offset the voronoi Pattern.
Amplitude defines the amount of offset from the original undisturbed position.
Increasing amplitude of noise used to offset pattern:
- UV Space
By default this procedural is generated in 3D World Space. This results in a seamless noise across UV seams.
By turning on UV Space the procedural is generated based on your UVs, resulting in seams between UV tiles/UDIM & uv shells.
Utilizing Transform Controls such as Scale (see below) you can apply a non-uniform transform to the procedural
to make use of specific UV layouts
- Per UDIM Pivot
Affects the transformation pivot for UV Transforms when in UV Space
With PerUDIMPivot on all transformation will be performed with a pivot at the centre of each UDIM.
With PerUDIMPivot off, transformations for all UDIMs share one common pivot at the base of UDIM 1001.
This will ensure seamless textures across UDIMs when your UV Shell is scaled up and covering multiple UDIMs.
without a cut inbetween.
UV Transformations applied to multiple UDIMs with perUDIM Pivot On (left) and off (right).
- Scale X / Y / Z
Will apply a scale along X,Y or Z to your noise. This is useful for creating patterns like woodgrain, drips etc.
When UV Space is turned on Scale Z is ignored.
- Rotate X / Y / Z
Will apply a rotation in X,Y or Z to your noise. When UV Space is turned on Rotate X & Rotate Y are ignored
and rotation is done around the center of each UV Tile/UDIM using Rotate Z.
- Translate X / Y / Z
Will apply an offset in X,Y or Z to your noise. When UV Space is turned on Translate Z is ignored.