hairSystemShape

 
 
 

These are descriptions of the attributes in the hairSystemShape node (also hairSystem node). When modifying these attributes they affect the entire hair system.

Simulation Method

Simulation Method

Controls what is simulated in the hair system. Selection an option from th drop down list.

Off

The hair system is not displayed or updated during the playback of the simulation.

Static

The hair system does not move during the playback of the simulation. But the hair system does update the position of the hairs if the surface is transformed.

Dynamic Follicles Only

The hair system simulates and updates dynamic hairs only during playback of the simulation. Passive hairs are hidden.

All Follicles

The hair system simulates and updates all hairs (dynamic and passive) during playback of the simulation.

Display Quality

This value is the percentage of hairs within clumps to display for interactive draw. This display quality corresponds to the display quality of Paint Effects strokes. The default value is 100.

Use Nucleus Solver

When on, the hair system behaves as a Nucleus object and is solved by the Nucleus solver. As a Nucleus object, hair objects can interact with other Nucleus objects as well as self-collide. When off, the hair system solves using the Maya classic hair solver and does not behave as a Nucleus object.

When Use Nucleus Solver is off, Nucleus-related attributes are not available on the hairSystemShape node Attribute Editor.

Clump and Hair Shape

This section contains attributes to control the hair clumps and overall hair shape.

Hairs Per Clump

This is the number of hairs rendered for each follicle.

Baldness Map

Reduces the hair density using a texture. The texture used must be a 2D texture.

Sub Segments

This determines the number of smoothly interpolated segments at render time. The hermite interpolation smooths the shape of the line, in addition to providing more detail for curls and fine features. The added segments affect the rendered look only and do not affect the dynamic simulation.

Thinning

This controls the proportion of shorter length hairs.

Clump Twist

This is the rotation of the clump group about the primary hair axis.

Bend Follow

This determines how much the rotation of the overall clump follows the primary hair axis. Short straight hair may work better with this value near zero, as the end of wide clumps will blend better when they twist. With this value at 1.0 the cross section of the hair clump will always be perpendicular to the tube direction, which can work well for long relatively thin clumps. When this value is zero the cross section is always perpendicular to the surface normal at the start of the hair clump.

Clump Width

This is the base or maximum width for the dynamic hair groups.

Hair Width

This is the global width for hairs.

Clump Width Scale

Using a ramp (graph) you can define a varied width for hair clumps. Clump Width Scale affects the width from root to tip of the hair clump. The left of the graph is the root and the right is the tip. You might want the hairs within the clump to come to a tip at the end of the clump, in which case the right value should be smaller than the left. This attribute multiplies the Clump Width parameter value, so a value of 1.0 will leave the Clump Width unchanged. If the Clump Width attribute is zero then this parameter will have no effect.

Hair Width Scale

Using a ramp (graph) you can define a varied width for the overall hair shape. Hair Width Scale affects the width from root to tip of the hairs. The left of the graph is the root and the right is the tip. This attribute multiplies the Hair Width parameter value, so a value of 1.0 will leave the Hair Width unchanged, but if the Hair Width attribute is zero then this parameter will have no effect.

Clump Curl

Using a ramp (graph) you can define a varied curl for hair clumps. Clump Curl controls the rate of curling about the primary axis of each hair clump. The left of the graph is the root and the right is the tip. The mid value of the ramp (0.5) represents no twist while values greater than that will result in positive twisting and smaller values will cause twisting in the reverse direction.

Clump Flatness

Using a ramp (graph) you can define a varied flatness for hair clumps. Clump Flatness affects the flatness of the clump group from root to tip. The left of the graph is the root and the right is the tip.

Clump Interpolation

This value specifies the amount of interpolation between the hair clumps of your current hair system. For each hair clump, Clump Interpolation evaluates its three closest neighbors and does the following:

The higher the Clump Interpolation value, the more distributed the hairs in your hair clumps appear. This is useful when you want to create a smooth continuous head of hair with less obvious clumping.

