Clumping Modifier

The Clumping modifier groups strands together into natural bundles, like wet hair or tight curls. This is the most essential modifier for realistic hair - almost all real hair clumps naturally.

What is Clumping?

Clumping pulls strands toward "clump centers" (either guides or procedurally generated points), creating distinct bundles with gaps between them. This is how real hair behaves - individual strands stick together due to oils, moisture, or natural curl patterns.

Visual effect: Strands group into bundles. Instead of uniform hair, you get distinct clumps with visible gaps between them.

When to use: Almost always! Natural hair, wet hair, tight curls, any realistic hair styling.

Clump Source

The Clump Source section controls where clumps are centered.

Use Guides as Clump Centers

Use guide curves as clump centers vs procedural generation.

Default: Checked (enabled)

What it does:

  • Checked: Each guide becomes a clump center. Strands pull toward nearby guides.
  • Unchecked: Procedurally generate clump centers (ignores guides).

When to use:

  • Guides (checked): Most common. Natural clumping following your guide flow.
  • Procedural (unchecked): Experimental. Generates random clump centers.

Tip: Leave this checked unless you have a specific reason to use procedural clumps.

Num Clumps

Number of procedural clumps (only when "Use Guides" is unchecked).

Range: 1 to 500 (Default: 50)

What it does: How many procedural clump centers to generate.

When to use: Only relevant when "Use Guides" is disabled.

Clump Effect

The Clump Effect section controls the core clumping behavior.

Tightness

How strongly strands pull toward clump centers.

Range: 0.0 to 1.0 (Default: 0.7)

What it does:

  • 0.0 = No clumping (strands stay in original positions)
  • 0.5 = Moderate clumping (loose, natural)
  • 0.7 = Strong clumping (tight, defined clumps)
  • 1.0 = Maximum convergence (very tight, wet look)

When to adjust:

  • Loose, natural hair: 0.3-0.6
  • Normal clumping: 0.6-0.8
  • Tight clumps (wet hair, tight curls): 0.8-1.0

Expression support: Yes

Example expression:

rand3(0.6, 0.9, clump_id)

Each clump gets random tightness between 0.6-0.9 for natural variation.

Blend

Overall clumping strength (blends with original positions).

Range: 0.0 to 1.0 (Default: 1.0)

What it does:

  • 0.0 = Original positions (no clumping visible)
  • 0.5 = 50% clumped, 50% original
  • 1.0 = Full clumping effect

When to use:

  • Usually leave at 1.0 for full effect
  • Lower values for subtle clumping
  • Animate from 0→1 for "hair getting wet" effect

Expression support: Yes

Tightness Profile

Curve controlling tightness along strand length (root to tip).

What it does: Controls how tightness varies from root (left) to tip (right).

Default curve:

  • Root (0.0): 0.0 (spread out)
  • Middle (0.5): 0.5 (moderate)
  • Tip (1.0): 1.0 (tight convergence)

Visual effect: Strands spread at roots, converge at tips. This is the XGen-style "natural clumping" look.

Common profiles:

Natural (default):

Root: 0.0, Middle: 0.5, Tip: 1.0

Spread at roots, tight at tips

Uniform:

Root: 1.0, Tip: 1.0 (flat line)

Same tightness everywhere

Reverse:

Root: 1.0, Tip: 0.0

Tight at roots, spread at tips (unusual but useful for specific looks)

Tip: The default profile (root spread, tip convergence) is natural for most hair.

Length Mode

How strand lengths are handled during clumping.

Options:

  1. None (Tips Collapse) - All strand tips converge to same point
  2. Preserve Differences (Default) - Maintain relative length differences
  3. Extend to Match - Extend shorter strands to match clump length
  4. Shorten to Match - Shorten longer strands to not exceed clump tip

What each mode does:

None (Tips Collapse):

  • All strands sample the full clump curve (0→1)
  • Tips collapse to the same point
  • Creates very tight, uniform clump tips
  • Use for: Wet hair, very tight clumps

Preserve Differences (Recommended):

  • Maintains original length variation
  • Shorter strands stay shorter, longer stay longer
  • Most natural look
  • Use for: Almost everything

Extend to Match:

  • Extends shorter strands to match the longest strand in the clump
  • All strands reach the same tip point
  • Use for: Uniform clump tips without collapse

Shorten to Match:

  • Shortens longer strands to not exceed clump tip
  • Prevents strands from sticking out past clump
  • Use for: Clean, controlled clump tips

Tip: "Preserve Differences" is the most natural. Use "None" for wet hair.

Stray Control

The Stray Control section creates "rebel" strands that resist clumping.

Stray Rate

Percentage of strands that become strays (resist clumping).

Range: 0.0 to 1.0 (Default: 0.0)

What it does:

  • 0.0 = All strands clump normally
  • 0.1 = 10% of strands become strays
  • 0.3 = 30% of strands resist clumping

When to use:

  • Add realism: 0.05-0.15 (5-15% strays)
  • Messy hair: 0.2-0.4
  • Very loose clumping: 0.5+

