Hair card budget tables: texel density and triangle counts
Hair cards are thin textured strips that stand in for strands on game and stylized characters. Two numbers decide how a card hairstyle looks and what it costs: how many texture pixels land on each card, and how many triangles the whole style uses. These tables give both, so you can pick an atlas size and a card count before you start placing cards.
Assumptions: the hair texture is an atlas split into equal columns, each card uses one
column-wide cell across its width, and a card is a single strip of quads: segments quads along its
length, 2 vertices per row, 2 triangles per quad. The numbers are plain arithmetic from those assumptions, not
measurements of any engine.
Table 1: atlas cell width and texel density
Cell width in pixels is the atlas size divided by the number of columns. Texel density is that cell width spread across the card's width. Rows do not change these figures; they only set how many cells you get.
| Atlas size | 4 columns | 8 columns | 16 columns |
|---|---|---|---|
| 1024 px | 256 px, 64 px/cm | 128 px, 32 px/cm | 64 px, 16 px/cm |
| 2048 px | 512 px, 128 px/cm | 256 px, 64 px/cm | 128 px, 32 px/cm |
| 4096 px | 1024 px, 256 px/cm | 512 px, 128 px/cm | 256 px, 64 px/cm |
For another card width, divide the cell width by the width in cm: a 256 px cell on a 2 cm card is 128 px/cm, on an 8 cm card 32 px/cm. Narrow cards on a wide cell look sharp but you get fewer distinct strand textures per atlas.
Table 2: vertices and triangles for a whole style
Each card has 2 × (segments + 1) vertices and 2 × segments triangles.
More segments let a card bend smoothly; more cards fill gaps.
| Segments per card | 100 cards | 200 cards | 400 cards |
|---|---|---|---|
| 4 | 1,000 / 800 | 2,000 / 1,600 | 4,000 / 3,200 |
| 8 | 1,800 / 1,600 | 3,600 / 3,200 | 7,200 / 6,400 |
| 16 | 3,400 / 3,200 | 6,800 / 6,400 | 13,600 / 12,800 |
Example: 200 cards at 8 segments is 3,600 vertices and 3,200 triangles before any extra layers or a scalp mesh.
Braids as tubes
A 3-strand braid built from round tubes costs far more than a card. Each strand with sides around and
segments along has (segments + 1) × (sides + 1) vertices (one seam column for the UVs)
and 2 × segments × sides triangles. A braid of 3 strands at 60 segments and 8 sides is
1,647 vertices and 2,880 triangles, about the cost of 180 cards at 8 segments.
Making the cards from curves
We are preparing Hair Card Maker, a small Blender 4.2+ add-on of our own: draw curves, press one button, and each spline becomes a card with the width, taper, twist and atlas cell you set (the layout these tables assume), or a 3-strand braid. It is GPL-licensed with its source included. It is not on sale yet; when it is, it will cost 9 USD through a Gumroad checkout and this page will link to it.
What has been checked so far: a test script runs the add-on in Blender 4.2.0 in background mode and checks vertex and face counts, root and tip widths, that UVs stay inside their atlas cell, braid strand clearance and face directions. Rendering, textures and game-engine import were not tested.