Advanced Hair & Fur Modeling in Maya

Tips and tricks on mastering the art of Maya hair and fur from 3D Artist.

3D Artist has a new series of articles on mastering Autodesk Maya. One of the articles focuses on the challenges of modeling hair and fur. The guide features 7 pro tips for Maya users. Let’s take a look at the tricks. 

Preview Art by Dan Roarty

1. $cLength Colour Modulation

Expert: Michael Todd

You can control primitive colours based on length:

$mult = ccurve($cLeng th,0,[0,0,0],4,0.958537,[1,0.74902,0.215686],4,0. 534884,[0.878431,0,0],4,0.244186,[0.439216, 0,0],4);
$clump=$mult*$cLength;
Expand ($clump,0,1)

This expression uses a colour ramp and the $cLength parameter to control the primitive’s colour.

2. Animated Archive Frame Offset Expression

Expert: Michael Todd

When using animated archive objects, you can use an expression to offset and randomise the animation at a given frame:

$startFrame=1.0000;
$endFrame=120.0000;
$cyc=13;#0,120 (cycle($frame,$startFrame,$endFrame))+(rand(($ aIndex+$id),$cyc))

This expression cycles the archive object animation and adds a random offset based on the object’s index and ID number.

3. Remove Colliders, Emitters & Accelerators

Expert: Rachel Davidowitz

When a previously assigned collider is removed, the Bifröst attributes will no longer be connected in the Node Editor, but they still exist on the Collider Shape Node and appear active in the Attribute Editor and Channel Box. Bifröst attributes can’t be eliminated from meshes after creation.

4. Bifröst High-Quality Mesh

Expert: Rachel Davidowitz

Bifröst particles are assigned a liquid shader by default that can be rendered using mental ray. More control of the final look of the liquid can be achieved by enabling Bifröst Meshing in the bifrostShape node and adjusting the mesh settings. Increasing Droplet Reveal Factor, decreasing Surface Radius, decreasing Kernel Factor and Increasing Resolution Factor will all increase detail.

5. $cLength Noise Modulation

Expert: Michael Todd

XGen’s in-built expression language, seexpr, can use the final calculated length of the primitives as an input in expressions. Using $cLength, you can have a noise modifier that has more (or less) of an effect on hairs, based on the length of the primitives:

$mult=0.6850;#0.00,1.00
$clump=$mult*$cLength;
expand($clump,0,1)

This expression multiplies the magnitude of the noise by the hair’s length so that shorter hairs are less affected.

6. Stray Hair Usage

Expert: Michael Todd

You can utilise expressions to affect a given percentage of hairs in one way and then affect the rest of the hairs in another way. For instance, you can create a global (float) expression by making use of the Expressions tab to set a percentage value of hairs that are designated stray:

$percentStray=5;#0,100
rand() Then use an expression to affect those stray hairs more in the magnitude of a noise modifier: $min=0.0100;#0.00,0.20 $max=1.5750;#0.20,10.00
$seed=5;#0,10
$strayMin=0.4550;#0.0,5.0 $strayMax=2.4000;#1.00,20.00 $strayNoise=rand($strayMin,$strayMax,8); $mag=rand($min,$max,$seed);
$noise=strays() ? $strayNoise : $mag; $fitMax=5.6850;#0.00,20.00
fit($noise, 0,1,0,$fitMax)

7. Groomable Spline Mirroring With Masks

Expert: Michael Todd

You can use the Mask brush in the groomable spline to mirror chosen areas of the groom. Paint a mask on the splines you want to reflect across the x-axis and then flip to the appropriate side. Only the masked area will be flipped.

You can find more on the masterclass from 3D Artist here

Join discussion

Comments 0

    You might also like

    We need your consent

    We use cookies on this website to make your browsing experience better. By using the site you agree to our use of cookies.Learn more