Visual effect: Some strands break away from clumps, creating a more natural, less uniform look.

Stray Amount

How much stray strands resist clumping.

Range: 0.0 to 1.0 (Default: 0.5)

What it does:

  • 0.0 = Strays still clump fully (no effect)
  • 0.5 = Strays clump at 50% strength
  • 1.0 = Strays completely ignore clumping

When to use: Usually 0.5-0.8 for natural stray behavior.

Tip: Combine with Stray Rate. Example: Rate 0.1, Amount 0.7 = 10% of strands resist 70% of clumping.

Stray Falloff

Distance-based stray falloff (Houdini-style).

Range: 0.0 to 2.0 (Default: 0.0)

What it does:

  • 0.0 = Uniform stray distribution
  • 1.0 = Strands near clump center resist less, edge strands resist more
  • 2.0 = Strong center-to-edge falloff

Visual effect: Creates natural variation where center strands clump tightly, edge strands break away.

When to use: 0.5-1.5 for natural center-to-edge variation.

Crossover

Rate at which strands cross between clumps.

Range: 0.0 to 1.0 (Default: 0.0)

What it does: Allows strands to switch between clumps, creating inter-clump connections.

When to use: 0.1-0.3 for subtle inter-clump connections. Creates more organic, less separated clumps.

Curl Effect

The Curl Effect section adds spiral patterns to clumped strands.

Enable Curling

Turn curl effect on/off.

Default: Unchecked (disabled)

What it does: Applies spiral/curl pattern to clumped strands.

When to use: Check this to add curls on top of clumping.

Amplitude

Curl radius/width.

Range: 0.0 to 0.5 (Default: 0.05)

What it does: How wide the curls are.

  • 0.01 = Tight, small curls
  • 0.05 = Medium curls
  • 0.2+ = Wide, loose curls

Visual effect: Larger values = wider spiral radius.

Frequency

Number of curl rotations along strand.

Range: 0.1 to 10.0 (Default: 2.0)

What it does: How many times the strand spirals.

  • 1.0 = One full rotation
  • 2.0 = Two rotations
  • 5.0 = Five rotations (tight spiral)

Visual effect: Higher values = more rotations = tighter spiral pattern.

Curl Profile

Curve controlling curl amplitude along strand length.

Default: Linear (0.0 at root, 1.0 at tip)

What it does: Controls where curls are strongest.

Common profiles:

  • Root to tip (default): Curls increase toward tips
  • Tip only: Curls only at tips (0.0 until 0.7, then ramp to 1.0)
  • Uniform: Same curl everywhere (flat line at 1.0)

Noise Effect

The Noise Effect section adds coherent noise to clumped strands.

Important: This noise is clump-coherent - all strands in a clump move together! This creates natural clump waviness, not per-strand randomness.

Enable Noise

Turn noise effect on/off.

Default: Unchecked (disabled)

What it does: Applies coherent noise displacement to clumps.

Amplitude

Noise displacement amount.

Range: 0.0 to 0.2 (Default: 0.02)

What it does: How much clumps are displaced by noise.

  • 0.01 = Subtle waviness
  • 0.02 = Moderate waviness
  • 0.05+ = Strong waviness

Visual effect: Clumps wave and undulate together.

Frequency

Noise frequency/detail.

Range: 0.1 to 5.0 (Default: 1.0)

What it does: How detailed the noise pattern is.

  • 0.5 = Large, smooth waves
  • 1.0 = Medium detail
  • 3.0+ = Fine, detailed noise

Octaves

Number of noise layers.

Range: 1 to 8 (Default: 2)

What it does: Adds detail layers. More octaves = more detail, slower performance.

Typical values:

  • 1 = Simple noise
  • 2-3 = Natural detail
  • 4+ = Very detailed (slower)

Seed

Random seed for noise pattern.

Range: 0 to 10000 (Default: 42)

What it does: Change to try different noise patterns.

Noise Profile

Curve controlling noise amplitude along strand length.

Default: Linear (0.0 at root, 1.0 at tip)

What it does: Controls where noise is strongest. Usually stronger at tips.

Fractal Clumping

The Fractal Clumping section creates hierarchical sub-clumps within clumps.

Iterations

Number of fractal clumping levels.

Range: 1 to 5 (Default: 1)

What it does:

  • 1 = Single level clumping (normal)
  • 2 = Clumps within clumps (one level of sub-clumps)
  • 3+ = Multiple levels of hierarchical clumping

Visual effect: Creates natural complexity where clumps have sub-clumps.

When to use:

  • 1 = Most hair (simple clumping)
  • 2 = Natural hair with sub-structure
  • 3+ = Very complex, natural-looking hair

Performance: More iterations = slower. Use 1-2 for most cases.

Size Reduce

Size reduction per fractal iteration.

Range: 0.1 to 0.9 (Default: 0.5)

What it does: How much smaller each sub-clump level is.

  • 0.5 = Sub-clumps are half the size of parent
  • 0.3 = Sub-clumps are 30% of parent size

Typical value: 0.4-0.6 for natural hierarchy.

Tip Focus

