Hairs - Geometry Nodes

Your idea is very cool.

By the way, can I use the same geometry node to generate plate polygons instead of generating spline hair from a guide curve?

Currently, there is no add-on that can easily generate plate polygons in the correct direction from curve guides. In addition to generating spline hair, if you can create an add-on that can generate plate polygons for hair texture cards, you will instantly gain share.

My skill is not high, but if there is anything I can do to help you, such as testing, please let me know.

Dear friend! We are all waiting for this tool from
ikakupa. While you can pay attention to the paid addon
Good luck to you!


@ikakupa I got pretty far along doing this same thing with geoNodes, poor performance due to having to uninstance and manipulate curves and then curve to mesh conversion on many curves lead me back to particle hair. I would be interested if you ran into the same wall and compare notes on the state of geo nodes.

I felt like if I had access to the current iteration number for the “instance” tree in the “instance on points” node, then I would be able to get it to be more performant. I’ll post my blend file here later today

1 Like

It’s been interesting to see a read how this has been progressing, tho my main interest would be in animation of the hair, both as a combination of automatic simulation and manual adjustments/corrections.

However, I get a feeling that any animation would still be rather problematic and that won’t change till Blender redo the hair/particle system, which I’m not expecting to be done for another 2-3 years.

Thanks for the suggestion! But this is not a goal of mine. As @aicedor already mentioned, Bartos wrote very powerful Addon for this purpose. I personally use it myself, it is great.

1 Like

Hair animation is possible now with particles, it’s just not a terribly straightforward workflow.

As per simulation, we have cloth solvers but a wire solver not dependent on particle system would be ideal.

@nburkard The issues you are describing, are pretty much the same for me. Unfortunately, I do not know how to achieve better performance.
I would imagine “Iteration Number” would be helpful when working with loops.
It will be interesting to see a different approach.

1 Like

@thetony20, For the simulation, it is hard to think anything will change until Simulation Nodes’ arrival.

Animating guiding curves is technically possible, after certain amount of points it gets slow:
(115k control points in real time.)


Do we have control of hair width in tangent direction now ? For example it get thinner from root to tip.

Yeah, tho its a bit of a nightmare, based on the playing around with it I’ve done in the past.

I’ve been reading your thread and watched the video (small tip, lowering screen res for recording would be nice, otherwise its all just very small, blury text on Youtube), it looks promising, tho I don’t have a Blender Cloud membership so don’t have the script to try out myself. Even so, I suspect it will get very complex, messy and super slow if one tries to apply the method to a full character hair style, rather then just a single pony tail as per the Sprite Fright character.

Yes, that’s what I’m expecting and based on reading the roadmap for Blender 3.x I get the feeling that is like 2-3 years away.

The hair profile can be controlled with spline factor by adjusting the float curve node. Thickness can be multiplied by the thickness map as well.

(Hair profile)

(Hair profile combined with noise texture)


Good to know, thanks!

As promised, here’s where I got with instancing hair with geoNodes. I was going for something a little different than @ikakupa and ultimately backed away from it due to speed concerns, but someone may find this useful/interesting.

121121_hairInstance.blend (1.2 MB)


Would this patch affect the performance of this node group?

It would make it faster but from what I can tell the tallest nail in terms of speed is the convert to mesh which we need to actually render these

1 Like

It is very interesting to see a different approach. Thanks for sharing!


Observing the entire history of the development of the hair system on geonodes, it comes to the understanding that since the main problem is the transformation of curves into a mesh, then perhaps it is worth trying to make an addon that will transmit information from geometric nodes (the location of points and their relationship, the point where hair begins to grow on the mesh) in a hair system that is already rendering with high performance. Perhaps the Blender developers are also interested in a new such node that converts curves into hair particles or just particles. These are just thoughts out loud, I understand that for such things some research is needed.

1 Like

That should not be possible due to the limitation of the hair system.For example,hair system can’t produce possion disk distribution.

If I understand you correctly, the hair system cannot know at which polygon (and in what place) should the point of origin of the hair be located?
That is, you need to pass this value to which polygon of which hair from the array belongs? I am looking at addons for generating hair system from curves. I would like to explore this.
And thank you for your answer!

UPD: after reading the branch from above again, I realized that you mean a uniform distribution of hair and their interpolation.

It is all about how the hair particles are generated based on the “hair guides” you created,it doesn’t store the information of the generated particles,it depends on some random seeds in the case of particle system.The thing is that GN have other methods to generate hair based on guides while the traditional system do not have them.Of course this is just part of the difference,personally I think the goal of the new hair system is to create hair that can not be represented by the old hair system,not just a way to make things more convenient to produce the same result.Sometimes you just realize something is impossible to be done in the hair particle system.

1 Like