Surface Offset Modifier

The Surface Offset modifier pushes strands away from the mesh surface to prevent penetration. It's typically placed after styling modifiers (clumping, frizz, coil) that may pull strands through the scalp.

What It Does

After clumping or frizz displaces strands, some may end up intersecting the mesh surface. Surface Offset detects these intersections and pushes affected points outward along the surface normal.

Visual effect: Strands that were clipping through the scalp are pushed back to a safe distance.

When to use: After any modifier that might cause scalp penetration — especially Clumping (which pulls strands toward centers) and Frizz (which displaces randomly).

Core Parameters

Offset

Minimum distance from the mesh surface (world units).

Range: 0.0001–0.1 (Default: 0.005)

  • 0.001 = Very close to surface
  • 0.005 = Normal clearance
  • 0.02 = Noticeable gap

Expression support: Yes

Strength

Overall effect strength.

Range: 0.0–1.0 (Default: 1.0)

  • 0.0 = No correction
  • 0.5 = Partial correction (softer)
  • 1.0 = Full correction

Expression support: Yes

Preserve Length

Keep original segment lengths after correction.

Default: Enabled

When enabled, after pushing points away from the surface, segment lengths are restored so strands don't appear to stretch or shrink.

Smoothing

After pushing points outward, the strand shape can become jagged. Smoothing fixes this.

Smooth Passes

Number of smoothing iterations.

Range: 0–10 (Default: 2)

  • 0 = No smoothing (may look jagged)
  • 2 = Subtle smoothing (default)
  • 5+ = Heavy smoothing (very smooth but may lose detail)

Smooth Amount

Strength of each smoothing pass.

Range: 0.0–1.0 (Default: 0.5)

  • 0.0 = No smoothing effect
  • 0.5 = Moderate (default)
  • 1.0 = Maximum smoothing per pass

Advanced

Max Search Distance

How far to search for the nearest surface point.

Range: 0.0–1.0 (Default: 0.0 = auto)

When set to 0, the system automatically determines an appropriate search radius. Increase manually if strands are far from the surface and not being detected.

Seed

Random seed for expression evaluation.

Range: 0–99999 (Default: 42)

Mask Support

Surface Offset supports texture masks:

  • White = full offset correction
  • Black = no correction (strands can penetrate)
  • Gray = partial correction

Use case: Allow penetration in areas where hair is meant to be very close to the scalp (e.g., tight cornrow areas) while correcting elsewhere.

Placement in Stack

Surface Offset should typically be placed after styling modifiers but before Simulate:

1. Clumping
2. Coil
3. Frizz
4. Cut
5. Surface Offset  ← here
6. Simulate

Placing it earlier means subsequent modifiers might re-introduce penetration. Placing it after Simulate means physics results won't be corrected (the sim has its own collision).

Practical Examples

Basic Scalp Protection

Offset: 0.005
Strength: 1.0
Preserve Length: ON
Smooth Passes: 2
Smooth Amount: 0.5

Standard setup for preventing scalp penetration.

Gentle Correction (Preserve Styling)

Offset: 0.003
Strength: 0.7
Preserve Length: ON
Smooth Passes: 3
Smooth Amount: 0.3

Softer correction that preserves more of the styled shape.

Aggressive Fix (Heavy Clumping)

Offset: 0.01
Strength: 1.0
Preserve Length: ON
Smooth Passes: 4
Smooth Amount: 0.6

For cases where heavy clumping pulls many strands through the surface.

Tips

  • Start with defaults. Offset 0.005, Strength 1.0, 2 smooth passes works for most cases.
  • Increase offset if you still see penetration after applying.
  • Increase smooth passes if corrected strands look jagged or kinked.
  • Use expressions for variable offset: 0.003 + rand(index) * 0.004 gives natural variation.
  • Check from multiple angles — penetration is often only visible from certain viewpoints.

Common Mistakes

  • Placing too early in stack: Subsequent modifiers re-introduce penetration. Place after styling modifiers.
  • Offset too large: Creates an unnatural gap between hair and scalp. Keep it subtle (0.003–0.01).
  • No smoothing: Corrected strands look kinked. Always use at least 1–2 smooth passes.
  • Forgetting Preserve Length: Without it, corrected strands appear stretched.