Simulate Modifier (Experimental)

The Simulate modifier adds physics-based hair dynamics using XPBD (Extended Position-Based Dynamics) with Coulomb friction. It makes hair respond to gravity, wind, collisions, and movement with realistic motion.

Note: This modifier is experimental and under active development. Features and performance may change in future releases.

What It Does

The Simulate modifier brings hair to life with:

  • Physics simulation - gravity, inertia, momentum
  • Collision detection - with body, props, and self-collision
  • Wind forces - steady wind, turbulence, and gusts
  • Friction - static and dynamic friction (Coulomb model)
  • Shape preservation - maintains styled hair shape
  • Timeline sync - scrub through animation with frame caching

Think of it as turning your static hair into dynamic, animated hair that moves naturally with character motion.

Solver Modes

GPU Acceleration (CUDA)

  • 8-20x faster than CPU
  • Requires NVIDIA GPU with CUDA support
  • Automatically falls back to CPU if unavailable
  • Recommended for real-time preview

Guides Only Mode

  • Simulates only guide curves, interpolates strands
  • Much faster for dense hair (10,000+ strands)
  • Recommended for most workflows
  • Full strand simulation available for maximum accuracy

Playback Controls

Play/Pause

  • Start or stop simulation playback
  • Simulation runs at scene framerate

Reset

  • Return hair to initial rest pose
  • Clears all simulation state

Step

  • Advance one frame manually
  • Useful for debugging

Timeline Sync

  • Sync simulation with Blender's timeline
  • Enables scrubbing through animation
  • Automatically caches frames for instant playback

Bake Simulation

  • Pre-simulate and cache all frames to disk
  • Enables instant playback of complex simulations
  • Press ESC to cancel during baking
  • Clear cache to free disk space

Time Stepping

Substeps

  • Number of simulation steps per frame
  • Range: 1-16, default 8
  • Higher = more stable, slower
  • Increase if hair explodes or jitters

Iterations

  • Constraint solver iterations per substep
  • Range: 1-50, default 16
  • Higher = stiffer, more accurate
  • Increase for stiff hair or tight constraints

Physical Properties

Gravity

  • Gravity strength in m/s²
  • Range: 0-50, default 9.81 (Earth gravity)
  • Set to 0 for zero-gravity effects

Damping

  • Velocity damping (energy loss)
  • Range: 0.0-1.0, default 0.3
  • Higher = less bouncing, more stable
  • Increase if hair oscillates too much

Air Drag

  • Air resistance coefficient
  • Range: 0.0-1.0, default 0.01
  • Higher = more air resistance
  • Simulates drag through air

Stiffness

Stretch Stiffness

  • Resistance to stretching
  • Range: 0.0-1.0, default 1.0
  • 1.0 = rigid (no stretching)
  • Lower for elastic, stretchy hair

Bend Stiffness

  • Resistance to bending
  • Range: 0.0-1.0, default 0.5
  • 0.0 = floppy, 1.0 = stiff
  • Adjust based on hair type (fine vs coarse)

Film Quality (DER)

Discrete Elastic Rods - Advanced simulation mode for film-quality results.

Enable DER

  • Activates film-quality simulation
  • Includes twist propagation and anisotropic bending
  • Slower but more physically accurate
  • Recommended for final renders

Bend Anisotropy

  • Directional bending stiffness
  • Range: 0.0-1.0, default 0.0
  • 0.0 = bends equally in all directions
  • 1.0 = bends more easily in one direction
  • Simulates flat hair ribbons

Twist Stiffness

  • Resistance to twisting along strand axis
  • Range: 0.0-1.0, default 0.3
  • Important for curly and coiled hair
  • Prevents unrealistic untwisting

Wind

Enable Wind

  • Activates wind forces

Wind Strength

  • Force magnitude
  • Range: 0-50, default 1.0
  • Higher = stronger wind

Turbulence

  • Wind chaos and variation
  • Range: 0.0-1.0, default 0.3
  • 0.0 = steady wind, 1.0 = chaotic gusts

Gusts

  • Random gust strength
  • Range: 0-5, default 0.0
  • Adds sudden wind bursts

Wind Direction Object

  • Use an Empty or object to control wind direction
  • Wind flows along object's local +Y axis
  • Rotate the object to change wind direction
  • Tip: Create an Empty, rotate it to aim wind

Collision

Body Collision

  • Collide with scalp/body mesh
  • Automatically detects parent mesh
  • Additional meshes can be added

Collision Mode

  • Mesh (Exact) - BVH tree, accurate for static meshes
  • Volume (Fast) - SDF, fast for animated meshes (recommended)
  • Primitives (Film) - Analytical shapes, fastest for film production

