Cards Tab

The Cards tab generates polygon hair cards from strand-based hair for use in game engines. It includes automatic clustering, UV mapping, LOD generation, and an atlas canvas that saves every texture map at full resolution.

What It Does

Hair cards replace strands with textured quads: a few hundred polygons instead of hundreds of thousands of curves, for a game engine or a real-time rig.

Changed in 1.5.1. The tab is now two halves that can be used separately:

  • Card generation turns a groom into card geometry, clustered from the strands.
  • The atlas is the texture those cards use. It no longer has to be baked from your groom — a block can author its own hair, so you can build a hair-card texture sheet with no groom in the scene at all.

Card Generation

Shape

ControlWhat it does
Target Card CountHow many cards to aim for (10–1000)
Card ShapeFlat, Curved or Shell
CurvatureHow much a Curved card bows
Length SegmentsSubdivisions along the card (2–16)
Width SegmentsSubdivisions across it (1–4)

Clustering

Cards are built by grouping strands. Auto Cluster picks the count from Cluster Radius; Orientation Weight decides how much a strand's direction counts against its position (0 = position only, 1 = direction dominates). Cluster Seed re-rolls the grouping — the same groom, grouped differently.

Card width — read this if Card Width seems to do nothing

Adaptive Width is on by default, and it derives each card's width from the spread of its own cluster. While it is on, Card Width acts only as a floor (half of it), which is why moving it alone appears to do very little. Turn Adaptive Width off to make Card Width the width.

ControlWhat it does
Width MultiplierHow much wider than its cluster a card is — the dominant term in an adaptive width
Min Card WidthFloor for an adaptive width
Max Card WidthCeiling — the control that actually caps how wide a card can get
Coverage OverlapHow much neighbours overlap: 1.0 = cards just touch and gaps may show; 1.4–1.8 covers the scalp. Raise it if you see gaps.

Layers and wisp types

Enable Layers classifies each card as Base (scalp cover), Volume (body) or Flyaway (silhouette), split by the Base Threshold and Flyaway Threshold strand lengths.

Reusable Wisp Types groups similar cards so they share a type — and so share an atlas block. Five to eight types is typical. Wisp Similarity sets how alike two clusters must be to share one: lower gives more types, more blocks and a busier atlas.

Flyaways, merging and LODs

  • Include Flyaways generates separate cards for short stray strands, Flyaway Cards how many.
  • Merge Nearby Cards collapses cards sitting almost on top of each other; Merge Threshold defines "almost".
  • Generate LODs builds reduced variants. LOD Levels is how many, and LOD Reduction the fraction of cards each level keeps from the one above it.

Live

Live re-generates the cards as you change the controls, reusing the groom captured by the last Generate. The atlas partition survives, so dividers you have dragged are kept. Auto Create in Blender builds the mesh in the scene after each generation.

The Atlas

New in 1.5.1. The atlas is a canvas divided into blocks, one per card type. Click a block to select it and edit that block alone; drag the dividers between blocks to re-proportion them.

Several named atlases

  • The atlas dropdown chooses which one this panel edits. Each keeps its own partition, its own per-block sources and its own name.
  • New Atlas builds an empty one with the number of blocks you set, laid out as columns in one row band. It needs no groom.
  • The name is also the export name: maps are written as <name>_diffuse.png, <name>_alpha.png and so on.
  • Delete removes an atlas. The last one cannot be deleted.

Resolution and quality

ControlWhat it does
Atlas Size512, 1024, 2048 or 4096
Preview 1/NDivide the resolution while working. The preview is the same image at a smaller scale, not a different one — Save always writes full size.
Mip LevelsHow many mip levels the atlas must survive. The gutter between blocks is 2^(N−1) texels, so 5 gives the 16 px a 2K atlas needs.
Strand Width (px)Fiber thickness in atlas pixels, before Width Min/Max varies it per fiber. Too low and the per-fiber width has no room to vary.