This attribute has an overall effect on all the hair clumps of your current hair system. The effects of this attribute are more apparent with higher Clump Widths than with lower Clump Widths. Clump Interpolation is 0.0 by default.

WarningWhen Clump Interpolation in greater than 0.0, the hairs in your hair clumps may not lie within their clump boundaries.

This can cause undesirable hair collisions as collisions only occur within the original hair clump boundaries, not in the regions of clump interpolation.

Interpolation Range

This value determines how far apart clumps can be and still interpolate with each other. Interpolation Range is multiplied by your current hair system’s Clump Width to define the maximum distance hair clumps are allowed to lie from each other for them to be included in the clump interpolation.

For example, an Interpolation Range of 8 specifies that the hair solution will look for clumps that are within a distance of 8 times the Clump Width value. All hair clumps that lie outside this range are not included in the clump interpolation.

This is useful when you want to vary the widths of your hair clumps to make your hair follicles look more natural. Interpolation Range is 8.0 by default.

Collisions

Collide

When on, the nHair object collides with Nucleus objects, including other nHair objects that share the same Maya Nucleus solver. When off, the nHair object does not collide with other Nucleus objects.

Self Collide

When on, dynamic hairs generated by the hair object collide with each other. When off, they do not collide.

Collision Flag

Specifies which nHair object's components participate in collisions.

Vertex

The nHair object’s vertices collide. Collisions occur at the collision spheres that surround nHair vertices.

Edge

The nHair object’s edges collide. Collisions occur at the collision cylinders that surround nHair edges.

Self Collision Flag

Specifies which nHair object's components participate in self-collisions.

Vertex

The nHair object’s vertices collide. Collisions occur at the collision spheres that surround nHair vertices.

Edge

The nHair object’s edges collide. Collisions occur at the collision cylinders that surround nHair edges.

Collide Strength

Specifies the strength of collisions between the nHair object and other Nucleus objects. At the default value of 1, the object fully collides with itself or other Nucleus objects. Collide Strength values between 0 and 1 dampen the full collision, while 0 turns off the object's collisions (which is the same as turning off the object's Collide attribute).

If hairs become trapped during collision, lowering Collide Strength may make the simulation more stable and produce better results.

Collision Layer

Assigns the current nHair object to a specific collision layer. Collision Layers determine how Nucleus objects that share the same Maya Nucleus solver interact.

Nucleus objects on the same collision layer collide normally. However, when Nucleus objects are on different layers, the objects on lower value layers have priority over objects on higher value layers. So a Nucleus object on collision layer 0.0 pushes an object on collision layer 1.0, which in turn pushes the object on collision layer 2.0. This collision priority occurs in the range set by the Collision Layer Range attribute on the nucleus node.

When the collision layer difference for two objects is 1.0 or more, the lower layer is essentially rigid relative to the higher layer. For collision layer differences less than one, the relative push (or mass) becomes more equal.

Note

Other nucleus objects in collision layers only collide with nHair objects that are in the same collision layer, or in layers of higher value.

See also Collision Layer attribute for the nClothShape node.

Max Self Collide Iterations

Specifies the maximum number of iterations per simulation step for the current hair object's self collisions (between dynamic curves). Max Self Collide Iterations clamps the number of iterations to prevent high level property values or a large number of steps from locking up the nHair object.

Collide Width Offset

Specifies a value added to the Clump Width before resolving collisions. This value is relative to the Clump Width.

Use Collide Width Offset to help resolve interpenetrations and correct hair behavior when passive hairs move outside the boundaries of the active clumps. If the hairs collide too far from an object, use negative values to allow a some interpenetration of clumps.

Self Collide Width Scale

Allows the thickness of hairs and clumps to be scaled for self collision. When set to 2.0, the hairs have twice the width for self collision than for collisions with other Nucleus objects.

Solver Display

Specifies what Maya Nucleus solver information is displayed in the scene view for the current nHAir system. Solver Display can help you better diagnose and troubleshoot any problems you may be having with your hair simulations.

Off

