Lance's Advanced hair creation nodes (Blender 3.4)
This package gives you 15 custom geometry nodes that manipulate hairs. Work with both new and old hair systems (See Demo 3 to learn how to procedurally import particle hairs into geometry node).
By combining these 15 nodes you can turn simple hair a grooming into something much more complex.
Example:
Nodes that start with C are creation nodes, they create new hair strands:
- C - Distribute hair: Distribute strait hairs onto the surface.
- C - Line template: Create a 1m line facing the Y direction.
- C - Hair interpolation (static): Create children hairs that interpolate the shapes of the surrounding guide hairs. This node is unstable for animated base mesh.
- C - Hair interpolation (animated): Create children hairs that interpolate the shapes of the surrounding guides. This node is slower but animatable. The static mesh and animated mesh must share exactly the same topology.
Nodes that start with P are processing nodes, they will change the shape of existing hairs:
- P - Displace hair: Displace the hair points along the rotated Normal vector.
- P - Curl: Curl the hair along its own path or around the guide path.
- P - Wave: Bend the hairs in a wavy fashion, along its own path or the guide path.
- P - Radius: Set the radius for the hair
- P - Radius by Length: Take the length of the hair into consideration while setting the radius.
- P - Rough: Bend the hair in random directions.
- P - Rough 2: Bend the hair in random directions, but provide a more natural looking result.
Nodes that start with U are utility nodes:
- U - Generate Root info: For each hair, get the root position and index and store it in the spline or point level.
- U - Get guide sample: Get the number of points of guide hair with index 0. This node expect all the guide hairs to have the same point count.
- U - Transfer info: Transfer the attribute from the base mesh onto the hair based on the root position, them map the 0 - 1 attribute to a different range. Leave the min and max values to be 0 and 1 if you don't want to remap the values.
- U - Random per spline: Produce a random number for each spline/hair.
Demo file:
In the demo file, you will find 4 demos of how to use these hair nodes to create stunning the children hair.
Demo 1 shows you how to procedurally generate the hairs without any hair grooming.
Demo 2 shows you how to create children hairs using the guides from the new hair grooming system.
Demo 3 shows you how to procedurally import the old particle hair system into geometry node system and then create children hairs from it. This is particularly useful when you need to run physic simulation for the hair.
Demo 4 shows you how to create children hairs on an animating/deforming mesh. The static mesh and animated mesh share the same data set.
Limitations:
There are a few things you should keep in mind while generating the children hairs:
- The overall distance between the guide hairs should not be smaller than the overall distance between the vertices of the base mesh. Although the errors may not be noticeable, you should still keep this in mind to make sure.
- The overall distance between the guide hairs should not be larger than the thickness of the base mesh. If you have a thin mesh with not enough guide hairs, the children hairs may interpolate between guides on different sides of the base mesh, which in turn, produce a wrong result.
- You must have at least 3 guide hairs to produce a stable result.
15 custom nodes to produce high quality hair styles