Hair - Medusa Nodes

IMPORTANT:

Keep in mind that this addon is not production-ready yet and has a lots of issues! You will most certainly encounter some bugs. It is not a finished product yet.

Today I am releasing an addon that I have been working on for over a year now - Medusa Nodes.

Here is a two-part introduction:
Part 1

Part2

It started as an experiment and grew bit by bit. Unfortunately, I was only able to work on it in my spare time, hence it took a little more time than expected.

At the moment the add-on is not production-ready. You will most certainly encounter some bugs.

The add-on features several nodes, including deformers such as Guide, Clump, Noise, Curl, Braid, Children, and Trim. The Guide and Clump deformers in particular were very interesting to work on.

The deformers are placed in between the Generator and the Visualizer nodes.

Also, there are additional Mask Groups for masking purposes, which are pretty simple but crucial in achieving realistic hairstyles in my opinion.

The system will become slow if you increase your density to a pretty high value (up to 2 Million Control Points Overall) so I would avoid using it for full body fur type grooms

“Region” or “Parting” maps are supported by Guide and Clump deformers. (Image texture Node should be set to Closest type of interpolation).

The Braid deformer is not set in stone and will improve. The fishbone braids, where side hairs automatically find the place they can feed into the main braid, are far from being perfect, but maybe some of you can find them useful. I will try to improve its usability as well because its parameters are needlessly overcomplicated at the moment.

Addons UI

Medusa Nodes has its own hierarchy viewer.

There is an “Add Deformer” button, which will add the desired deformer right on top of the currently selected deformer.

Addon can also expose ColorRamp and FloatCurve widgets for quick access.

It was interesting to work on the project and I hope some of you will find it useful.

During the process, I had a chance to learn a bit.

There are quite a lot of ways one could go with geometry nodes in regard to hair, and we have already seen many beautiful examples of hair nodes, which explore some of these new ideas.

If there is any interest in this addon I am going to continue improving the functionality of these nodes and the addon overall in general.

Thank you for your interest and support.

History:

This is ongoing WIP. Experiments with procedural hair creation in Geometry Nodes’ new Fields system.

In this thread I am going to post some of the results of these experiments.

Automatic clump generation is one of the main goals of this project.

For now Clump Modifier supports:

  • Automatic clumping region generation.
  • Ability to chain multiple Clump Modifiers. (still WIP)
  • Combining “User-Made” curves with generated once.
  • Offset hairs which intersect with the emitter object by its normal.


(Main and secondary clumping region visualization)

Combining guiding curves and secondary clumps:

Clumps can be now fully controlled with guiding curves:

  • Rotation along guiding curves’ tangents.
  • Clump profile can be changed globally.
  • Profile can be adjusted with spline radius individually per guiding spline.
  • Tilting individual guiding spline for twisting effects.

You can submit the bugs and issues regarding the addon here:

92 Likes

Nice, but I should note this may end up being a temporary solution for hair (because the dev. site has an open topic regarding hair and grooming nodes). For now though this should be fine.

1 Like

Yes, I am aware of the new Hair Object and the design proposal done by @dbystedt. It looks great.

This project is just an attempt of mine.

1 Like

Amazing !:slight_smile:

1 Like

Thank you!

Curls are now possible.


(Curl frequency at 30. Used on guiding curves.)

(Curl frequency at 80. Used on guiding curves.)

(Random frequency, random scale. Used directly on hairs.)

For now Curl Modifier support:

  • Curling effect on input splines’ tangents.
  • Generated and “User-Made” curve guides.


22 Likes

First test with Braid Modifier:


Some of the braids only have two clumps in them.
It would be nice, if at the ends they would have some kind of knots.

42 Likes

This is amazing. The tools we got for curves in geonodes are basically already portable to a hair object as-is. Disregarding the whole simulation part, these are tremendously good-looking braids.

1 Like

Thank you, @Hadriscus it is greatly appreciated! Geo Nodes curves are indeed very powerful.

For the sake of stress testing the nodes system I tried to make a long hair style.
Noticed some issues in Clump Modifier:

Region generation should be more consistent.
Scene is quite slow.


(Roughly 3 Millon control points. Rendered in Eevee).

Demo:

39 Likes

Mind blow :slight_smile:

1 Like

Thank you, @regis3d!

This is looking really good, I can already dream with modifiers stacking like in other grooming tools :heart_eyes:

2 Likes

Many thanks!

This is very impressive! Is each hair a geonodes spline and are you just using the curve to mesh node to render this? It must be very slow in the viewport to get than much actual geometry working.

1 Like

Thanks for kind words @Jamez!

Yes these are all splines that are converted to mesh using Curve To Mesh node.

You are right it is quite slow. I am unable to edit the guiding Bezier curves live after certain amount of control points (in sum 300k control points with 32 points per hair spline, roughly 9k individual splines). There is probably better way to do this.

3 Likes

Still that is impressive you got this far considering the basic tools you are using. I am sure you are aware that the devs will be going node based in the near future for the a new hair system. If you are a c++ coder, you should try and get involved, as devs with artistic skills are always a prized combination!

3 Likes

What you’re doing here is really great, I never expected anyone would make something like this with the nodes we have now.

Regarding performance, there may be some easy ways to optimize the curve to mesh node for this case. Especially with access to a file-- it would be interesting to see what parts are slowest so they could be improved.

6 Likes

Yes, I have seen the proposal for the new hair object. Unfortunately I only know just a little bit of python.

1 Like

Thank you Hans, I appreciate your feedback!

I will share this blend project privately. The blend file needs a little cleanup beforehand. But it will be ready later today.

I am going to share these nodegroups publicly as well, as soon as some of the bigger issues in clump generation are solved.

7 Likes