Blender Facial Hair Toolkit


Update 2.0 bring Geometry Node to the hair assets. Requires Blender 3.5 or above. 1.6 assets are made in particle hair system.

both 2.0 and 1.6 can install independently and choose legacy particle hair system or newer curves based hair system.

Rather than making hairs from scratch, using pre-made assets would jump start the process. Facial Hair Toolkit offers hair assets to be shrink-wrapped onto your characters with various controls such as density, length, shape. At the same time, it streamline the process of hair cards creation and hair texture baking. 

here is a quick guide on how to export Geometry Node Hair to Unreal Engine 5

Various premade hair assets:
Hairstyle

Hair Element

Eyebrow

Beard

Draw Eyelash

Hair Presets, use existing ones or make your own

Hair Cards Creation

Hair Texture Baking



  • all eyelashes:

  •  all eyebrows:

  • all beard:

  • all haircuts:

  • additional haircuts:

  • hair elements:


additional haircuts:











Have a Question? Email me: learnasimakeit@outlook.com

digital product does NOT offer refund.


**************************** UPDATE **************************

update 2.0.6

compatibility for Blender 4.1



update 2.0.5:

improvement: reduced black hue in hair cards texture preview 

multiple baking grid options in hair cards texture baking 

depends on the chosen baking grid option, select the grid layout and set the corresponding UV 





update 2.0.4:

fixed an issue where it does not load hair textures with upper letters names.



update 2.0.3:

critical fix: since blender 3.6, there is a critical error that causes blender to crush with converted hair curves. A bug report has been submitted to blender devs. Although it is not caused by the addon, a work around has been implemented to avoid the crush.

simplify the hairs subpanel UI: select relevant hair curves or mesh base shows its subpanel, otherwise it is hidden. 


add: "convert for manual sculpt" operator in bake hair scene. please use this one instead of "Object - Convert - Curves", otherwise you may experience blender crush down the line.






update 2.0.2:

fixed: for users with non-English UI interface, when press bake hair textures, error message pops up, it is now fixed. 

how to update: if you have not added any your own custom elements, for example, your own haircut, eyebrow, beard or hair strand preset, you can use the edit-preference- install zip file route. if you have added custom elements, the install zip file method will delete your custom assets. instead, unzip the downloaded file and copy the unzipped folder to your addon path which is usually at "C:\Users\UserName\AppData\Roaming\Blender Foundation\Blender\3.5\scripts\addons", this way it will overwrite files of the same name and leave the rest intact.




update 2.0.1:

fixed: when user change addon tab name, hair style panel does not change

a short tutorial on how to export Blender geometry node hair to Unreal Engine 5.2



update 2.0:

rework the addon for new hair curves system. version 2.0 and  version 1.6 work independently 

new: geometry node based hair assets and controls

new: hair cards generation for new hair curves system

new: hair texture baking






update 1.6.2:

fix error when change haircut on a scalp without any particle systems. 



update 1.6.1:

fix an error when finalize hair cards in Blender 3.5


update 1.6:

added: Hair Cards Generation from particle hair system or curve or simply draw them.



update 1.5.2:

removed: simple hair toggle.

added: 7 new haircuts, simplify the process of add own hairs, see FAQ section for detailed how-to

added: new operator Draw Quick Eyelash


update 1.5.1:

added: 16 new haircuts, 4 hair elements

improved hair elements appending method.



update 1.5

instead of 15-20 seconds to import hair styles assets, now it is almost instant to import.

removed Prev and Next Button when choosing hair styles and eyebrows, instead, use drop down list of image previews. 

fixed issue when change tab name, not all panels have their names changed.



update 1.4

add custom tab name, bind to target surface.

due to blender 2.93 can not open files made in 3.0 and above.

future update will focus on 3.0 and above.




update 1.3:

added function to transfer particle hair to custom mesh.

30 new hair elements for quick hair kitbashing, and other improvements.



update 1.2:

re-work 5 eyelash and 17 eyebrow hair assets.

various convenient operators.

all hairs now use cycle principled hair BSDF shader.


version 1.1:

new addition of 24 haircut style 


version 1.0:

it includes 11 eyebrow style presets, male & female eyelash presets, 12 beard style presets.



Q&A:

the following guide apply to version 2.x, in case you have not seen the video walk through on product page, click here.  this guide is consist of several parts: install, bring in hair asset, modify hair asset, finalize hair asset, create hair cards and bake hair textures.

1. Install. 

after you download the addon zip file, open Blender, go to  Edit - Preference - Install the zip file.

the UI_Tab is where you will find the addon panel, you can freely rename it, for example, I have named several addons' tab to "Modeling", so that all of them show up in Modeling side panel, making the blender interface neatly organized. restart blender to take effect.