No Maya Nucleus solver information is displayed in the scene view.

Collision Thickness

When on, the collision volumes for the current nHair system display in the scene view. Collision Thickness helps you visualize the individual hair clump's thickness and it is useful when adjusting hair collisions with other Nucleus objects. The appearance of the current nHair collision volumes is determined by its Collision Flag. See Collision Flag.

Self Collision Thickness

When on, the self-collision volumes for the current nHair system display in the scene view. Self Collision Thickness helps you visualize the hair clump's self-collision thickness and it is useful when adjusting nHair self-collisions.

Bounce

Specifies the self-collision springiness or bounciness of each dynamic hair.

Friction

Specifies the amount of friction of the nHair object. Friction determines how much hairs resists relative motion on collision with itself and other Nucleus objects that share the same Maya Nucleus solver.

The effect of Friction is influenced by the hair object's Stickiness value.

Stickiness

Stickiness specifies the tendency of hairs stick to each other or other Nucleus objects during collision.

For additional information about Stickiness and Friction see the nClothShape node Friction and Stickiness attributes.

Static Cling

When Self Collide is on, Static Cling specifies the amount of local attraction between self-colliding hairs. This simulates a static cling effect and creates additional friction on hairs.

Using Static Cling dampens the motion of hair masses and can be useful for achieving natural motion of a large amounts of hair. Negative Static Cling values cause hairs to repel each other.

Draw Collide Width

When on, circles are drawn around each hair clump representing the width used for collision.

Width Draw Skip

Adjusts the quality of the Draw Collide Width drawing. A value of 0 causes a circle to be drawn for every segment. Increasing Width Draw Skip decreases the number of circles drawn.

Dynamic Properties

No Stretch

When on, the lengths of your output hair curves are fixed at the lengths of your start hair curves. No Stretch keeps the lengths of your output hair curves constant and it prevents them from stretching. This lets you create realistic, flexible, non-stretchy hair without having to increase the number of Iterations for your hair solver.

When using No Stretch, your hair curves should always be constrained at their follicle bases. No Stretch is off by default.

Start Frame

This is the frame after which the simulation will run. Nothing will play back for this object prior to Start Frame.

Current Time

This is the current time used for the hair solution. By default, it is given an incoming connection from the main time node. This can be replaced with some other connection (such as, from an expression or param curve) and then the solving is done based on that time value. There must be some incoming connection in order for the Hair System object to play back.

Stretch Resistance

Specifies the amount the hair resists stretching when under tension. Large values require more computation resulting in longer simulation times. Increasing solver Substeps may decrease stretching.

Compression Resistance

Specifies the amount that hair resists compression along a segment.

Bend Resistance

Specifies the amount that hairs resist bending when under strain. Large values require more computation resulting in longer simulation times.

Twist Resistance

Specifies the amount that hair can dynamically twist along its length. The effects of Twist Resistance are noticeable when the hair rest shape is not straight. Increasing Twist Resistance can preserve the rest shape.

Extra Bend Links

Adds bend links between the vertices of hairs that are not closest to each other or are not near neighbor hairs. These links help with bend and twist resistance of hairs that have many vertices. Extra Bend Links can create unnatural looking hair effects where hair is stiffer at large scales than at small scales.

Rest Length Scale

Specifies a multiplier for the hair rest length, allowing hair to expand or contract more in the rest position. To avoid sudden snapping at the start of the simulation, create a key at the first frame with a Rest Length Scale value of 1.0. Increase or decrease the value gradually with subsequent key frames.

No Stretch (clip post solve length)

When on, the lengths of your output hair curves are fixed at the lengths of your start hair curves. This keeps the lengths of your output hair curves constant and it prevents them from stretching. No Stretch (clip post solve length) is applied to the hair system after Nucleus solves the simulation.

Stiffness Scale

Stiffness Scale affects the stiffness from root to tip of the hair. The left of the graph is the root and the right is the tip. Typically the root of a hair is thicker and therefore stiffer than the tip. This attribute multiplies the Stiffness parameter value, so a value of 1.0 will leave the Stiffness unchanged, but if the Stiffness attribute is zero then this parameter will have no effect.

