Share

Create a field

There are several nodes that create a basic field, which can then be combined with other fields to achieve complex effects.

Position field

Although sampling a field always involves evaluating it at positions, it is sometimes also necessary to use the position explicitly for defining a field's formula. For this, you can use the position_field node to get the position values, followed by vector3_to_scalar to get the constituent X, Y, and Z values if necessary.

For example, the formula √(x² + y² + z²) gives the distance from any position to the origin.

Distance to origin as a field

Constant fields

Constant fields are useful when you need simple values in a formula, such as 2.5x².

  • The to_field node is a convenient compound with multiple overloads that allow you to convert many different types to scalar or vector fields as appropriate.
  • The scalar_field node can be used specifically to convert a single float value to a scalar field.
  • The vector_field node can be used specifically to convert a single float3 value to a vector field.

Basic shapes

The plane_field and sphere_field nodes are available to create signed distance fields representing planes and spheres.

In addition, the superquadric_shape_field node creates shapes ranging from pointy octahedra with concave sides, through bulging octahedra with convex sides and spheres, to boxes with rounded corners depending on its input values. However, note that the result is not a signed distance field, but simply a level set where a field value of 0 represents the surface.

Noise fields

Several noise fields are available:

  • simplex_noise_field creates a basic scalar noise field with values ranging between –1 and 1. Use the time input to get a noise field that evolves gradually over time.
  • fractal_noise_field creates a more complex scalar noise field composed of several frequencies of simplex noise.
  • curl_noise_field creates a vector noise field that is divergence-free. Divergence-free noise is useful for incompressible fluid because there are no sinks into which flow disappears nor sources from which flow emerges.
  • fractal_turbulence_field creates a complex vector noise field composed of several frequencies of curl noise.

Was this information helpful?