"Refresh Preview" will refresh image list when new hair asset is added, more on that later.

2. Bring in Hair Assets

by default, you can find addon panel "FHT Geo" on the right side of 3d viewport. click "Import Hair Assets", a window will pop up, where you can choose to import haircut, eyebrow, beard. if nothing is toggle on, none is imported.

one thing to notice is the scale. the default monkey head is 2.7 x 1.7 x 2 meters. whereas average human head is around 0.2 x 0.22 x 0.2 meters. so scale you custom mesh accordingly

haircut, eyebrow, beard are pre-made assets. eyelash is created using "Draw Quick Eyelash". select a mesh to enter draw eyelash modal mode, W or S to rotate, A or D to adjust guide hair density, R to randomize hair distribution, T to toggle upper or lower eyelash. Space Bar or Enter to confirm, Right Mouse Button or Esc to cancel.

3. Modify Hair Assets

Each hair asset is made of a parent mesh and the actual hair curves.

when the parent mesh is select, you can pick the shrinkwrap target, and optionally surface bind to target head mesh, so that the hair asset deforms with the custom head mesh.

select the actual hair curves, go to corresponding panel to start adjust the look. select a preview image and switch the style. 

the difference between switch haircut and hair element is that the switch haircut will replace all current hair curves, the hair element will add selected element

in the Display sub-panel, hair subdivision slider will adjust how smooth the hair looks. when hair display is strip, a Hair Radius slider shows, you can adjust how thick a hair looks. drag Viewport Amount slider to adjust total hair amount shown, low will show only 10% of full hair amount, full to show all.

for the NodeGroup Controls subpanel, it is best for you to play with them to get the hang of it. for the interpolate node group control, press "Edit Mask" will directly bring you to weight paint mode of the parent mesh, where the hair density is controlled by corresponding vertex group. when done, toggle back to object mode and select the hair curves to continue editing. 

the Preset subpanel offers some pre defined hair shape. you can adjust your own shape in the NodeGroup Controls panel and save it as a preset.


for the beard asset, there are bend angle 1 and 2 controls for the beard parent mesh. adjust them to better fit head shape.


the rest of the controls are pretty much the same for all hair assets with the exception of mirror eyebrow and eyelash. for eyebrow, there is a preview mirror eyebrow:



for eyelash, the mirror is at the bottom of the NodeGroup Controls:

Add New Hair is same as blender default Add- Curve - Empty Hair with the addition of the custom geometry nodes setup above

Add Mod simply add custom geometry nodes setup to existing hair curves


4. Finalize Hair.

when you are happy with the look of the hairs. you can transfer the hair to custom mesh. first select the custom head mesh and then the hair curves. go to corresponding hair panel and press transfer hair

for eyebrow assets, when transferring hairs you may want to toggle mirror on.

for eyelash, before transfer hair, make sure it has mirrored part by toggle mirror at the bottom of nodegroup control subpanel.

after the hair transfer. new hair curves are created and they are child object of the custom head mesh. the original hair assets are hidden. at any point if you want to go back and edit hair, you can. simply delete the transferred hair, show the hidden hair asset, modify the look and transfer to custom mesh again.


5. Create Hair Cards

often in game engines, hair cards are used for in game characters. you can turn hair curves into hair cards

the generated hair cards are automatically align to target surface normal. Influence Range will limit the auto surface align. at 0, the hair card does not align, for long hairs, you may limit the auto align to certain point. Embed Root control how deep the starting point of hair cards into the target surface. Rotation will uniformly rotate the hair. Width control the width of the hair cards. Resolution control the mesh resolution. when resolution width is greater than 0.5, bend option shows, it controls the bend of added edge loop in the middle.

for most cases, the hair cards will use double sided material in game. for some case, use Dual Mesh to avoid double sided material. in this case, when dual mesh is on, another layer of the same mesh is created with inverted normal.  another useful case for dual mesh is to create bigger hair volume. turn the dual mesh toggle on and adjust the offset and rotations to avoid the flat hair look.

at this point the hair cards are generated from hair curves where you can sculpt them, you can convert them to simple curve and modify individual hair, tilt or duplicate it. 

finally you can convert them into actual mesh. if the Random Flip UV is on, some of the mesh will have flipped UV. if Transfer Normal is on, the final mesh will have custom normal info from target surface normal.

when switch to viewport material preview, depends on the UV gird setup in Hair Texture Baking. click the corresponding number to set the UV preview area 


6. Hair Texture Baking

in the Bake Hair Card panel, click "Open Bake Scene", a new scene is created within the same blend file. you can switch back and forth from the top right drop down list.

