Procedural Hair Nodes: Nodegroup Assets for Blender 3.5

Just want to mention that a lot of the feedback in this thread is on issues that we are aware of, but cannot be addressed in this coming Blender release. Building this hair system to be the best it can be will require more iterations, that involve Blender development that goes beyond what can be done with just nodegroups. But most of these things are on the roadmap and will just take some time until they can be prioritized.

But the feedback is very much appreciated, knowing that we’re moving in the right direction is also very valuable!


I changed this setting myself in the file. By default everything will be in meters.

That’s why there is a fully supported workflow of manually creating the guide mapping. There is a dedicated not to generate the guide map so that is can be used by the following nodes/modifiers. I’m planning to add more options of how this is created, I didn’t get around to it yet though.
The node is called Create Guide Curve Map.

I understand the importance of stability. With layers of procedural operations that depend on each other this is only partially achievable though. With the nodes we ship with Blender it’s for now a bit difficult to accommodate for several different workflows at the same time. Keep in mind that for more advanced use-cases, the node editor always gives the same amount of flexibility that I have building these node-groups.
And for freezing and working on top of something: We are planning to make this a general feature in the node workflow as well, but for now you can always apply the modifier and manually tweak whatever result you got.


(Partially also related to my previous response in the paragraph above)
This is definitely possible, I will try to find a way to make this intuitive as part of the Create Guide Curve Map node. The issue right now is that there can be several different ways of generating the guide map. There needs to be better node-group customizability to allow us to put these all into one node with a dropdown menu to pick which type should be used. Right now this needs to be split into different nodes (which I usually want to avoid) or all inputs need to be available and depending on which are used the another method is used. But that get confusing quickly, as the UI is not adapting.

This issue was already clear previously, but shipping nodegroups as full on feature sets elevates the issue to a more critical level imo. Hopefully we can address this until the next release after and adjust these node-groups in that regard.


Pinning is currently always happening. Do you have a use-case for when you would need it disabled?

Good point, I agree. I will change that.

Hm, to me this sounds like something that would be better suited as a generic space conversion node, rather than a specific node-group. This topic came up at some point, I believe.
Similar to the shader nodes Vector Transform node, but with axis inputs.
Tangent space is something that is also very useful with meshes, but there are currently no builtin tools for that either. I think that is something we can live with being available to advanced users for now, until we can support it properly.

I can see that being useful in certain cases. But similar to my previous point: There is currently no proper support for aligning the normal of a curve, so I don’t think it really makes sense to build separate control like that into the nodes that we ship.
I think what I can do for now would be to expose an attribute output of the offset vector. Advanced users can then more easily adjust the deformation space how they need it.

6 Likes