Passive hair curves

 
 
 

You can specify a ratio of passive curves (Passive Fill) to active curves. Passive curves interpolate the dynamic behavior of active curves, but are less expensive than simulating every curve. See Passive Fill.

More specifically, passive follicles have their motion defined by interpolating the motion of neighboring dynamic follicles, rather than computing their own motion. They can be used with both Paint Effects and NURBS Curve output.

If a passive hair does not have an input Start position curve then its shape, in addition to its motion, is determined by interpolating the neighboring dynamic hairs. Dynamics, forces or collisions are not computed on passive hairs. (The Simulation Method attribute on the follicleShape determines whether a hair will be dynamic, passive or static. Static hairs simply keep the Start position and do not animate.) (See Start, Rest, and Current Position curves.)

The Passive Fill attribute determines the proportion of the follicles that are initially set to active versus passive. If the Passive Fill is 1, then every other row and column of follicles will be passive (with the points not in these rows or columns being dynamic). If it is 2 then there will be two rows/columns of passive for each row containing dynamic. The number of dynamic hairs goes down dramatically as the Passive Fill increases. If the motion of the hair is relatively uniform you might not see much difference when a large percentage of the hairs are passive. However the Passive Fill will be uniformly interpolated between the active hairs. This creates a uniform mass of hair, without requiring self collision.

When the follicle is created, a Start position curve is not created for passive follicles, although you can easily set one up by selecting the passive follicle and then selecting nHair > Set Start Position > From Current. You can then edit the shape of the passive hair by editing its Start curve.

Passive follicles can also be used purely for modeling. Use them to sculpt the hair by modifying a small set of Start curves. To do this, first create the hair with an initially small proportion of dynamic hairs. Display both the Current and Start positions and set the Time Slider to the start frame. When you edit the Start hairs for dynamic follicles, the passive hairs that don't have start positions will interpolate. When you’re done shaping the hair you can set the Start position from the Current position for the passive follicle, then make them active. (Select the follicles and in the Channel Box set Simulation Method to Dynamic.)

In terms of optimizing performance, the passive follicles will only help in certain situations currently, as the dynamic computations are typically a small part of the overall computation expense with the hair feature, especially if output curves are used. Expensive dynamics computations, such as self collisions, high Stretch Resistance, Bend Resistance, and Substeps values are completed faster if a large proportion of hairs are passive hair curves. For large numbers of follicles, Paint Effects output can be 10 times faster than NURBS Curve output. You’ll tend to notice the most performance improvement when using passive follicles if you are colliding with geometry and the number of CVs on the simulating curves is high. (The number of points on the simulating curve is the number of CVs on the Start curve times the sample density on the follicle node.) There is also a Simulation Method option in the hairSystemShape that lets you only output active follicles, hiding the passive ones.

However the biggest advantage is probably that the passive hairs move as a coherent group. This can be used to fake some of the self collision coherence of large groups of hairs, without the overhead of self collision. The other advantage is that they also do not need to be directly modeled.