Viewing the atlas

  • The view dropdown picks which of the ten maps the canvas shows. A map that was not baked falls back to one that was.
  • Live recomposes while you drag. Only the blocks that actually moved are recomputed, so it stays cheap on a large atlas.
  • Detach Atlas pops the canvas into its own resizable window, carrying the selection and the partition with it.
  • Mirror to Image Editor writes every recompose into a Blender image datablock, so an Image Editor shows the atlas live with zoom, pan and pixel readout. Show in Image Editor turns the mirror on and points an open editor at it.

Saving

Save Atlas Maps writes the atlas exactly as composed on the canvas: every ticked map, at full resolution regardless of the preview divisor.

Where a block's hair comes from

New in 1.5.1. Select a block and set its Source. This is the feature that lets you build a card texture without a groom.

SourceWhat it draws
CapturedThis block's fibers come from the groom, as before
ProceduralA wisp of hair authored from the controls below — no groom needed
BraidThe same fibers arranged as a plait
LocsThe same fibers arranged as ropes

Captured blocks

  • Capture Density draws more fibers than the groom has strands, interpolating between laterally adjacent ones. A sparse groom used to bake a sparse card; 1 is the groom as it is.
  • Max Strands caps the real strands sampled per card. 0 draws all of them; a low number is how a 100k groom stays interactive while you work.
  • Depth Range is the depth a captured block's height map is normalised over. 0 derives it from the cluster, so a flat cluster reads as flat mid-grey instead of amplified noise.

Authored blocks: the shape of the hair

Fit to Block scales the finished fibers down until they fit inside the block; with it off, anything past the edge is clipped by the raster.

ControlWhat it does
FibersHow many hairs are drawn in the block
CentreWhere the wisp sits across the block; 0.5 is the middle
Root / Tip SpreadHow wide the fibers start and finish
LengthHow far up the block the longest fibers reach — the control that shortens the hair
Length MinThe shortest fibers. Below Length gives a ragged, natural end; equal to it gives a cut edge.
Width Min / MaxThinnest and thickest fiber, as a multiple of Strand Width. Fibers of one identical width read as a comb.
Tip TaperHow much each fiber narrows toward its tip
Depth SpreadHow much the fibers separate in depth, for the height map
SegmentsMinimum vertices per fiber. A floor, not the count — Curl Turns raises it on its own when a curl needs more.
SeedRe-roll this block's fibers

Waves and curls

Wave is lateral wander only. Cranking it gives a flat zig-zag, not a curl. Curl is the control that makes curls — it is a helix radius in block widths, and 0 is straight hair.

ControlWhat it does
Wave / Wave FrequencySide-to-side wander and how often it repeats
Wave PhaseHow far fibers are out of step. 0 puts every fiber in phase, which reads as a curtain rather than hair.
DriftSystematic lean toward one side, growing to the tip. Half the fibers lean each way, so this is what fans a block open.
CurlHelix radius in block widths
Curl TurnsTurns along the fiber: 1–2 is a wave, 3–6 a curl, 8+ a coil. Past that the raster runs out of texels.
Curl JitterPer-fiber variation in curl radius. 0 makes every curl identical, which reads as a machine-made wig.
Curl RootHow much of the fiber is spent opening up from the root. Hair does not curl straight out of the scalp.
Curl CoherenceHow much fibers in a wisp curl together: 1 is a ringlet spiralling as one object, 0 a tangle. Needs Clumps above 0.

Clumps and strays

  • Clumps is how many wisps the fibers gather into. 0 is an even curtain; 4–10 reads as hair.
  • Clump Tightness is measured as a fraction of the gap between wisps: 0.5 leaves a bundle half the gap wide with clear air either side, 1.0 pulls the tips onto a line.
  • Clump Jitter gives each fiber slack, so a wisp gathers into a bundle rather than onto one line — which would rasterise as a single thick strand.
  • Strays are long thin fibers past the main mass, and they are never pulled into a clump. They are cheap, and the thing that most separates an authored texture from a bake.
  • Stray Length over 1.0 is clipped by the raster, which is what makes the silhouette read as broken up. Stray Width thin is the point, and Stray Wander is their sideways drift.

