[Add the YouTube video or a turntable of finished game hair here]
Hair is one of the hardest parts of a game character. Film hair can use hundreds of thousands of individual strands, but a game has to render hair in real time next to everything else on screen. The standard solution is hair cards: flat polygon strips carrying a texture of many hair strands, layered to build up the volume of a hairstyle.
This guide walks through the full hair cards workflow, from reference to a shaded result in the engine.
What are hair cards?
A hair card is a thin plane, usually a long rectangle, with a texture of a clump of hair mapped onto it. Transparency cuts out the shape of the strands, so from a distance hundreds of cards read as a full head of hair. Cards are cheap to render compared with individual strands, which is why they are still the default for most game characters. Strand-based systems (such as Unreal Engine's Groom) are used more and more for cinematics and high-end characters, but they cost far more to render.
1. Study the reference and find the clumps
Good hair starts with observation, not tools. Collect reference of the hairstyle from several angles and look for how the hair groups into clumps: big shapes that define the silhouette, medium clumps that give it structure, and small strands and flyaways that make it feel real. Plan your cards around those groups.

2. Block out the silhouette
Before making any cards, sculpt or model a rough block-out of the hairstyle, for example in ZBrush. This gives you the overall volume, the hairline and the flow direction, and it becomes a guide surface for placing cards later.
3. Generate hair strands for your textures

The texture on each card comes from real 3D strands. Common tools for creating them are:
- XGen in Maya, to groom splines and generate strands.
- FiberShop, a dedicated tool for building hair card textures.
- Blender, using its hair curves system.
Create a set of clumps in different widths and densities: wide, dense clumps for the base layer, thinner clumps for the middle, and a few sparse strands for flyaways.
4. Bake a hair card texture set
Lay the clumps out side by side on a flat plane and bake them into a texture atlas. A typical hair card texture set includes:
- Alpha (opacity): cuts out the strands.
- Root / tip gradient: darker at the root and lighter toward the tips.
- Depth: which strands are in front, used for shading variation.
- ID / random: random values per strand to vary color.
- Normal, flow and ambient occlusion maps for lighting and specular direction.
One well-organized atlas can serve many hairstyles, which is why artists reuse and share hair card texture sets.

5. Place the cards in layers
Build the hair from the inside out:
- Base layer: a scalp texture and wide, dense cards close to the head, so no skin shows through.
- Middle layers: medium cards that follow the block-out and define the clumps and silhouette.
- Top layer and flyaways: thin cards and single strands that break up the edges.
Tools such as GS CurveTools (Maya) or Hair Tool (Blender) let you place cards along curves and adjust their width and twist quickly. Keep checking the silhouette from every angle.
6. Shade and test in the engine
Import the hair into your engine or viewer, such as Unreal Engine or Marmoset Toolbag, and set up the hair material. Real-time hair usually uses a masked (alpha-tested or dithered) opacity instead of full transparency, to avoid sorting problems. Tune the root-to-tip color, specular highlights and the random variation from your ID map, then test under several lighting setups.

Common mistakes
- Starting with cards before the silhouette is right.
- Using the same clump texture everywhere, which creates visible repetition.
- Leaving gaps in the base layer, so the scalp shows through.
- Cards that are too wide or too flat, so the hair looks like paper strips from the side.
- Ignoring the polygon and texture budget of the target platform.
FAQ
What is a hair card texture set?
It is a texture atlas of baked hair clumps, usually with alpha, root/tip, depth, ID, normal and flow maps, that you map onto hair cards.
Can I make hair cards in Blender?
Yes. You can generate strands with Blender's hair curves, bake them to textures, and place cards with add-ons such as Hair Tool.
Are hair cards still used now that engines support strand hair?
Yes. Strand hair is more expensive to render, so most in-game characters still use cards, while strands are used for cinematics and high-end close-ups.
Learn it step by step
In Hair Cards for Videogames, you build game-ready hair with ZBrush, XGen, FiberShop, and Maya: analyze references, sculpt strong silhouettes, generate splines, convert them into optimized cards, and render the result using two different methods.
Want to take a character all the way into Unreal Engine? See Cinematic Characters in Unreal Engine.