Start Curve Attract

Start Curve Attract

Determines the amount of attraction of the current hair position to the start position. This attribute is useful, for example, where you want to have stiff hair, or hair that moves with a character. Also, if you put keyframed animation on your start curves, you can use the Start Curve Attract attribute to blend between the simulation and the start curve animation.

Normally you would leave the Start Curve Attract value at zero for long flowing hair. However, for short hair it can be difficult to make hair stiff enough. Use a value greater than zero when the hair needs to be very stiff, yet at the same time have some dynamic properties. At a value of 1.0 the hair position will be the start curve position (relative to the transformed follicle position); only collisions and forces will still deflect the hair. Without Start Curve Attract this scenario could otherwise require a very high iteration count and damp value, especially if there are many CVs per hair.

When Start Curve Attract is set to a value of 1.0, there is 100% attraction to the start curve position. You can control which parts of the curve are attracted to the start curve by using the Stiffness Scale attribute. If you have animated start curves then this would produce behavior that is similar to when the Simulation Method is set to Static. However, dynamic fields are still added on top of the solve.

TipUsing the Start Curve Attract attribute for hair stiffness, you may not need to create rest curves in many cases.

For colliding hair, this attribute may dampen out excess hair motion without requiring the Damp attribute, and with an Iteration value of as little as 1.

Drag fields with Inherit Velocity set to 1 (see Fields > Drag) can be parented to a head and applied to the hair. At high Drag values, the hair will move exactly with the head. In many respects the effect of this is superior to the Start Curve Attract attribute, although it depends on the exact effect you are after.

Attraction Damp

Damps the effect of Start Curve Attract, decreasing the velocity of hair as it moves towards its start curves’ positions. This is useful when you want to lessen the springiness (caused by higher Start Curve Attract values) of hair, or when you want to apply dynamic fields on top of animated hair. When Attraction Damp is 1, the motion of hair moving towards its start curves is fully damped, leaving only its Start Positions and field forces to dynamically influence its motion.

Attraction Scale

The Attraction Scale ramp attenuates the Start Curve Attract attribute value along the length of the hair clumps in your hair system.

You can use the ramp graph to define a varied stiffness from root to tip for the hair clumps in your hair system. The left-side of the ramp graph represents the roots of the hair clumps in your hair system and the right-side represents the tips. For example, if you want the roots of your hair clumps to be less stiff than their tips, then the value on the right-side of the ramp graph should be smaller than the value on the leftside.

The Attraction Scale ramp values are multipliers of the Start Curve Attract attribute value on the hair system. So an Attraction Scale of 1.0 does not affect the Start Curve Attract, and a Start Curve Attract of 0.0 is not effected by Attraction Scale.

Selected Position

This is the position along the hair clumps of the current hair system for the point selected on the Attraction Scale graph. This is also represented by the position of the point on the X-axis.

Selected Value

This is the scale value associated with the Selected Position on the Attraction Scale graph for the hair clumps in the current hair system. This is also represented by the position of the point on the Y-axis.

Interpolation

Defines the mathematical method used to smooth the values of the current hair system’s hair curves. Ramp Interpolation controls the way the intermediate values are calculated.

None

No interpolation is done; the different colors just show up as different bands in the final texture.

Linear

The values are interpolated linearly in RGB color space.

Smooth

The values are interpolated along a bell curve, so that each color on the ramp dominates the region around it, then blends quickly to the next color.

Spline

The values are interpolated with a spline curve, taking neighboring indices into account for greater smoothness.

Forces

Mass

Sets the simulated mass of the hair vertices. Mass affects how hairs collide with other Nucleus objects and influences the Drag. Hair with higher Mass behaves more like chains when low Drag values are used. In this case, the hair is much more massive than the air.

Drag