Braid and Locs

ControlWhat it does
Braid StrandsHow many strands in the plait; 3 is the classic
Braid WidthHow far a strand swings from the centre — how wide the plait is
Braid TwistWeave cycles along the block; Segments follows this on its own
Braid ThicknessWidth of one strand's own bundle
Loc CountHow many ropes across the block
Loc ThicknessRope diameter, in block widths
Loc TwistTurns along the block
Loc FrizzFraction of fibers escaping the rope. Not decoration: a loc with a clean edge reads as a rubber tube.

Root fade

Root Fade fades the texture in over the first fraction of the card, so the root does not end in a hard opaque line. 0.08–0.15 is usually enough; 0 is the old behaviour exactly.

Colour: pigment or ramp

New in 1.5.1. With Use Pigment Model off, cards keep the shipped constant brown. On, the fibers are coloured the way real hair is.

ControlWhat it does
Melanin0 is white, 1 is black — the same curve as Blender's Principled Hair, so a value means the same thing in both places
Redness0 is eumelanin (brown/black), 1 is pheomelanin (red/blonde)
GreynessFraction of fibers with no pigment: 0.2 is salt-and-pepper, 0.6 mostly grey, 1.0 white. Which strands are white does not change when you re-bake.
Root / Tip ValuePigment density at each end. A tip value below the root lightens the ends.
Root HoldHow far up the fiber the root colour holds before fading to the tip. 0 fades from the scalp; 0.35 is a typical grown-out ombre.
Value / Melanin / Hue JitterPer-fiber variation in brightness, colour and hue. Hashed from the fiber id, so they are stable across a re-bake and across resolutions.

Use Colour Ramp Instead of Melanin colours the fibers from a ramp, root to tip. Click to add a stop, drag to move it, double-click to pick its colour, Delete to remove it — left is the root, right is the tip. Greyness still applies; Melanin, Redness and the Root/Tip values do not.

Baking Maps

Tick the maps you want, then bake. UV Padding sets the gap between UV islands in pixels, and Output Path where the files are written.

MapWhat it holds
Diffuse / ColourHair colour
Alpha / OpacityStrand opacity mask
NormalNormal map for depth
Flow / DirectionHair direction, for anisotropic highlights
Ambient OcclusionContact shadow (slower to bake)
IDA random ID per strand, for variation
HeightPer-texel depth within the block; drives parallax, and is what Depth Range normalises
Root/TipPosition along the fiber, 0 at the root and 1 at the tip — the same t the pigment ramp uses
SpecularPer-fiber specular weight
TranslucencyHow much light passes through the fiber, for backlit hair

Export

  • Format — OBJ, FBX or glTF.
  • Include Textures copies the baked maps to the export folder.
  • Create Material builds a material wired to them.
  • Export LODs Separately writes one file per level.
  • Create in Blender builds the card mesh in your scene instead of exporting it.

Workflow

From a groom

  1. Build the groom, then open the Cards tab.
  2. Set the card count and clustering, and turn Live on to see changes as you work.
  3. Click Generate Hair Cards.
  4. Tick the maps you need and bake, or compose the atlas by hand.
  5. Save Atlas Maps, then Create in Blender or export.

An authored sheet with no groom

  1. Click New Atlas and choose how many blocks you want.
  2. Click a block, set its Source to Procedural, Braid or Locs, and shape it with the fiber controls. Drag the dividers to give a block more room.
  3. Turn the pigment model on, or use a colour ramp.
  4. Repeat per block — each keeps its own source and settings.
  5. Save Atlas Maps and use the sheet on your own cards.

A useful habit: work at Preview 1/2 with Live on, then save at full resolution when the sheet looks right.

Platform Guidelines

PlatformCardsAtlasShapeLODs
Mobile30–50512–1024Flat1
Console80–1201024–2048Flat/Curved2–3
PC150–2502048–4096Curved/Shell3–4