This operator computes 1D, 3D, and 4D Voronoi noise, which is similar to Worley noise but has additional control over jittering (i.e. how randomly the points are scattered through space) and returns the actual locations of the two nearest points.
Voronoi noise works by scattering points randomly through space according to a nice Poisson distribution, generating cell-like patterns. The generated noise is not anti-aliased. For best shading results, use the anti-aliased Celluar Noise instead.
Though this operator is slightly more expensive than Worley noise, the fact that it computes the actual point positions allows it to overcome some of the artifacts of Worley noise, such as getting even widths along the cell boundaries.
You can look at dist1 as the amount of generated noise (see other pattern generators such as Boxes or Stripes), which can be connected to a mixing bias (see Mix), a displacement amount (see Displace Along Normal), or other float inputs.
The seed associated with the first closest point is also returned. The seed is pretty much guaranteed to be unique for every point, meaning that it is unlikely that two points close by will have the same seed associated with them.
If the periodicity (
period) input is connected, periodicity will be
factored into the noise computation.
The relative costs for computing noise of different types is roughly:
Cost | Noise Type -----+------------------------- 1.0 | Perlin Noise (see Periodic Noise operator) 1.1 | Original Perlin Noise (see Turbulent Noise operator) 1.8 | Worley Noise (see Worley Noise operator) 1.8 | Periodic Worley Noise (see Periodic Worley Noise operator) 1.9 | Voronoi Noise 2.1 | Sparse Convolution Noise (see Turbulent Noise operator) 2.3 | Alligator Noise (see Turbulent Noise operator)
The following examples include this node.
No geometry is animated in this file. All animation is achieved by animating the textures
Flames are grids so that UV textures can easily be applied, they are then warped around a metaball using a magnet SOP. The flames are then assigned to either a yellow or blue Flames texture. The Flames' opacity mask wrap is set to Decal to prevent the texture from repeating and showing a single pixel ring at the top of the flame geometry. I'm also using a mask file named
flameOpacMap.jpg to enhance the flames' shape at the top. The noise offset has been animated over
$T with an greater emphasis on the Y axis so that the flames look like they are rising. This is the same reason the Noise jitter is larger for the Y axis as well.
The coals are spheres that have been copy stamped onto a deformed grid. Using Attribute Create surface nodes I am able to override and copy stamp the lava texture’s parameters at the SOP level so that local variables, such as
$BBY, can be used to animate the texture. This way the texture’s crust and its crust values can be used only to form the tops of the coals. This reserves the lava aspect of the texture to be used on the bottoms of the coals. The lava intensity (
Kd attribute) is then stamped and animated to create the look of embers on the bottom of coals glowing.