Curling Modifier
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.
Parameters
- Apply to Group
Specifies the propagation group to which the curling will be applied. - 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.
MaxScript Access
You may use standard properties exposed by showProperties myModifier
to access and change this modifier.