Hair guides created from mesh objects

(Jandals) #121

No worries, Mikel007. I would have a lot of trouble writing in another language after 30 years so I can understand how difficult it is to get all of the details right. Still, you described exactly what was going on in your scene; it seemed like an unusual issue so I was unsure that I had read things correctly.

What I see in your file is that the Child hairs for each model all appear at the same distance from their parent guide hair. So even though the smallest mesh is 0.1 units across, the child hairs it creates still appear up to 0.1 units from the guide hair created by the HairNet script. You can change this setting in an object’s Particle Settings -> Children tab (I don’t know what it is called in German…)

I attached an image of the results I got by changing the Children -> Radius property. Let me know if you want the modified blend file.

(Mikel007) #122

Thanks for your opinion about my english :eek: … And oh man, i`m so stupid. Yes your right … the radius of the hair children !!! 2 years with Blender and then such a mistake. Thanks a lot for your time. It runs now - naturally.

With greetings from Mikel007

(Grey32) #123

Just wanted to say thanks for this script Jandals. I found it yesterday while looking for styling solutions.

My own efforts with it show I won’t be taking a job as a hairdresser any time soon :slight_smile:
But just the fact that it allows you to stay away from the particle system until you really need it, is a
boon. You can set up the hair guides in a different blender file and then simply append and generate
(I tried appending a particle system already generated - not good results).

It took me a while to work out the best settings (like child radius), but it clearly can produce nice results.

Thanks again.


(Jandals) #124

Grey32: Thanks for using the script. It sounds like it’s been helpful so I consider that a win. :slight_smile: I like the results you shared. Whether or not it matches what you have in mind for that character, you’ve added a nice amount of detail and I think it works well.

If you have any more feedback about using HairNet, I’m interested to hear how well it works and where it falls short.

(Jandals) #125

I posted a new version of HairNet and the links on the project page and the wiki page have been updated.…bjects/HairNet…d=153&atid=467

It’s been a long time since the last update. Version 0.4.9 introduces some workflow changes:

*Multiple hair proxy objects can be processed at once.
*Hair can be created on either a head-object or on the proxy mesh itself.
*There is a “Master Hair System” field which lets users copy hair settings from an existing hair system.
*Additional hairs can be generated in between mesh edges.

In some cases, the code creates extra named copies of hair settings (settings.001, settings.002 and so on). All the unused settings get cleared out upon saving and closing a blend file but the names get a bit messy.

The instructions on HairNet’s wiki page do not cover version 0.4.9 so users will have to do some experimenting until it gets updated.

(Auuman Anubis) #126

Hey those are some great looking renders Grey32!

Glad you’re still working on this! This is a really needed tool for polygon modelers, will this be compatible with blender Gooseberry hair system.

(Grey32) #127

Thanks for the update Jandals.

Curious, I did some experiments with animating an emitter mesh carrying hair generated by HairNet. I used simple dynamics,
stiff hair, almost no gravity and a single bone, so no deformation - just movement of the emitter mesh (think head of hair).
It seemed to work (as would hair generated simply by adding a P-system). Unfortunately trying the same trick with
shape keys was not a success. The hairs don’t seem to track the emitter faces. Oh well. So a head of hair seems OK,
but maybe not eyelashes on shape-key eyelids :slight_smile:

(Jandals) #128

@Auuman Anubis: I don’t know about being compatible with Gooseberry. I haven’t yet seen any specifics about changes that are going to be made, only a general statement that the styling tools will be improved. If you know any more than that, I’ll be interested to see it, too :slight_smile:

@Grey32: Thanks for sharing the trouble you’re having getting hairs to track the faces they grow from. I hadn’t encountered that before and you’re right; they don’t all track properly. I figured out what’s going on, though; when hairs are created they get attached to a face and HairNet doesn’t alter that association. So the hairs are created to they appear in the right place, but the may still think they are growing from a face in a different part of the model. I’ll have to figure out how to properly update those connections.

Edit: For now, it looks like you can fix this by clicking “Disconnect Hair” and then immediately reconnecting it with the “Connect Hair” button.

(cgstrive) #129


Jandals thank you for this very useful script. I guess I am requesting a feature as I need to make hair from the same MESH data that you get after CONVERTING(applying/collapsing) particle hair system under modifiers. It does not seem to be supported. I tried to convert that to curves with no luck either.

Quick rundown:

  1. Create standard hair system
  2. collapse/convert it to Mesh under modifiers
  3. edit the mesh using variety of traditional tools (different vertex count should be supported)
  4. Now recreate particle hair system using the new mesh.

A lot of different hairsystems like in 3dsmax (shave and haircut) allow SPLINE/CURVE based recombing. The idea behind it is that these GUIDE splines are rock solid constant and are not destroyed with changes of underlaying topology of scalp or some other means. It is important because complex hair needs multiple layers and changes to that topology. In addition they can be edited both with PARTICLE COMBING + MESH MANIPULATION methods giving you potentially 2x more control. They can also be easily exported to other programs.

Do you think it would be easy and fast for you to integrate? If you’re busy I will likely create a small script for only that purpose (specific project i am working on). Truthfully I would love HairNet to be even more feature rich as well as rock stable(not finicky) so it can be integrated as addon and used by everyone. It truly is incredibly useful!


(Grey32) #130

Jandals. FYI.

I tried to check the effect of disconnecting/reconnecting the hair this morning. But using your updated script here in the office.

But I have to admit it defeated me. It did nothing at all when I hit “Add Hair From Sheets”. No errors, but no particle system either.
(Blender 2.73/64/Win-7).

I’ll try again tonight using the older script on my home machine.

(Grey32) #131

Yes. That works. An addition to the magic incantations needed for a successful result.

[Using 0.4.6 - I still can’t get anything useful out of 0.4.9]

As for Gooseberry, I’m personally not holding my breath. I suspect changes will be only what’s needed to complete
the project (fair enough after all). Let’s hope for a stabilized solver though, it’s way too easy to trip the current
one up and end up with ‘exploding hairball’ effects.

(Jandals) #132

@Grey32: Thanks for the update. I think I know what’s going on with 0.4.9: It used to have a very roundabout method for creating new particle systems and I replaced it with a simpler, but apparently less-reliable method. It worked well in my test cases but it’s clearly failing elsewhere. I have another solution already so, hopefully, I’ll be able to roll it out soon.

@cgstrive: Those are all good ideas that I’d like to implement, although I think they would not be quickly or easily made. HairNet successfully used curves for a while, but I’ve neglected that part of the script for a while and I fear it has “atrophied.” Sorry about that.

(saikafu) #133

Hi does this 0.49 version not work on curve currently ?
I got error while I use hair from curves feature every time…

(Jandals) #134

I changed what I believe was causing the trouble Grey32 encountered. Although I haven’t got a Windows installation anymore and can’t test it out, it’s working for me and I don’t think there’s anything platform-specific in the code so here’s hoping that it works for everyone.

@saikafu: You’re right, curves do not work in the current version. The reason is that the script works on more than one “hair” object at a time, but it isn’t aware of whether it’s working on a mesh or curve object. Thanks for asking about it. I’ll put it on the to-do list.

edit actually, try version 0.4.11. Curves may be working again.

(saikafu) #135

Thanks for your reply Jandals :slight_smile: I’ll try the previous version~~

and I want to know is there any chance to improve the speed while convert the curve to hair guide , because I’m a zbrush user …I always use Zbrush’s fibermesh for hair style and then send to blender to make hair , but while I convert to hair guide , it always spend much time , so it’s any possible to speed up ?

Thanks again ~ you give us a really useful feature~

(Keiko) #136

Hi everyone! first of all thank you very much Jandals for this amazing script! really powerful, easy to use and very handy! Also thanks to everyone for contributing in this post, every time I bumped into a problem I try to find anyone who encountered something similar or read other members advice - thanks. I have a render question and hope you all can help me on this, so I’ve followed all the steps 1) create hair sys, then renamed 2) object to particle mode and touch it a bit so data is saved… the hair is looking really good on the preview. However when I rendered it, it didn’t look like the preview, the preview is smoother and the render is kind of square-ish? and didn’t follow the contour of the spirals as shown on the preview render. Please see the attached photo and hope to hear from you all soon. Thank you

(0rAngE) #137

If you render in the viewport the hair will render as you see it in the viewport. And the setting that controls it is:
Properties > ParticlesTAB > Display > Steps

If you render using F12 another setting is what controls it:
Properties > ParticlesTAB > Render > Steps (under the B-Spline box)

(Jandals) #138

Thank you, Keiko, for pointing this out and thank you, 0rAngE, for posting the solution. I ran into this, too, and forgot to include a solution. I’ll see if I can write-in a solution that makes sense. I can at least make sure that the script isn’t setting the render steps too low by mistake.

(Keiko) #139

Thank’s OrAnge! :slight_smile: Hi Jandals no prob actually that was just me being a noob to the hair system in Blender, your addon is perfect! lol :wink: Btw, I saw that there’s also a fibers - option on the HairNet addon, so I’m assuming that’s the ZBrush Fibermesh Guides? Do you guys know a work around how I can import fibermesh guides from Zbrush like I tried exporting it to curves and saving it as an OBJ but Blender did not read it nor show any curves. Also, there’s a fibermesh export on ZBrush, but I’m not sure how to import that in Blender. Thanks in advance

(Marco_105) #140

Hi Jandals,
This script look very nice to handles hairs and is a good improvement at all.
I saw some error raise, is it possible to catch it ?

Traceback (most recent call last):
  File "C:\Users\FGH_W764\AppData\Roaming\Blender Foundation\Blender\2.74\scripts\addons\", line 893, in draw
ValueError: list.remove(x): x not in list

location: <unknown location>:-1