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.
Collision SDF is a file to load a collision field from. This will override the normal and distance values, instead, those values will be computed directly from the first volume primitive in the file. This allows the distances to vary within the noise computation, producing more accurate boundaries than if only a single sample is provided. Note the file does not have to be a disk file, it can also be an
op: reference to a node or an
opinput: reference to an input.
Enable Bouncing SDF will, when the sample point is inside the surface, reflect the noise value in the normal direction so it is pointing outwards. This helps ensure any particles that end up inside the surface are pushed outwards by the noise field.