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.
Hair Tool workflow
- generating curve ribbons from mesh surfaces
- convenient way of switching back and forth between curve ribbons and mesh ribbons hair state, while preserving mesh uv’s
- ability to adjust ribbons radius profile over strand length to taper the ribbons shape
- ability to convert Grease Pencil strokes to Particle Hair
- ability to convert Curves to Particle Hair
- ability to generate Curves/Ribbons from Particle Hair
- Randomizing ribbons UV (you can draw multiple uv boxes, that will be randomly picked for each ribbon strand).
- Powerful Curve Resampling – increase, decrease curve/ribbon points amount, while preserving it’s tilt and radius.
- Generating vertex color and weights gradients for ribbons.
- And More!
Video tutorial mostly about generating curves from mesh surface, with some tips and tricks, problem solving and stuff: https://youtu.be/WE0aBe8SNls
Newer video showing new features: https://www.youtube.com/watch?v=FLHbzCXOijg
Video about hair shader: https://vimeo.com/229043427
Video about creating texture: https://vimeo.com/228873075
Basic workflow for generating curves from mesh surface:
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.
Curve Ribbon operations:
Curve Simplify- Allows to reduce point count. Good for reducing polycount on hairs .
Resample Curve. Allows to increase/decrease number of points each curve is made of. It keeps the original strand radius and tilt.
Smooth Curve – smooth strand points (eg. to reduce noise)
Taper Curve – change strands radius over length
Align Curve tilt – lets you align cure tilt to target object surface.
Randomize Curve Tilt – change curve tilt over its length
Select Tips/Roots – lets you select first/last points on curves. There is randomize option under F6 properties.
Mesh Ribbon operations:
Add Ribbon Vertex Color – create black and white color gradient from strand root to tip
Add Ribbon Weights – create vertex weight gradient from strand root to tip
UV hair operator (found under spacebar) – Left click and draw multiple rectangular shapes, in uv Editor, to define the uv bounds for hair strands. Press enter to confirm.
Convert operations – let you convert Particle Hair to (ribbon curves), curves to Particle hair, Grease Pencil to Curves etc.:
Ribbon to Curves/ Curves to Ribbon – allow for switching between ribbon curve and ribbon mesh state. Usually you will want to do hair modeling in curve state, and then do UV in ribbon mesh state.
Particle Hairs to Curve – generate curve ribbons from Particle hair. Align their tilt to head with ‘Align Tilt’ checkbox, and embed hair roots deeper into the scull using ‘Embed Roots’ parameter.
Particle Hair from Curves (this can be used to convert zbrush fibermesh to blender Particle Hair system). Select curves and target mesh (that will receive Particle Hair) and use ‘Particle Hair from Curves‘ to convert curves object to blenders Hair system.
‘Ribbons from particle hair with children‘ – gives more evenly distributed result compared to build-in child particles . Great for short Hair.
‘Particle Hair From Grease Pencil‘ strokes painted with grease pencil, can be converted to particle hair (with some options available under f6). Checkbox next to this button, describes if you want to use Scene GPencil data (when enabled), or Object GP data (when disabled).
- ‘Flip UV’ option in preferences – if enabled random strands will have uv’s flipped in X-axis.
Hair Tool examples:
Hair Tool examples
Hair Tool source meshes