Texture Masks
Texture masks let you control modifier strength spatially using painted or image textures. Paint directly in Blender or load external images to define where modifiers apply.
How Masks Work
- White (1.0) = Full effect
- Black (0.0) = No effect
- Gray (0.5) = 50% effect
The mask value at each strand's root position is multiplied with the modifier's strength. So if Clumping is set to 0.8 and the mask value at a strand is 0.5, the actual clumping for that strand is 0.4.
Mask Controls (Per Modifier)
Most modifiers have a Mask row (Guide Interpolate, Resample and Draw Guides do not). Its source chip chooses what the mask reads:
- Value — one number for every strand; 1 means unmasked
- Texture — a painted image, with Paint, Save, Load and Clear
- Attribute — a selection set, a painted channel or a vertex group
- Expression — computed, for example
map("mask") * vgroup("crown")
Creating Masks
Method 1: Paint Directly
- Click the source chip beside the modifier's Mask and choose Texture
- Click Paint: Blender switches to Texture Paint mode on your scalp mesh
- Paint white where you want the effect, black where you don't
- Click Save to write the image to disk so it is kept with your project
Method 2: Load an Image
- Create a mask in any image editor (Photoshop, Krita, etc.)
- White = full effect, black = no effect
- Match your mesh's UV layout
- Save as PNG or TIFF
- Click Load and select your image
Method 3: Procedural (Bake)
- Create a procedural texture in Blender's shader editor
- Bake it to an image texture
- Load the baked image as a mask
Painting Tips
Brush Settings
- Strength 100% for hard edges
- Strength 30–50% for soft gradients
- Build up gradually with multiple passes
- [ and ] keys to resize brush
Techniques
- Base layer first: Fill entire mask with white or black, then paint the opposite
- Gradients: Use soft brush, low strength, multiple passes
- Hard edges: Use hard brush, 100% strength, single pass
- Blending: Soft brush over edges to smooth transitions
Common Uses Per Modifier
Clumping Mask
- More clumping on crown, less at hairline
- No clumping on bangs or sideburns
- Gradient from full to none at edges
Frizz Mask
- More frizz at edges and perimeter
- No frizz along part line
- Flyaway zones at specific areas
Coil Mask
- Curly areas vs straight areas
- Varying curl intensity by region
Cut Mask
- Shaped cuts (bob, layers)
- Length variation by region
Density Mask
- Thinning at temples and crown
- Dense at back and sides
- Bald spots or patterns
Flow Direction Mask
- Strong flow in styled areas
- No flow where you want natural direction
Separate Masks for Clumping
The Clumping modifier has three independent masks:
- Main mask — Controls overall clumping strength
- Curl mask — Controls the curl effect within clumps
- Noise mask — Controls the noise effect within clumps
Each uses distinct texture names to prevent conflicts between modifiers.
Mask Resolution
| Size | Use For |
|---|---|
| 512×512 | Low detail, fast |
| 1024×1024 | Medium detail (recommended) |
| 2048×2048 | High detail |
| 4096×4096 | Ultra detail (slow) |
1024 is usually sufficient. Higher resolution uses more memory but adds more detail.
Beyond textures: vertex groups and channels
New in 1.5.1. A texture map is no longer the only thing that can drive a parameter. Where a parameter supports them, three sources feed the same slot (see Modifiers Overview for which parameters accept which):
| Source | Read with | Authored in |
|---|---|---|
| Texture map | map() | Texture paint, an image, or a procedural texture |
| Vertex group | vgroup("name") | Blender's weight paint |
| Painted channel | attr("name") | FollicleFX's own channel painting |
A vertex group is often the quickest of the three: you already know how to weight paint, and it travels with the mesh.
The channel picker
Beside each parameter is a picker listing the channels the stack is actually offering at that point in the stack, rather than a fixed list. If a channel is not in the picker it does not exist yet at that point, which is usually the real answer when a mask "does nothing".
When a binding fails
If a name cannot be found, the parameter falls back to the value on its own slider and the panel names the field responsible. It never silently falls back to zero or to 1.0.
Masks on guide modifiers
Guide modifiers can take a mask too: Braid, Cornrow, Guide Curl, Guide Flow, Guide Mirror, Guide Sculpt and Simulate accept one, so a guide-level effect can be painted into place the same way a strand-level one is. Guide Interpolate, Guide Resample and Draw Guides have no mask.
Using vertex groups (weight paint)
New in 1.5.1. A Blender vertex group on the scalp can drive a setting or a mask. It is often the quickest way to mark an area, and the weights travel with the mesh.
Paint a vertex group
- Select the scalp mesh.
- In Object Data Properties → Vertex Groups, click + and name the group, for example
crown. - Switch to Weight Paint mode and paint: red is 1, blue is 0.
Use it in FollicleFX
- On a setting or mask that supports vertex groups, click its source chip and choose Attribute.
- Open the picker. Your vertex groups are listed as soon as they exist on the scalp; there is no need to evaluate the groom first. Pick the group.
- Or use it in an expression:
vgroup("crown"), for examplelerp(0.2, 1.0, vgroup("crown")).
New weight strokes reach the groom on its next evaluation, and renaming the group in Blender keeps the binding.
Where vertex groups work
- Clump, Coil, Cut, Frizz and Loc: every setting with ƒx, and their masks
- Primitive tab: Density Multiplier, Length, Width Scale and Region
- Guides tab: Density, Length and Noise
- Guide Curl: Curl, Ellipticity, Wave, Cycles, Twist, Switchbacks, Amount and Variation
- The masks of Braid, Cornrow, Guide Curl, Guide Flow, Guide Mirror, Guide Sculpt, Simulate and Surface Offset
They do not work in Surface Offset's Offset and Strength, or in Simulate's Pin and Stiffness expressions. The full table is on the Modifiers Overview page.
To mark guides rather than surface areas, use a selection set instead: see Selection Sets on the Guides Tab page.
Troubleshooting
Mask Not Applying
- Check the Mask's source chip is on Texture, Attribute or Expression, not Value
- Verify your mesh has UV coordinates
- Try reloading the texture
- Regenerate hair after loading mask
Mask Looks Wrong
- Verify texture orientation matches UV layout
- Make sure texture is grayscale (not color)
Mask Too Harsh
- Use soft brush with gradients
- Add gray values instead of pure black/white
- Blur texture in an image editor
Mask Too Subtle
- Increase contrast
- Use more pure white/black, less gray
- Increase the modifier's base strength