HairDeck: single image to rigged game hair cards, 33x faster than CHARM at 44% lower Chamfer error

HairDeck: Animation-Ready Stylized Hair Cards from a Single Image

Yuze He, Yixiang Wei, Wang Zhao, Chuhao Chen, Yanning Zhou, Yong-Jin Liu

cs.CV, cs.GR

2026-10-30

HairDeck makes each hair card one token and denoises the set, plus its spring-bone chains, in one pass: 44% lower Chamfer error than CHARM and 33x faster.

What problem this solves

Stylized characters in games and avatars wear hair built from hair cards: a few dozen to a hundred-plus ribbons, each placed by an artist, whose geometry is the visible hair. Spring-bone chains, short bone chains hung from the head and simulated every frame, make the hair sway; Unity's Dynamic Bone, VRChat's PhysBones and UE's Kawaii Physics all ship this. Every card and every chain is placed by hand.

No existing generator produces this asset. Strand-based hair methods, including recent ones that accept anime images, output strands, the representation of realistic hair. Image-to-3D generators output a single fused mesh with nothing to rig. CHARM, the only stylized-hair-card generator, decodes a hairstyle autoregressively as a sequence of hundreds to thousands of discretized control points: slow, and burdened by an order the data never had.

Method

The organizing observation: a card hairstyle is an unordered set of artist-defined primitives, so generate it as a set. One card, one token; everything denoised together.

The ablation pins down each choice. With the same tokens generated autoregressively, card by card, CD rises from 0.0066 to 0.0078 and time from 1.01 s to 6.91 s, and the AR variant stops early at 60.8 cards on average against 68.9 for the set model and 67.4 ground truth. One token per card already delivers most of the accuracy; the set formulation adds the rest of it and all of the speed.

Results

Point clouds, CHARM's 100 test hairstyles, its protocol:

MethodCD↓IoU↑Orientation↓Time↓
CHARM0.01170.75340.0°33.7 s
Nearest-training-hairstyle retrieval0.01190.73224.8°–
Same tokens, autoregressive0.00780.82316.6°6.91 s
HairDeck0.00660.86716.8°1.01 s

CD down 44%, orientation error cut by more than half, 33× faster. Retrieval reaches 0.0119, so CHARM's accuracy amounts to recalling the closest training hairstyle. A 54.6M-parameter model, smaller than CHARM's 61.2M, still reaches 0.0072.

Single images, 76 rendered test characters and 40 in-the-wild illustrations:

MethodAligned CD↓Failure (test)Failure (wild)Time↓
CHARM0.018634.2%50.0%67.7 s
TRELLIS.20.013913.2%77.5%83.0 s
Hunyuan3D-2.10.014830.3%75.0%60.8 s
DiffLocks + card conversion0.017417.1%17.5%15.6 s
HairDeck0.00893.5%10.0%1.33 s

Two ablations carry the design: without the root normal, orientation error rises from 16.8° to 26.4°; without the head frame, pre-alignment CD rises from 0.0136 to 0.0189. Spring bones, on the 58 test hairstyles that have them: on artist cards, the chain DiT recovers the artists' chains at 0.625 recall and 0.585 precision, against 0.289 / 0.285 for retrieval, and hair motion correlates 0.702 with the artists' rigs against 0.538 for a procedural rig. On generated cards, recall drops to 0.542 from point clouds and 0.390 from single images.

Why it matters

For anyone generating game and avatar assets, this is the first pipeline that takes a single image and returns a card hairstyle with spring bones attached, simulated under the VRM spec and exportable to engines, at 1.33 s per image, fast enough for interactive use. The work comes from Tsinghua, CMU and CUHK, with code and a project page released. The broader lesson transfers: assets assembled from artist-defined primitives, garment panels or sketch strokes among them, suit the one-primitive-one-token set formulation. Dropping the sequence assumption buys accuracy and speed in equal measure, and the margins are large.

Limitations

Terms

Source

Related papers

All paper explainers