ToonHair

The lat­est addi­tion to my Toonkit shader library deals squarely with ren­der­ing anime-​​style hair.
Ren­der­ing anime or mange style hair in 3D is decep­tively sim­ple — one might think that any old toon shader would do the trick…

ToonHairToonHairToonHairToonHair

But unfor­tu­nately it is in fact incred­i­bly dif­fi­cult to ren­der believ­able anime hair using con­ven­tional shaders. This is mainly due to the unortho­dox type of spec­u­lar high­light used, which usu­ally stretches around the entire head, often runs in wild zig-​​zag pat­terns or tapers towards the end. This non-​​photorealistic effect has no equiv­a­lent in con­ven­tional shaders.

How­ever, the Toon­Hair shader gives the artist full con­trol over sim­u­lat­ing these uncon­ven­tional high­lights by offer­ing almost half a dozen dif­fer­ent ramps with visual graphs and direct feed­back to con­trol the shad­ing effect in detail. Para­me­ters include ramp color, pro­file, direc­tion, taper­ing, off­set and size.

Usage

This shader is specif­i­cally designed to solve the com­mon prob­lem of ren­der­ing believ­able anime hair with 3D mod­els. It is quite sim­ple to setup but at the same time offers all the con­trol one could want.

In com­bi­na­tion with the Toon­Hold­out shader it is also pos­si­ble to sim­u­late the com­mon effect of ren­der­ing eyes and eye-​​brows above the hair — regard­less of phys­i­cal plausibility.

ToonHoldout

The Toon­Hold­out shader is a spe­cial­ized util­ity node that can be used to make cer­tain objects appear in front of oth­ers even though they would in real­ity be obscured. Specif­i­cally, this shader was devel­oped to ren­der a character’s eyes and eye­brows over her hair.

In manga and anime it is quite com­mon to have eyes and eye­brows ren­dered over the hair, even though this may seem implau­si­ble or phys­i­cally incor­rect.
This setup is extremely com­pli­cated to achieve with­out this shader but adds a lot to cre­ate the illu­sion of hand-​​painted art.

Usage

Using Toon­Hold­out couldn’t be eas­ier: Plug it into the ToonShader’s trans­parency slot and spec­ify the names of the objects you want to see through to and you are good to go!