in the bake scene, you can import sample hairs by pressing Regular, Clump, Curl button.

first select a desired UV grid layout, depends on long hairs or short hair or mix hair texture with eyebrow, eyelash and beard. then click various numbers to position the hair curves. fine tune them using geometry nodes controls or Convert generated hair for manual sculpt.


when it comes to bake hair textures, toggle the type of textures, select a folder (make sure to click the gear icon and uncheck Relative Path) choose size, format and quality, then click bake textures.

back to the generated hair cards, select one of the baked texture and you can apply them (make sure also uncheck Relative Path)

7. Hair Simulation with particle hair system

until Blender natively support geometry node physics, you may choose to convert geo hair to particle hair for hair simulation.

step1. select geo hair, most likely there are various geometry modifiers, go to "Object - Convert - Curves" this will apply those geo modifiers and make the hair individual strands instead of generated ones.

step2. go to object data tab, under surface-surface, use the eyedropper to select the target head mesh.

step3. go to "Object - Convert - Particle System", now you have particle hairs on the target head mesh, you may need to adjust the hair strand shape and/or decimate(rekey) hair strand point count for faster sim. 

step4. set hair vertex weight. higher the amount, less the physics effect. at 1 (red), physics does not have any effect. adjust various physics parameters and make dynamic hair simulation.








Why nothing happens after I click make hair cards?

if curve is too short and the Resolution(Length) value is high, it can not generate a hair card mesh. lower the Resolution(Length) value, it will appear. if a set value is beyond the default range, open geometry node editor and on the right side panel manually adjust the range.





how to use the Draw Quick Eyelash operator?

1. select a mesh and press the button to start

2. draw lines where eyelash would present, you can draw multiple lines to overlap area where eyelashes are dense. please note, the drawing direction matters, either all from left to right or right to left.

3. press W or S to tilt the curve until you see a visible red strip and then press Spacebar/Enter to confirm, or press Z to delete last draw line, or ESC/ Right Mouse Button to cancel.

4. adjust the parameters in the side panel and enter particle edit mode to comb the hair to your liking.

5. when done, you can bind the hair to target mesh or transfer hair as part of the target mesh.




how to re-use previous hairs that I spend time and effort created/modified?

1. add haircut via addon panel, choose a closest haircut you want and modify it.

2. locate the actual mesh object that contains the hair particle systems, rename it to something unique. 

3. use any tool to take a screenshot of it or render it in JPG format and save the blend file. name both the screenshot and blend file to that unique name you give to the mesh object.

4. optionally, delete other objects and clean up scene to save disk space, but not necessary, you can leave it as it.

5. if you use custom folder for the haircut, save both the screenshot and blend file inside the folder, otherwise, save them in the addon folder, which is located at: C:\Users\UserName\AppData\Roaming\Blender Foundation\Blender\3.3\scripts\addons\Facial Hair Toolkit\HairAssets

6. press "Refresh Previews" in the addon preference, your newly added haircut is ready to use.




How to adjust the shape to my character head?

every head shape is unique, here are the steps how I match the head shapes.

1. after select a shrinkwrap target, use transform tools (move, rotate, scale) to adjust the overall shape

2. disable the shrinkwrap modifier. in sculpt mode, use grab brush to micro adjust the shape, such as area near ear. hold shift to smooth the out. then enable the modifier.

3.  in particle edit mode, fine tune the guided hair to better fit the head, also enter weight painting mode to adjust the hair distribution.





Why am I getting an error when switching hair styles?

you probably select the "FHT_HairStyle" mesh from outliner and proceed to switch hair styles. it is not selectable yet, hence getting the error.

after you enable "selectable" from restriction toggles filter and turn "Selection" on, the error will go away.

by default, it is recommended to use "Visibility and Selectable Toggle" from the addon panel to hid/unhide the parent control mesh, at the same time, make the child mesh selectable/un-selectable.



Why hair looks different in render from viewport?

my primary goal to make these hair assets is to use them in game engines as hair strands. some assets may not look idea in render, but it is easy to modify.

there are two places to check:

1. hair steps. if the hair looks ok in viewport, but in render it is low resolution, one key part is steps under Render in particle property window. it subdivides the hair strand so that it forms the curly shape. increase the step count will fix the low res look.

2. another one is children hair amount, if in viewport the hair amount look ok, but in render it looks less, then adjust the render amount to higher number


3. also there is hair shape. this is how thick each hair strand renders. adjust them accordingly.



I want this!

facial hair toolkit addon for blender

Copy product URL
$49

Blender Facial Hair Toolkit

I want this!