Hair Clustering
Overview
Hair clustering with 10 clusters (left) and 100 clusters (right)
Clustering is often required to quickly simulate realistic hair in both short and long form. In nature clustering is caused by external forces such as static charges between hair strands and synthetic forces caused by gel and hairspray.
To accomplish this task, hair has to be separated into groups which are then pulled together to form clusters. Each group has one of the hair strands selected to be its center. The user has full control over how each group does its clustering. This control consists of a set of cluster knots which determine the amount and direction of clustering at each point on a strand.
Hair clustered with 500 clusters, using a noise map for clustering amount
For very quick results clustering can be controlled on a global scale. Clusters can be randomly generated and spread evenly throughout the surface. Then one knot structure, presented on the main panel controls all of the clusters.
A special threshold parameter controls how close a strand has to be to a particular cluster to get affected. You can control threshold with a global value and through a global texture map. Controlled this value by a noise map with high contrast in upper and lower limits for good results.
You can use this operator in combination with guide clustering, which uses guide strands as cluster centers instead of randomly selecting them from the hair.
Parameters
Strand Group
Allows you to isolate the effect of this operator by selecting a particular Strand Group created in the Edit Guides operator.
Random Seed
Specifies randomness value when generating hair clusters. Use this option to change the hairs which are picked to be clusters.
Cluster Count
Total number of clusters to generate for all the hair.
Cluster Multiplier
An optional texture map to control how much clumping is applied for each individual hair along the distribution surface.
Cluster Ramp
Specifies the clumping strength along the strand lengths
Threshold
Specifies the maximum distance a hair needs to be away from a cluster to be a part of it. Smaller values will leave some hairs unclustered.
Threshold Multiplies
A texture map which can be used to vary the Threshold parameter along the surface
Use Uv
If this option is on, surface mesh UV space will be used for calculating cluster distances instead of world coordinates.
Generating clusters
Once you decide on the number of clusters and distance threshold by editing these parameters with viewport preview you will need to generate cached clusters. This extra step will create clusters for render hairs and save them with the scene. This way the clustering will be consistent even if you render of different computers on a render farm.
- To generate clusters press the Generate Clusters button.
- Alternatively you can use the
OxGenerateClusters clusterNodeName
MEL command.