Collision Radius

  • Hair thickness for collision detection
  • Range: 0.0001-0.1, default 0.01
  • Increase if hair penetrates surfaces

Collision Margin

  • Extra safety margin for early detection
  • Range: 0.0-0.05, default 0.005
  • Prevents tunneling through fast-moving objects

Repulsion Stiffness

  • How hard collision pushes hair back
  • Range: 100-5000, default 1000
  • Increase if hair penetrates despite collision

Friction

  • Surface friction coefficient
  • Range: 0.0-1.0, default 0.3
  • 0.0 = slippery, 1.0 = sticky

Self Collision

  • Hair-hair collision (expensive!)
  • Prevents strands from passing through each other
  • Use sparingly - very slow
  • Recommended: Use stiction instead

Self Collision Radius

  • Radius for hair-hair detection
  • Range: 0.0001-0.01, default 0.003
  • Smaller = more accurate, slower

Coulomb Friction (Film Quality)

Advanced friction model for realistic hair-hair and hair-body contact.

Static Friction (μs)

  • Friction before sliding starts
  • Range: 0.0-1.0, default 0.5
  • Higher = more resistance to initial movement

Dynamic Friction (μd)

  • Friction during sliding
  • Range: 0.0-1.0, default 0.3
  • Usually lower than static friction

Hair-Hair Static Friction

  • Static friction between hair strands
  • Range: 0.0-1.0, default 0.4
  • Creates natural clumping during motion

Hair-Hair Dynamic Friction

  • Dynamic friction between strands
  • Range: 0.0-1.0, default 0.2
  • Controls how easily hair slides past itself

Stiction (Clumping)

  • Hair sticks together naturally
  • Range: 0.0-1.0, default 0.1
  • Creates realistic clumping without full self-collision
  • Much faster than self-collision

Stiction Distance

  • Distance for stiction effect
  • Range: 0.0001-0.01, default 0.003
  • Strands within this distance stick together

Shape Matching (Style Preservation)

Preserves styled hair shape during simulation.

Enable Shape Matching

  • Hair returns to its styled rest pose
  • Helps preserve curls, waves, and clumping
  • Essential for maintaining hairstyle during motion

Shape Compliance

  • How strongly hair returns to rest pose
  • Range: 0.0-1.0, default 0.3
  • 0.0 = rigid preservation (strong)
  • 1.0 = soft preservation (weak)

Workflow:

  1. Style your hair (apply Clumping, Coil, etc.)
  2. Click "Capture Current as Rest Pose"
  3. Enable Shape Matching
  4. Run simulation - hair maintains styled shape

Presets

The Simulate modifier includes presets organized by category:

Production - Film-quality settings Performance - Fast preview settings Hair Types - Fine, medium, coarse hair Style Preservation - Maintain curls, waves, clumps Environments - Wind, underwater, zero-gravity Special Effects - Slow motion, exaggerated motion

Select a preset and click "Apply" to load settings.

Performance Tips

For Real-Time Preview:

  • Enable GPU Acceleration
  • Use Guides Only mode
  • Reduce Substeps to 4-6
  • Reduce Iterations to 8-12
  • Disable Self Collision
  • Use Stiction instead of Self Collision

For Final Render:

  • Enable DER (Film Quality)
  • Increase Substeps to 12-16
  • Increase Iterations to 20-30
  • Bake simulation to disk
  • Use Volume collision mode for animated meshes

If Simulation is Unstable:

  • Increase Substeps
  • Increase Damping
  • Reduce Gravity
  • Check collision radius
  • Increase Repulsion Stiffness

Common Issues

Hair Explodes

  • Increase Substeps (try 12-16)
  • Increase Damping (try 0.5)
  • Check for intersecting geometry
  • Reduce Stretch Stiffness slightly

Hair Penetrates Body

  • Increase Collision Radius
  • Increase Repulsion Stiffness
  • Add Collision Margin
  • Switch to Volume collision mode

Simulation Too Slow

  • Enable GPU Acceleration
  • Use Guides Only mode
  • Reduce Substeps
  • Disable Self Collision
  • Use Stiction instead

Hair Loses Style

  • Enable Shape Matching
  • Capture current pose as rest pose
  • Reduce Shape Compliance
  • Increase Bend Stiffness

Technical Notes

  • XPBD solver is stiffness-independent (stable at any iteration count)
  • GPU mode uses CUDA for 8-20x speedup
  • Frame caching enables instant timeline scrubbing
  • Coulomb friction model matches real-world physics
  • Shape matching uses position-based constraints
  • Simulation state is saved with Blender file

---

Next: Surface Tab - Bind hair to animated meshes Previous: Cut Modifier