View Full Version : Using Blender to Grow/Groom FiberFX Hair Guides

09-26-2012, 01:38 PM
I recently discovered a nifty workflow of using Blender to grow and groom/shape/comb hair fibers which can be exported for use as FiberFX hair guides. I found some basic information on how to do this on the internets but I couldn't get the fibers to work once it was back in modeler(direction was reversed etc.) I figured out a way and felt this was too good to pass up and not share. As always YMMV and I'm sure there are other ways/apps out there that will give you superior results, but you can't beat FREE with Blender.

DISCLAIMER: I'm sure there are plenty of folks who have done this already, so if you have any tips/suggestions, I'm all ears!! as I could really use any and all suggestions for a project I'm currently working on.

Fine print: I'm not very active on the forums so bear with me if my explanation's confusing/doesn't make sense. Please feel free to add any observations or suggestions on how this workflow can improve, as I feel it's quite promising.

Here goes...

Blender 2.6x (http://www.blender.org/download/get-blender/)
PSR-HAIR L-script from Vue-Scripts (http://www.vuescripts.com/_A/index.php?aid=68)

Step 1: Import LWO
So, here I've got a basic MakeHuman head that I want to throw some hair onto.

I save as is, and open blender, select "Import LWO"

Step 2: Figuring out Blender and where to find stuff
I found that there were 4 main areas of the interface where I found the tools, modes, and parameters that comes into play when adding hair. I've got it broken down into A, B, C, D. I'm not a Blender expert so don't expect a detailed explanation into what every icon/menu item is/does. (note: make sure your object's selected before you continue)

Step 3: Apply hair fibers to the head
First, to get fast performance, I put the sub-d level to zero:

Next, I went here to get to the "Particles" section. The hair fibers is part of the Blender Particle system, apparently. Click the + button to add the particles.

Now, I change the particle type from particle emitter to Hair. You do this by toggling this pull-down menu:

This actually causes hair to appear all over the place. It could work if you had a separate piece of geometry for the hair region, but I wanted to just try painting the hair on... So to remove all the random hairs, I scrolled down to where I found this parameter and set that to zero. Also, I changed the length to 1.0 instead of the default 4.0:

Now I'm looking to paint on the hair fibers. I go to the "mode" toggle, and change that to "Particle"...

All of a sudden, there's a bunch of new tools on the left side. It's really easy to figure out--I just want to highlight the "X-Mirror" switch and the two main parameters of each tool. I begin painting...

...and after at most 5 minutes, I get this:

Step 4: Export Fibers into Modeler
Now that I have a two-pointed mowhawk ready to go, I get out of Particle mode, and back into Object mode. (Area "D")

I have to freeze the hairs, and I do that by going back to the modifier stack of the object, and pressing this:

Once the fibers have been frozen, I click on the "Export OBJ" in the Export menu. (Geometry should show up as orange if it's been frozen.)

Load up the exported OBJ in Modeler, hide the head geometry so you only see the fibers.

Step 5: Fibers: OBJ -> Curves -> FFX geometry
This is the way I get the strands to convert over to FFX geometry: by first converting all the OBJ fibers into LW Curves. The easiest way I could think of was to use the "LF_PsrHair" Lscript, found here: http://www.vuescripts.com/_A/index.php?aid=68

Basically, it takes your 2 point poly chain and converts it into a curve. Once the hair is converted to curves, we need to MERGE POINTS, and then MERGE POLYGONS. It should look like this, with the origin of the curves on the end where you would want the root of the hair.

NB: if the origin of the curve is on the opposite end, make sure you press "f" and flip your curves around--this is key.

Once you have your hair curves worked out, press the "Strand Maker" button, found under the Setup tab.

You should now have your FiberFX guide strands ready to go... throw your hair back in LW and hit F9.

In conclusion...
Hopefully that wasn't too long or over-explained. If I overlooked a step or two, post below. It was actually pretty fun to experiment with Blender, and if you get past the interface, it's pretty easy to go from LW to hair creation.

Have fun, here are all the original files for both LW and Blender:
108127 :thumbsup:

09-27-2012, 10:12 AM
I knew about Blender's particle hair, and it's really easy to comb and shape the hair (but somewhat more difficult to get it to render nicely). However, I didn't know about the script to convert to curves in LW. Thanks for posting this.

For those interested, there's a really awesome tutorial for creating a realistic portrait (including detailed hair) on CGCookie. It's free. http://cgcookie.com/blender/cgc-series/series-creating-a-realistic-head-in-blender/

You can skip to the hair vid if you don't want to watch all the modeling & sculpting. This series will really open your eyes to the power that Blender has.

09-27-2012, 10:18 AM
However, I didn't know about the script to convert to curves in LW.

Yeah exactly, I never found any info on how to get the strands to work correctly as FFX strands/guides etc. There may be a better plugin/script that converts the polychains from Blender, but that was the first one I found that did the job.

I agree with you: grooming is pretty intuitive considering it's Blender. No knock at the software, it's just that I never really rolled my sleeves up and tried to dig around some of the cooler features simply because I felt like I had a strong case of dyslexia when trying to navigate in/around Blender.

Thanks for that link!

09-27-2012, 10:46 AM
I think this is an excellent tip.

09-27-2012, 01:37 PM
OK, playing with this a bit more after watching that video: You CAN freeze Child fibers... my mind's officially been BLOWN. I tried it, it works just like the initial fibers you grow in Blender. (which means you don't have to have 20K initial strands to groom... seriously this could be a sweet workflow)