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.004gives 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.