Two types of hair curled using hair curling modifier

To give hair a more natural appearance waviness and curliness is often added. The basic premise behind this technique is the natural flow structure of hair fibers, which tend to modulate on their way down from root to tip. There are two basic types of hair waviness: a flat sinusoidal pattern that causes hairs to wave in one axis, and a spiral pattern that makes the hairs curl around an invisible cylinder (in 2 axes) thus forming a spiral.

A number of parameters are available to control the process of hair curling. The most important ones control the structure of the curls. Because waviness is created through a sinusoid function three most obvious parameters are:
  • Magnitude for controlling how big the waves are
  • Phase to set to total number of curls/rotations per strand
  • Phase offset, to determine at which point the wave will begin

Other parameters include the stretch factor that enables phase to change throughout hair length and standard deviation settings.

Curl modifier used with a biased stretch value and no strandard deviation (left) and with standard deviation (right)

Standard parameter deviation is a helper routine that pre-randomizes all of the curliness parameters for you. Because all real hairs share different curliness properties but nearby strands tend to have very similar properties, a Perlin distribution function is used to smoothly vary out the parameters throughout the UV/World space.

If you still require more control procedural or hand-made texture maps can be used to control the main parameters throughout the UV space.

Curl operator using a Helix wave while changing the Magnitud parameter



  • Apply to Group
    Specifies the strand group to which the curling will be applied.
  • Axis
    Controls the local axis, at each strand point, on which the curling is done
  • Hair length dependent
    If on, this option will use hair length to set the parameters for each strand. Therefore smaller strands will get less curls, while larger ones will proportionately curl more.
  • Magnitude, phase, phase offset
    Properties of the sinusoid used to make the hair curls. Controls the size, frequency, and start value of each curl respectively.
  • Phase stretch
    When non-zero, affects how much curl frequency increases/decreases towards the tip.
  • Standard deviation amount, scale
    To introduce some randomness along the surface a Perlin noise function is used. The curls have to be random, yet locally they have to not be too different. Therefore a blurred multi-level noise function is perfect. These two parameters control this noise function. Note that you can always control these yourself with an external map.

The Curly Hair sample scene can be downloaded from here: CurlyHairDocs.mb

Missing Something? Let us know if this page needs more information about the topic.