FiberMesh Hair Testing/Experimentation

I have been having a great time playing with FiberMesh! The following images/information is all generated from what I have been playing with over the past few days and I just wanted to share my experiments. There are probably better ways to do all this stuff, and I have found that I need to study how hair actually functions a lot more :slight_smile:

I’ve included some tutorial-esque stuff that I found to work really well (using polygroups on the base object to establish hair groups to create hair parting works great!)

Anyhow hope this may help inspire/open up more experiments to harness this powerful feature :slight_smile:

To start off I quickly established polygroups on the base head.

For the curls test the polygroups were almost every other poly along the top of the head (this one took a while to brush out.) Once these groups were established I masked the groups to create the area where I wanted the hair to grow. You may notice that the mask overlaps the polygroups slightly (this will generate another set of polygrouped hair once FiberMesh is activated. You may be able to use this to your advantage, I decided to get rid of it.) To fix this quickly grow your mask (tool:Masking:grow mask) then sharpen it (tool:masking: sharpen mask.) You will notice that the mask falls inside the hair polygroups now.

Once this is finished activate FiberMesh (Tool:FiberMesh:Preview.) Most of the settings need to be configured per hair style. One thing I found to be extremely helpful was setting the Profile to ‘1’ (Tool:FiberMesh:Profile.) Paul Gaboury mentioned this in one of the Zclassroom videos. With Profile set to 1 it unlocks the options for Sides, and Radius. These two options allow for the hair’s thickness to be changed once the FiberMesh is accepted and turned into a new SubTool. (This is a lifesaver if you find that the hair is too thick or too thin after you comb it all out.)

After you hit except you will notice that the new FiberMesh subtool contains all the polygroups that were created on your base object. Next I found that quickly using the GroomHairToss brush will help to quickly tame the hairstyle.

Once you get the style generalized you can then use the polygroups to comb out each hair section exactly where you want it to fall. (Turning on brush masking by polygroups works well at this stage. (Brush:Auto Masking:Mask By Polygroups))

Another thing I found is that the Clip brushes work well for creating evenly cut hair. After using GroomLengthen on the hair use the ClipCurve brush to trim the hair exactly where you want. You will notice that the ends of the hair will contain a little mashing from the ClipCurve. Smoothing out the tips with any smooth brush fixes this.

Other quick things of note that I found to work well (IMO):

The GroomHairBall brush works well for clumping up a section of hair then pulling it out. This works well to create long tapered strands of hair.

The GroomTwist brush works better with a positive twist i when sculpting hair on the left side of the head. A negative twist appears to work better when sculpting hair on the right side.)










Here are some other quick examples:


Hope the above info helps!

They look nice. Thanks for sharing this. :+1:

Thank you! This is very cool!

nice work! always great too see the new workflowz developing.


This is some of the best hair I have seen in zbrush so far with the fibermesh. I like the colors you get from polygroups too for dividing up the hair clumps. DO you have a back and top view of the super complicate braided one with the hundred polygroups?

Also have you tried making game resolution billboard hair like they use in the game Uncharted 2? I believe there are images of the hair in a zbrush top row thread. How do you prevent hairs from intersecting each other?

Great tips thanks.

Looks great … thanks! :+1:

I was thinking about how we could ‘freeze out’ certain hair parts and your method seems to work just fine. I’ll test it.
Thank you for testing this out for us! :+1:

Thanks for sharing your time spent digging into FiberMesh. I ve tryed some hair but also figured that there something else than just mask the area you want hair to grow. I think your way is the way. Your result show that.

Thank you for this workflow! This Polygroups method is very effeciency, I think it’s the best one for long hair. I’ve tested to generate some fibermesh subtools independantly but it was very hard to work. You can generate fibers with painted zones on the emmiter and polygroup by color too, but i think it will not work as well because of the gradient.

Thanks a lot for sharing that info. Your tests look great.:+1:


very nice ! :+1:

brilliant , nicely done.

Awesome techniques, thanks for sharing!



Great work and very usefull for us all!!! Keep it up.

Nice work ! Thanks for the demo and the tips ! :smiley:

man that’s cool thanks for the work flow :+1:small_orange_diamond:+1:small_orange_diamond:+1:

@Womball: Here is an image with the back, top, and side of the curls test. I didn’t fully comb out the back and the sides so it’s a little messy. I haven’t tried creating any billboard hair from FiberMesh yet. I am still trying to get the FiberMesh hair to look as good as Dani Garcia’s (Woody3d) hair :slight_smile:

I also wanted to share a quick method for turning every face on a mesh into a polygroup (process that was used on the curl test.) First I take the mesh that I want to generate the per face polygroups on. I then put a AUVtiles modifier on the mesh (Tool:UV Map:AUVTiles) (This will generate a UVW island for every face on the model.) Next use Auto Groups With UV (Tool:Polygroups:Auto Groups With UV.) The mesh should now have a polygroup for every face! Mask and apply the FiberMesh and start combing the hair!

Happy Zbrushing!