This simulates friction with the air, in addition to helping to stabilize the simulation. When the Drag value is 1.0 the hair behaves as if it has no inertial motion or follow through and therefore moves as if it is in thick fluid.

Tangential Drag

Specifies the amount of drag along the hair direction. When set to 0, hair has no resistance to moving tangentially or along the direction of its shape. When Tangential Drag is set to 1, Drag is even in all directions. For high Drag levels with low Tangential Drag, the hair behaves in a oscillating motion like a snake moving through water.

Motion Drag

This damps the movement of your hair curves relative to the movement of their follicles. The Motion Drag value determines how much your hair curves move with their follicles and to what extent the shape of your hair can be influenced by other forces. This lets you damp your hair’s excess movement, such as bobbing and wiggling, without having to increase Iterations.

For example, if you set Motion Drag to 1.0, then your hair will move with its follicles, appearing to drag the surrounding air with it.

You can also influence the effects of Motion Drag with the Stiffness Scale attribute. For example, you can use the Stiffness Scale ramp drop-off to create more Motion Drag at the roots of your hair than the ends. Motion Drag is 0.0 by default.

Note

Motion Drag does not interfere with hair collisions.

Damp

Dampens the relative shape change of individual hairs affecting how the hair bends and stretches.

Stretch Damp

Specifies how much velocity, due to stretching between the hair curve vertices, is damped. Increasing Stretch Damp allows hair to stretch without bouncing.

Dynamics Weight

The scale factor for the effect of forces acting on the hair motion.

Ignore Solver Gravity

When on, solver Gravity is disabled for the current hair object.

Ignore Solver Wind

When on, solver Wind is disabled for the current hair object.

Disable Follicle Anim

When on, follicle animation evaluation is disabled on playback. This is an optimization setting that improves playback performance when simulating animated follicles.

When caching a simulation with Disable Follicle Anim on, set Cacheable Attributes to Dynamic State. This ensures that the effects of Twist Resistance are saved to the nCache file.

Turbulence

This section contains attributes to control the turbulence properties of the hair system.

Intensity

Increasing this will increase the amount of force applied by the turbulence.

Frequency

Lowering this will make the turbulence vortices larger. This is a spacial scale factor on the turbulence function and has no effect if the turbulence strength is zero.

Speed

The rate at which turbulence pattern changes over time.

Caching

Specifies the simulation data that will be saved to a server or local hard drive when the current nHair object is nCached.

Cacheable Attributes

Position

Caches the X, Y, and Z positions of hair curve CVs .

Position and Velocity

Caches the X, Y, and Z positions of hair curve CVs and the object’s velocity.

Dynamic State

Caches the X, Y, and Z positions of hair curve CVs, the object's velocity, and internal state information.

Shading

This section contains attributes to control the hair shading or color.

Hair Color

The base color for hairs. The final color used is determined after the Hair Color Scale and randomization parameters are applied. Also individual hair clumps may override the Hair Color.

Use the Hair Color map button next to this attribute to map a texture to the hair color to create different hair shading looks. The following image uses a black and white checker texture mapped to the Hair Color attribute.

Hair Color Scale

Hair Color defines the global color of the hairs from root to tip. The left of the graph is the root and the right is the tip.

Advanced ramp features exist. For more information, see the following topics:

Displacements

This section contains attributes to control the displacement properties of the hair.

Curl

This is the amount of curl displacement applied to each hair. The amount of displacement is relative to the hair width. The Clump Curl creates large scale curls about the clump center, while this attribute creates curls about the direction of individual hairs.

Curl Frequency

This is the rate of curl. Larger values result in more curls. The amount of displacement is relative to the hair width.

Noise Method

Random is good for fuzzy, kinky hair, while the other, smoother noise methods can provide natural shaping and substructure to hair clumps.

Random

Defines the noise as a wiggle for each hair with no relation to neighboring hairs.

Surface UV

Defines the noise displacement volumetrically and is relative to the UV distribution of the hairs across the surface. The noise is a 3D volume with a scale in U and V across the surface with the third dimension (W) mapped down the length of the hairs.

