Ground Strands
When you have a set of curves defining the hair guides without any surface beneath them you can use the GroundStrandsNode operator to assign a distribution surface to them. This distribution surface can then be used to generate dense hair from the guides. Ground Strands operator projects the guides onto a mesh to figure out the closest point on the surface to each guide root. This projected surface point is used to determine texture coordinates and to update the guide position in the future when the mesh surface changes and deforms due to animation.
Guides are grounded to a suface mesh (Start at 1:30)
Mechanism
'Floating' strands are re-projected onto the surface and assigned new surface info
Grounding in Ornatrix is the process of attaching surface dependance information to a strand (hair or guides) object. To do this strands are 'projected' onto base mesh. Once every strand root's position relative to the mesh is determined it is cached and attached to the strands as surface info that flows up in the pipeline. Surface info is often required to compute UV coordinates, to deform guides with mesh, and to inherit other surface-related properties for modifiers such as surface comb.
To make the best use of strand ground plugin you need to understand a couple of things that it does:- Ornatrix always assumes that its hair are located in the same object space as the distribution mesh (ie. all operations with mesh vertices and hair strands are done in same space). Therefore, ground strand operator will align the hair node you chose to ground with the selected distribution node. You can see this if you disable ground operator and your previous guides aren't aligned as they're used to. This step is very necessary for further operations on guides.
- Ground strands will use closest triangles for each guide to find a suitable place to put it. If a guide's tip is closer to a triangle than its root, it will be flipped (ie. its root considered its tip). This ensures that guides retain their relative shape, however, in some rare cases it can cause some guides to stick to undesired surface points.
Parameters
- Ground Closest End
When turned on, each strand will be checked for which of its end is closest to the distribution object. That end will then be considered the root of the hair. If the option is off, the strand end with the smallest vertex index will be grounded as root.
- Dynamic Grounding
When on, the hair stands will be grounded when they are evaluated the first time. This is specially useful for dense hair when the viewport hair count it's different from the render hair count. The hair strands visible in the viewport will be grounded first, and the render hairs will be grounded on the first frame of the animation while rendering. The user should make sure that the render hairs are grounded on an appropriate character's relaxed at frame 0.
- Set Positions
When on, applying the grounding will update the locations of each strand's root according to mesh deformation.
- Set Texture Coordinates
When on, texture coordinates for the first channel will be generated and assigned to the hair from its newly grounded surface. This is useful if you want to paint texture maps to style the hairs and to allow proper hair shading. The hair object needs texture coordinates for all the Multiplier Values to work correctly.
- Set Rotations
When on, applying the grounding will rotate each strand according to mesh deformations.
Grounding strands
To assign a distribution surface to guides or hair in Ornatrix:
- Add a Ground Strands operator from Ornatrix menu and select it in the hair operator stack
- In Maya's Attribute Editor click the Set Distribution Mesh button
- Select the distribution surface mesh inside the viewport. The name of the selected distribution mesh will now appear on the button.
- Click the Attach Roots button in the Attribute Editor. When roots are attached this button will turn from gray to green.
The strands should now be projected onto the surface and follow it as it deforms.
Ungrounding strands
To stop the operator from attaching strands to the distribution surface surface press the Detach Roots button.
Position blend ramp
This curve ramp allows you to specify the effect, along the strands length, that the grounding will have on the resulting strands. Value of 1 indicates that the points of target strands should be moved into position of being attached to the surface. Value of 0 indicates that points should remain unaffected by this operator.
As a result you can, for example, leave the tips of the strands unaffected by this operator while having the roots be moved in such a way that they are attached to the mesh surface.