Hair from Mesh Strips 

 

Overview 

Hair From Mesh Strips object allows you to use flat or cylindrical polygon meshes to generate hair along their surface. Hairs are generated from one edge of a mesh strip towards the opposite edge. The edge from which the hairs start growing can be specified manually per each strip, however, the hairs will be generated along the longest boundary of a mesh strip by default.

The polygon strips can be deformed, moved, or edited inside the scene and the Hair From Mesh Strips object will automatically adapt to these changes. You may use multiple strip objects, have one strip object with multiple strip elements, or have a combination of these options.

 

Videos 


Introduction to Hair from Mesh Strips

Modeling character hair with Hair from Mesh Strips

Hair from Mesh Strips overview in Spanish (English subtitles)
 

Creating Hair From Strips 

To create hair from strips select one or more mesh objects inside the scene and then click the Hair from Mesh Strips button on Ornatrix shelf.

If you add more strip objects inside the scene you can click on Add Strip Mesh button and select the object. Once strip hair is generated you may use any other procedural modifiers such as Curling, Render Settings, Frizz, and others for refining its shape.

 

Removing Strips 

To remove hair strips:
  1. Select the Hair from Mesh Strips operator in the hair operator stack
  2. In Attribute Editor scroll down to find the list of hair strips
  3. Select the strip to remove and click the Remove Strip Mesh button
 

Strip Mesh Requirements 

The polygon meshes defining the hair strips must meet a few requirements to properly generate hairs:

  • The strip mesh cannot contain triangles, especially not along any of its boundaries
  • It is highly recommended that the strip mesh have four boundaries. This means that there are a total of four edge loops going along the circumference of the strip mesh.
 

Modifying Strip Meshes 

After you have added one or more strip meshes into the hair from strips object you may use standard Maya deformers and nodes to edit them. The editing can include both geometrical and topological changes. If you change the mesh topology, however, please make sure that you do not break any aforementioned mesh requirement rules.

 

Strips Editing Mode 

Editing Mode allows you to select individual strips. Any changes to orientation of the strips will only be performed on the currently selected strips. The arrows at the tips of the strips indicate which direction strip hairs will be generated.

 

Selecting strips 

Once in strip editing mode you should see a base, direction, and tip arrow lines for each strip in the viewport. You can select strips by clicking on these line indicators using single or drag selection.

You can use Maya's selection modifiers keys (Shift and Ctrl) to add and subtract from selection.

 

Rotating strips 

Once you select one or more strips you can rotate the direction in which the hairs are generated along them. Press the Rotate Strips button to rotate the selected strips. Use the Direction drop down to specify how you want to change the orientation of the hairs on the strips.

 

Changing per-strip parameters 

Once you have selected one or more strips you can change their specific parameters by modifying the values in the Selected Mesh Strip Settings group of the Attribute Editor.

 

Resetting per-strip parameters back to global values 

If you wish to reset parameters of specific strips back to the global values select the strips in question and use the Reset button next to the respective parameter inside the Selected Mesh Strip Settings group of the Attribute Editor.

 

Parameters 

Hair from Mesh Strips operator contains two sets of configurable parameters: global and local. Global parameters will apply to all strips by default. Local parameters can be specified for specific strips to override their properties. You can always reset the local parameters for a strip to revert back to using the global parameters instead.

Global parameters can be found under the general Hair from Mesh Strips Settings group of the Attribute Editor. Local parameters can be found under the Selected Mesh Strip Settings group found lower in the Attribute Editor window.

 

Distribution 

Specifies how hairs are distributed on a mesh strip. There are three options:
  • Vertex Distribution: Hairs are generated per each boundary vertex on the strip. Thus the number of hairs depends on the strip mesh's boundary edge vertex count. The Hair Count parameter has no effect when this option is used.
  • Uniform Distribution: Hairs are generated at equal distances from one another.
  • Random Distribution: Hair are generated randomly along the strip's boundary edge.

This parameter can be set globally as well as per-strip.

 

Random Seed 

Determines the randomness of the generated hairs on the strip when Random Distribution is used. Also affects other random parameters of the hair strips such as the Volume randomization.

 

Hairs Per Strip 

Specifies the total number of hairs to generate inside mesh strips when using Uniform or Random distributions. This parameter can be set globally as well as per-strip.

 

View Percentage 

Specifies the percentage of Hairs Per Strip value which will be displayed inside the viewports. This allows the render version of the hairs to be much denser than that used in the views, thus allowing quicker preview while you are working inside the scene.

 

Points per Strand 

Specifies the number of points to generate along each hair strand. The bigger the value the more segments each hair will have.

 

Use Per-Strip Strand Groups 

This option will create a Strand Group from each hair strip. Those groups can be used in any other operator and will be preserved when adding a Guides From Hair operator on top.

 

Volume 

Use this value in conjunction with the Volume Ramp to offset hair points perpendicular to the strip mesh surface. This allows to add some volume to what are otherwise flat strip meshes. The hairs will be offset using this value randomly while respecting the ramp curve you specify.

This parameter can be set globally as well as per-strip.

 

Volume Normal Bias 

Set this parameter to a negative value (-1) to have the hair volume be generated entirely inside the cylinders.

 

Group Per Strip 

Allows specifying a strand group for the selected strips. These strand groups can then be used to allow specific operators to only affect the strips in question.

 

Add Strip Id Channel 

When on, a per-strand channel containing each hair's source mesh strip id will be created

 

Scripting 

The following MEL commands are available for this operator:

/* Rotates the currently selected strips using specified method.
Method can have one of the following values:
0 - Rotate
1 - Flip
2 - FlowDown
3 - FlowUp
4 - FlowLeft
5 - FlowRight
6 - FlowBack
7 - FlowForward
8 - TextureFlowDown (Texture coordinates in decreasing V direction)
9 - TextureFlowUp (Texture coordinates in increasing V direction)
10 - TextureFlowLeft (Texture coordinates in increasing U direction)
11 - TextureFlowRight (Texture coordinates in decreasing U direction) */
OxRotateMeshStrips( string $shapeObject, int $rotateMethod )