This operator generates divergence-free 3D noise, computed using a curl function on standard Perlin Noise. The operator can handle intervening geometry, allowing the noise field to "flow" around the given object.
The inputs of the Curl Noise operator have the same effect as their
counterparts in the Turbulent Noise operator. The four
new inputs are Step Size (
h), Surface Effect Radius (
d), Distance to Surface
dist), and Surface Normal (
When the output is 4D noise, the Noise Type parameter has no effect and only Perlin Noise is used.
Step Size controls the resolution of the curl function used to generate the noise. A lower value will lead to tighter spirals in the noise.
Surface Effect Radius determines the magnitude of the effect that intervening geometry has on the created noise field. A higher value causes greater disturbances resulting from intervening geometry.
Distance to Surface is the signed distance value indicating the distance from the current position to the closest surface of intervening geometry. Piping in the result of a signed distance field with respect to a piece of geometry will allow the generated noise to react appropriately to that surface geometry.
Surface Normal is the normal of the surface closest to the current position. Piping in a volume gradient is one way of passing in the desired normal values, and the result is a noise field that "flows" along the given surface. For best results, Distance to Surface and Surface Normal should be informed by the same surface for each position that the Curl Noise operator is performed on.