Clump UV

Defines the noise relative to the clump, and while neighboring clumps have completely independent noises, the frequency of the noise is not affected by the surface parametric density.

Noise

This is the amount of perlin noise displacement of the hair. The amount of displacement is relative to the hair width. This can create a knotted, kinky look to the hair.

Detail Noise

The amount of secondary high frequency noise added when the smooth (Surface UV, Clump UV) Noise Methods are used. It can add subtle detail on top of smooth undulations from the base noise. If non-zero, a second noise offset calculation is performed, so this can make evaluation of the hair slightly slower than the smooth noise with no detail noise.

Noise Frequency

This is the spacial scale of the noise offset along hair. Increasing this value results in finer kinks in the hairs.

Noise Frequency U

When the smooth (Surface UV, Clump UV) Noise Methods are used, this attribute scales the noise frequency in the U parameter direction relative to the surface the hair is attached to.

Noise Frequency V

When the smooth (Surface UV, Clump UV) Noise Methods are used, this attribute scales the noise frequency in the V parameter direction relative to the surface the hair is attached to.

Noise Frequency W

When the smooth (Surface UV, Clump UV) Noise Methods are used, this attribute scales the noise frequency along the length of the hair.

Sub Clump Method

Determines how sub-clumps are defined in UV.

Surface UV

The sub-clumps are laid out relative to the overall surface UV space. Some follicles may therefore share a clump with a neighboring follicle. The density of sub-clumps will be affected by the parametric density of the surface the hair system is attached to. The total number of clumps across a surface will be the Num UClumps multiplied by the Num VClumps.

Clump UV

The number of sub-clumps for each clump will be the Num UClumps multiplied by the Num VClumps. All follicles, regardless of clump width, will have the same number of sub-clumps and the width of the sub-clumps will be related to the clump width. With Surface UV the smaller clumps will have fewer sub-clumps and the clump width will be relative to the parametric density of the surface.

Sub Clumping

The amount that secondary clumps pull together. Sub Clumping is useful for a wet look. The clumps are defined in a grid relative to the UV space of the surface the hair is attached to.

Sub Clump Rand

Randomizes the sub-clumps with a noise function. The clumps will get smeared into irregular shapes with higher values.

Num UClumps

The number of sub-clumps in the U dimension of the surface the hair system is attached to.

Num VClumps

The number of sub-clumps in the V dimension of the surface the hair system is attached to.

Displacement Scale

Using a ramp (graph) you can vary the amount of displacement applied from root to tip of the hair clump, affecting Curl, Noise and Sub Clumping.

The left of the graph is the root and the right is the tip. If the left side is zero then the effect will be added gradually—the root position of the hair will not be changed.

Multi Streaks

This section contains attributes to control the Multi Streaks shading for Paint Effects strokes. These attributes only apply if your hair output includes Paint Effects (see Create your own hair on surfaces).

Multi Streaks

Multi Streaks is the number of added sub hairs for each hair in a clump. These hairs will share the same shape and shading as the base hair they are derived from. They are created at render time and are simple duplicates, and therefore do not take up any shape computation. This allows you to have a great number of (Paint Effects) tubes and yet render them in a reasonable amount of time.

Multi Streak Spread1

The maximum offset for added hairs relative to the clump width.

Multi Streak Spread2

The maximum offset for added tubes relative to the clump width at the tube tip.

Light Each Hair

Render times can be much faster if you share the same illumination for each hair in a Multi Streak. If the Multi Streak spread is relatively large or self shadowing between hairs within a Multi Streak group is desired then Light Each Hair should be turned on. Also turning this on could avoid popping artifacts in situations with moving hard-edged shadows.

Render Stats

This section contains attributes that control how Hair is reflected and refracted in other objects.

Receive Shadows

Turns on the shadow-catching ability of the fur.

Visible in Reflections

When on, the fur reflects in reflective surfaces.

Visible in Refractions

When on, the fur refracts through transparent surfaces.

Creative Commons License Except where otherwise noted, this work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License