Hair tool – Blender addon ($)

I developed Hair Tool addon for blender to simplify creation process of low/medium poly hair models
This addon will help you generate hair mesh ribbons with uv’s from bezier/nurbs curves. It is how most current games are doing hairs for characters.

Blender Hair Tool addon

Hair Tool workflow


  • generating curves from mesh surfaces
  • adding bevel profile to curves thus making them into curve ribbons
  • easy and convenient switching back and forth between curve ribbons and  mesh, while preserving mesh uv’s
  • ability to adjust ribbons radius profile over strand length to taper the ribbons shape

Tutorial about using this addon, with some tips and tricks, problem solving and stuff:
Video about hair shader:
Video about creating texture:

Basic workflow:

First step is to generate base shape of hair. For that use grid mesh, created only of quads. Mark one border of this mesh with sharp edges – those will become roots of hair splines:

Press ‘Curves from surface‘ button located in left Tool Shelf -> Tools, to generate curves from selected object. Generated curve settings can be modified using ‘F6‘ hotkey. You can adjust stuff like hair amount, length, add some noise etc. Or you can do some manual tweaking here going into curve ‘Edit mode’.

To add ribbons to generated curves, press ‘Generate Ribbons’ button. There are some settings to play with under ‘F6’ hotkey. Usually manual work here is needed to adjust curve tilt (select curve and press Ctrl+T – to change curve tilt).

To preview how the hair will look, convert them to mesh with ‘Curves to Ribbons’ button. You can now quickly uv this mesh by going into ‘UV Editor’ and searching for ‘Hair UV’ operator under spacebar. Left click and draw rectangular shape, in uv Editor, to define the uv bounds for hair strands. That is it, hair are ready to render.

If you don’t like the result you can go back to curve by pressing ‘Ribbons to curve’ button (warning – any changes to mesh topology will be lost!). This kind of workflow lets you tweak the hair in curve mode, convert it to mesh and preview If you don’t like it – go back to curve mode and tweak it again. UV’s defined previously will be restored.

Features added in Hair Tool 1.2:

Adjust generated curves tilt, so it is aligned to source mesh surface with new – ‘Align. Previously it was pain to adjust them manually. No more

Create curve ribbons from Particle Hairs.  Align their tilt to head with ‘Align Tilt’ checkbox, and embed hair roots deeper into the scull using ‘Embed Roots’ parameter.

Update 1.2.1:

  • normalized scale for generated ribbons (bigger ribbons for bigger objects,  smaller ribbons for small object). Apply scale first for mesh from which you generate ribbons.
  • normalized hair generations (similar look of generated strands for small and big objects). Apply scale first for source grid mesh.
  • improved ‘strands generation from Particle hair’ – operation will update previously generated ribbons if exist (before it would create new child ribbons each time )

Update 1.3:

  • added ‘Randomize Tilt’ operator
  • added ‘Smooth Tilt’ operator
  • added ‘Randomize Spacing’ option when generating curve hairs from surface
  • added ‘Uniform’ option (for hair spacing, and strand points) when generating curve hairs from surface
  • Bugfixing and UI tweaking.

That is it. There are some examples of hair made with above technique. You will need some manual work obviously to tweak the hair looks

Hair Tool addon examples

Hair Tool examples

Hair Tool source meshes

You can buy this addon from Gumroad


27 thoughts on “Hair tool – Blender addon ($)

    • I was going to make tutorial this weekend, but coding new update took longer that expected (I can do one thing only at time 😀 ). There are many new goodies with 1.2 release. But I still plan making tutorial. For now I can say hair texture was hand painted with PaintStorm Studio. Great app!

      • Hi! Just bought your addon, from the looks of it, it seems it may free me from the hell that is hair making!

        Do you know how to recreate the anisotropic effect in internal? Or in something like shader forge for unity?

        This seems like something much more useful for realtime game ready characters rather them cycles renders.

        Some people seem to bake normals from a smooth shape like a sphere to strangers hair, will this be needed with your addon?

      • There seems to be ‘Tangent shading’ checkbox in BI, so It should be possible to make similar shader there. About shaders for unity – well I don’t know it, but all moder game engines are supporting stuff like anisotropic materials through some tricks. I know in unreal there is demo scene with hair shader that you can modify to your needs. But it is bit complicated to understand the node setup. We have technical guy for that 🙂
        About baking normals from one mesh to another it is already posible in blender just use Data transfer modifier. – firs image has the setup for what you need. I takes 5 clicks to setup.

  1. Um I know I may sound a little stupid, but how do you mark sharps? what do you use to do that? Is it the same as marking seams? Is there a different place I have to go? you don’t say anywhere what a sharp is or how to make one.

  2. I love this so far!!!! this is amazing. I think the one thing I wish it did was add the noise values to the hair ribbons generated by particle strands.
    Oh and when I created a second hair “clump” with this, it tells me the first mesh cannot be a shared user group and to remove the user group. I think this is easily solved by me changing the name of the hair clump.

    Seriously though, thank you for this addon. I’m looking forward to more updates and I heavily support it through the community ❤

    • The thing about adding noise to blender particle hair is, that blender already has build in noise features in particle child strands. It is explained here – About second hair clump – it is a feature not an bug. It lets you preview particle hairs as ribbons, and if you don’t like it, just tweak hair particles, and generate them again – old ribbons will be automatically updated. And as you discovered, if you want new ribbons, just rename (or duplicate) old one.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s