Skip to content

Atlas and Baking

The Atlas & Bake Zone panel turns your strands into texture maps. Work through its sections from top to bottom: frame the zone, pick the render settings, choose the maps, and bake.

Option Layout
Flat (XY) (default) Strands grow along +Y and the sheet faces up (+Z). The bake camera looks down from above.
Upright (XZ) Strands grow along +Z and the sheet faces front (+Y). The bake camera looks from the front.

Choose Upright if you prefer working in front view. Changing the plane rebuilds every bstrand.

The bake zone is the rectangle that becomes your atlas. It is outlined in yellow in the viewport.

The Bake Zone section, and the viewport through the bake camera with the yellow zone around a row of strands.
Control What it does
Center X / Y Where the zone’s centre is.
Width / Height The zone’s size in metres.
Aspect The texture’s shape (see below).
Resolution Pixels on the zone’s long side: 256, 512, 1024, 2048, 4096 or 8K.
Output The size the maps will be written at, for example 4096 x 2048 px.
Fit Zone to bstrands Wraps the zone around every visible bstrand, with a 2% margin (untick Add 2% Margin in the Adjust Last Operation panel for an exact fit).
Eye beside Fit Zone Shows or hides the yellow outline.
Edit Bake Zone Drag the zone directly in the viewport (see the hotkeys below).
Update Bake Zone Creates or updates the bake camera, BStrands_AtlasCam, and looks through it.

When you change Resolution, Aspect, Width or Height, the scene’s own Resolution X / Y (Properties ▸ Output) update to match.

Aspect Texture size What Fit Zone does
Power of 2 (default) Standard game texture sizes such as 4096 × 4096, 4096 × 2048 or 4096 × 1024. Snaps the zone to the nearest of 1:1, 2:1, 4:1…, growing it slightly. A row of strands at 1.98:1 becomes exactly 2:1.
Free Follows the zone exactly: a 2.2 × 1.4 m zone at 4096 gives 4096 × 2607. Hugs the strands.
Key Action
LMB drag Drag a corner or edge to resize; drag inside to move
Shift + drag Resize from a corner while keeping the aspect ratio
Space Make the zone square (1:1)
F Fit to the visible bstrands
Enter Confirm
Esc or RMB Cancel and put the zone back
Control What it does
Engine The engine the maps are baked with: EEVEE or Cycles.
Device Cycles only: bake with GPU + CPU, GPU or CPU.
Samples Anti-aliasing samples per map. Below 4 there is no edge antialiasing; 16–32 is the useful range.
Preview Bake Look Shows a map’s flat, unlit look on the strands in the viewport. Choose which map in the menu beside it.

The bake always runs in a separate, unlit scene, so your lights, world and render settings are never touched.

Blender’s own curve render settings, for the engine you bake with. The bake uses them too.

Engine Shape options Recommendation
EEVEE Strand (hairlines), Strip (flat ribbons), Cylinder (round tubes), plus Additional Subdivision Cylinder
Cycles Rounded Ribbons, 3D Curves, plus Subdivisions 3D Curves

Flat ribbons swap in hard steps where strands overlap, and those steps bake into the maps. Round tubes meet cleanly and bake no slower. Activate Curve-BStrands sets the recommended shape for you.

The Texture Bake section with the map list, options and the Bake button.

Each map row has a checkbox (bake this map), an alpha toggle and a Show Map button that opens the baked file in an Image Editor. The All / None buttons at the top switch every map, or every alpha toggle, at once.

Map What it holds Background without alpha
Albedo (Color) The root-to-tip gradient multiplied by painted colour Black
Alpha (Opacity) Strand coverage: white hair on black Black
Specular Specular level, masked by the strands Black
Depth (Height) Position through the sheet: 0 at the back, 1 at the front Black
Normal Surface normal Neutral normal (flat blue)
Root-Tip 0 at the root, 1 at the tip Black
Direction (Flow) Which way each strand runs Neutral flow
ID A random flat colour per strand Black
Ambient Ambient occlusion, ray traced by the chosen engine White
Translucency Translucency level, masked by the strands Black

Maps bake opaque by default: strands over a solid background, which is what most pipelines expect. Turn on a map’s alpha toggle to write it with a transparent background and an alpha channel instead.

Control What it does
Normal Format OpenGL (+Y up) for Blender, Unity, Godot and Substance’s OpenGL export. DirectX (−Y up) for Unreal Engine, 3ds Max and Substance’s DirectX export. If hair looks lit from the wrong side in your engine, switch this.
Antialiasing Smooths strand edges; the number beside it is the filter width in pixels. Turn it off for hard, aliased edges, for example on an ID map.
16-bit Data Maps Writes Depth, Normal, Direction and the other data maps at 16 bits, so they don’t band. Albedo stays 8-bit. Needs PNG, TIFF or OpenEXR.
Alpha Threshold Above 0, drops faint coverage so thin strands don’t bake as grey haze. Below 0, makes faint strands read more solid without growing the silhouette.
Fix Dashed Gaps Fills small gaps between lit pixels, so sub-pixel strands don’t bake as dotted lines. 1–2 is plenty. It never grows the silhouette.
Bleed Pads the baked colour outward by this many pixels, so texture filtering never samples empty space at strand edges. The Alpha map is never padded.
Control What it does
Level The base value of the map.
Shape Shades each strand as a tube. Specular gets brightest along the centre of each strand; Translucency brightest at its edges. At 0 the map is flat.
Root-Tip Fades the map along the strand. Positive dulls (Specular) or darkens (Translucency) the roots; negative the tips.
Variation Gives each strand its own value.

These settings also shade the strands in the viewport, so you can judge them before baking.

Control What it does
Distance How far occlusion reaches. Fit AO Distance sets it from the bstrands: half their thickness, where the effect stops growing.
Strength Deepens the occlusion. Hair occlusion is naturally subtle; raise this for more contrast.
Rays Cycles only: rays per sample. Leave it low and raise Samples instead, which improves quality more for the same time.

The line above the button shows the strand width, in atlas pixels, of the thinnest bstrand. Under about 1.5 px strands can’t fill a pixel and bake as dotted lines: raise Thickness or Resolution.

  1. Save your .blend file, so the default output folder next to it exists.
  2. Click Bake N Map(s). A progress bar in the viewport shows each map; Esc cancels.
  3. Click Show Map beside a map to inspect it.

Maps are written to the output folder set in Export & Save, named <Name Prefix>_<map>.<format>, for example BStrands_normal.png.

If you bake again while cards or the preview card are showing the atlas, click Reload Baked Maps so Blender picks up the new files.