Tip convergence feedback (goal feedback).

Range: 0.0 to 1.0 (Default: 0.0)

What it does: Makes tips converge more aggressively.

  • 0.0 = Standard clumping
  • 0.5+ = Tips pull together more strongly

When to use: 0.2-0.5 for tighter tip convergence.

Level Reduce

Tightness reduction per hierarchical level.

Range: 0.0 to 0.5 (Default: 0.1)

What it does: Reduces tightness for each sub-clump level.

  • 0.0 = Same tightness at all levels
  • 0.2 = Each level is 20% looser

Visual effect: Parent clumps are tight, sub-clumps are looser. Natural hierarchy.

Advanced

Seed

Random seed for reproducible results.

Range: 0 to 10000 (Default: 1337)

What it does: Controls all randomization. Change to try different random patterns.

Practical Examples

Example 1: Natural Hair

Tightness: 0.6
Blend: 1.0
Length Mode: Preserve Differences
Stray Rate: 0.1
Stray Amount: 0.6

Result: Natural clumping with 10% stray strands

Example 2: Wet Hair

Tightness: 0.95
Blend: 1.0
Length Mode: None (Tips Collapse)
Stray Rate: 0.0

Result: Very tight clumps, tips converge (wet look)

Example 3: Loose Wavy Hair

Tightness: 0.4
Blend: 1.0
Length Mode: Preserve Differences
Enable Curling: Yes
Curl Amplitude: 0.08
Curl Frequency: 1.5
Stray Rate: 0.15

Result: Loose clumps with gentle waves

Example 4: Tight Curly Hair

Tightness: 0.8
Blend: 1.0
Enable Curling: Yes
Curl Amplitude: 0.03
Curl Frequency: 5.0
Fractal Iterations: 2
Size Reduce: 0.5

Result: Tight clumps with spiral curls and sub-clumps

Example 5: Hierarchical Natural Hair

Tightness: 0.65
Blend: 1.0
Length Mode: Preserve Differences
Fractal Iterations: 2
Size Reduce: 0.5
Level Reduce: 0.15
Stray Rate: 0.12
Enable Noise: Yes
Noise Amplitude: 0.015

Result: Complex, natural hair with clumps, sub-clumps, strays, and waviness

FollicleScript Examples

Per-Clump Tightness Variation

rand3(0.5, 0.8, clump_id)

Each clump gets random tightness between 0.5-0.8

UV-Based Tightness

v > 0.5 ? 0.8 : 0.5

Top half (v>0.5) gets tighter clumping than bottom half

Gradient Blend

lerp(0.5, 1.0, v)

Bottom (v=0) has 50% blend, top (v=1) has full blend

Conditional Stray Rate

u < 0.3 ? 0.2 : 0.05

Left side (u<0.3) has 20% strays, rest has 5%

Tips and Best Practices

Start with Defaults: The default settings (Tightness 0.7, Preserve Differences) work well for most hair.

Tightness Profile Matters: The default root-spread, tip-convergence profile is natural. Don't change it unless you have a reason.

Add Strays: 5-15% stray rate adds realism. Real hair isn't perfectly uniform.

Use Preserve Differences: This length mode is most natural. Only use "None" for wet hair.

Fractal for Complexity: 2 iterations with 0.5 size reduction adds natural sub-structure without much performance cost.

Curl vs Coil Modifier: Clumping's curl is for subtle spiral within clumps. Use the Coil modifier for strong, defined curls.

Noise is Clump-Coherent: Remember, noise moves entire clumps together, not individual strands. Use Frizz modifier for per-strand randomness.

Expressions for Variation: Use expressions to vary tightness per clump. Uniform tightness looks CG.

Common Mistakes

Too Much Tightness: Setting tightness to 1.0 for everything. This creates overly tight, unnatural clumps. Use 0.6-0.8 for most hair.

Wrong Length Mode: Using "None" for dry hair. This makes tips collapse unnaturally. Use "Preserve Differences".

No Strays: Forgetting to add stray strands. Real hair has rebels! Add 5-15% strays.

Ignoring Tightness Profile: Using a flat profile (uniform tightness). The default root-spread, tip-convergence is natural.

Too Many Fractal Iterations: Using 4-5 iterations. This is slow and usually unnecessary. 1-2 iterations is enough.

Confusing Curl and Coil: Using clumping curl for strong curls. Clumping curl is subtle. Use Coil modifier for defined curls.

Uniform Tightness: Not using expressions for per-clump variation. Add variation with rand3(0.6, 0.8, clump_id).

Next Steps

Clumping is usually the first modifier in your stack. After clumping, add:

  • Coil Modifier - Add defined spiral curls
  • Frizz Modifier - Add per-strand randomness and flyaways
  • Cut Modifier - Trim to final length

Related Topics:

  • Modifiers Tab - Understanding the modifier stack
  • Coil Modifier - Spiral curls
  • Frizz Modifier - Randomness and flyaways
  • FollicleScript Expressions - Advanced variation

---

Clumping is the foundation of realistic hair. Master this modifier and you're halfway to great hair!