Stage 3 is the hinge of the pipeline. It turns the procedural strands you built into flat texture maps, and — in the same pass — into the card geometry that carries them.
Run a bake
The baking engine renders your visible hair layers from directly above, unlit, into flat anti-aliased map channels. Use Quick Bake for defaults, or open the Bake panel to choose channels, resolution, margins and dilation.
-
Check what is visible
Only visible layers are baked. Confirm the Hair panel hierarchy shows exactly the layers you want captured.
-
Set resolution and margin
Pick the output resolution your plan allows and set the canvas margin — 0.5 cm by default.
-
Enable UV Card generation
Check Generate UV Cards Document if you intend to edit card topology, export mesh geometry, or groom cards on a head. It is far cheaper to tick it now than to re-bake later.
-
Bake
Click Quick Bake or press Ctrl+B to render all 13 channels and build the UV Cards document.
Generate UV Cards
With Generate UV Cards Document enabled, the engine builds polygon card strips that match your visible hair bundles. That topology is what the UV Cards workspace edits, what mesh export writes, and what Stage 5 grooms.
Scroll horizontally to view all columns.
| Parameter | Range / Default | Technical Effect |
|---|---|---|
| Length Segments | 2 to 32 (Default: 16) | Longitudinal polygon division count per card strip along hair length. |
| Width Segments | 1 to 12 (Default: 1) | Transverse polygon division count across card width. |
| Padding Coverage | 0.0 to 1.0 (Default: 0.1) | Expands card UV boundaries relative to baked strand atlas rectangles. |
| UV Orientation | 4 Modes | Controls card V-direction: RootToTip (V=0 root, V=1 tip), TipToRoot, LeftToRight, RightToLeft. |
| UV Channels | Dual UV Sets | UV0 maps card normalized geometry; UV1 samples exact sub-rectangle atlas bounds. |
13 bake channels
HairStorm generates up to 13 offscreen orthographic bake maps aimed at game-engine hair shaders.
Scroll horizontally to view all columns.
| Bake Map Channel | Format / Encoding | Shader & Pipeline Utility |
|---|---|---|
| RGB Color | Base color gradient along strand length from root to tip. | |
| Grayscale | Specular roughness response across strand surfaces. | |
| RGB Encoded | Bake-canvas encoded surface normals: (x, -z, y) mapped to [0, 1]. | |
| RGB Vector | Tangent flow direction vector for anisotropic hair shading. | |
| Grayscale / Depth | Normalized height/depth gradient from canvas base. | |
| RGB Color ID | Root group color mask for multi-material card blending. | |
| Grayscale Mask | Strand opacity mask (never dilated; optional Gaussian smoothing). | |
| Grayscale Ramp | Vertical strand UV.y gradient (0.0 at root, 1.0 at tip). | |
| RGB Vector | World-space tangent vectors for specular highlights. | |
| RGB Vector | World-space bitangent vectors for hair frame transport. | |
| Grayscale | Strand width profile & thickness map for transmission shading. | |
| Grayscale | Dynamic realtime GPU ambient occlusion derived from height & normal passes. | |
| Grayscale ID | Stable per-strand grayscale ID for per-hair color variation. |
Bake settings
Post-process readback options that stop mipmap edge bleed and soften alpha masks.
Scroll horizontally to view all columns.
| Setting | Range / Default | Description & Workflow Effect |
|---|---|---|
| Bake Resolution | 2K / 4K / 8K | Output texture size (2048px Trial, 4096px Personal/Pro, 8192px Studio). |
| Texture Dilation | 0 to 64 px (Default: 32 px) | Extends edge texels outwards into empty space on non-Alpha maps to prevent background color bleed during engine texture mipmapping. Alpha map is never dilated. |
| Canvas Margin | 0.0 to 5.0 cm (Default: 0.5 cm) | Adds physical padding around auto-fit canvas bounds before orthographic rendering. |
| Smooth Alpha | On / Off (Default: Off) | Runs a 1-pass 3×3 Gaussian blur on the Alpha mask after pixel readback to soften MSAA staircase edges for production bakes. |
Confirm the output
Inspect the generated channels in the Texture Viewer, then switch to the UV Cards workspace and check the atlas packing and strip layout. Both need to look right before you groom or export — a bad bake propagates into every asset after it.