On this page |
The Mantra Fur Procedural creates a set of curves to represent hairs growing out from surface polygons or a point cloud. CVEX shaders can be applied to manipulate attributes and the shape of the generated curves.
When surface polygons are provided, the number of generated curves is a result
of the density multiplied by the area of the skin polygons. The area of the
skin polygons is taken from the optional area
attribute or calculated from
the vertex positions described by the optional rest
attribute or point
positions.
The optional second input provides guide curves. The shape of the guide
curves are interpolated to determine the shape of the generated curves
(before CVEX shaders are applied) ignoring the Length and Vertices,
on the Mantra Fur Procedural. Specify a Float3 primitive attribute called
guideorigin
on the guide curve geometry to use location-based interpolation.
When the guideorigin
attribute is present, Guide Radius will indicate
the size of the area influenced by each guide curve.
The optional third input provides clump curves. The clumporigin
and
clumpradius
attributes on the clump curves are used to map each generated
curve to a clump.
The optional fourth input provides curves for parting lines.
Attributes ¶
The Mantra Fur Procedural uses the following attributes from the input geometries.
Name | Source | Class | Type | Description |
---|---|---|---|---|
area | Skin | Primitive | Float | This attribute describes the area of each polygon in the skin geometry. This affects the number of curves generated by the primitive. This attribute is optional, if missing the area of each primitive will be computed. |
clumporigin | Clumps | Primitive | Float3 | Describes where each clump originates on the rest skin. |
clumpradius | Clumps | Primitive | Float | Maximum distance from the clump origin hairs may originate and still be a member of the clump. |
furdensity | Skin | Any | Float | This attribute is used as a scalar multiplier to the Density parameter and affects the number of generated curves. If this value is reduced by a CVEX skin shader, some curves will be removed to reflect the lowered density value. This attribute is optional, if missing a value of 1 is used. |
guideorigin | Guides | Primitive | Float3 | Describes where each guide originates on the rest skin. |
guideradius | Guides | Primitive | Float | Maximum distance from the guide origin hairs may originate and still be affected by the guide. |
N | Skin | Point | Float3 | If guide hairs are not used, this attribute describes the direction of generated curves. |
rest | Skin | Point or Vertex | Float3 | This attribute describes the rest position of each point in the skin geometry. This affects the calculation of each polygon’s area when determining the number of generated curves. This value is also used to map each generated curve to a clump. This attribute is optional, if missing the point’s position is used. |
The Mantra Fur Procedural makes the following special attributes available to the CVEX shaders.
Name | Class | Type | Description |
---|---|---|---|
clumpP | Vertex | Float3 | Describes the position of each vertex in the associated clump hair. This attribute is only available in the Guide Shader. |
clumproot | Primitive | Float3 | Describes the position on the skin from which each clump hair is grown. |
hairid | Primitive | Integer | Contains a unique ID for each generated curve. This is a read-only attribute. |
hairroot | Primitive | Float3 | Describes the position on the skin from which each hair is grown. |
hairdist | Vertex | Float |
Describes each vertex’s parameterized distance along the curve in the [0, 1] range. This attribute is only available in the Guide Shader.
|
P | Point | (point position) | Describes the position of each vertex in the generated hairs. This attribute is only available in the Guide Shader. |
restxdir | Primitive | Float3 |
Describes the x-axis direction of the rest attribute as a world space direction. The Fur SOP only provides this value if surface polygons are used to describe the skin.
|
restydir | Primitive | Float3 |
Describes the y-axis direction of the rest attribute as a world space direction. The Fur SOP only provides this value if surface polygons are used to describe the skin.
|
restzdir | Primitive | Float3 |
Describes the z-axis direction of the rest attribute as a world space direction. The Fur SOP only provides this value if surface polygons are used to describe the skin.
|
The Mantra Fur Procedural can be used to interpolate (and manipulate using CVEX shaders) any attribute. The following are some related attributes used by mantra.
Name | Type | Description |
---|---|---|
orient | Float3 | Hint direction for orienting the ribbons used to represent curves. |
width | Float | Width of the rendered curves. |
Parameters ¶
Main ¶
Skin
Path to an object containing skin geometry.
Guides
Path to an object containing guide hairs.
Clumps
Path to an object containing clump center geometry.
Expand Bounds
Allows you to adjust the bounds of the bounding box to compensate for any fur that may have been moved outside of the original bounds by a shader.
Fur ¶
Group
Primitives in the skin geometry from which to grow hair.
Primitive Type
Type of geometry to create.
Polygon
Create a polyline.
NURBS
Create a NURBS curve.
Segments
Number of segments in each generated curve (ignored if geometry is provided by the “Guides” input).
Length
Specifies the length of the generated curves.
Seed
Seed value for the random number generator.
Density
The number of generated curves is a result of the density
multiplied by the area of the skin polygons. The value of this
parameter acts as a scalar multiplier to the optional furdensity
attribute to determine the curve density.
Display Ratio
Specifies a fraction of the curves to display.
Guide Radius
Maximum distance a hair can be from a guide hair and still be influenced by the guide hair.
Clump Radius
Maximum distance a hair can be from a clump and still be a member of the clump.
Use Closest Clump
Associates each hair with its closest clump.
Remove Unclumped Hairs
Removes all hairs not associated with a clump.
Remove Unguided Hairs
Removes all hairs not influenced by a guide hair.
Parting Radius
Maximum distance a hair can be from a parting line and still be affected by the parting line.
Attributes ¶
Skin ¶
Skin Shader
The Skin Shader parameter specifies a CVEX SHOP to manipulate
attributes interpolated from the skin geometry. Each attribute
has a single value for each generated curve. A unique value for
each curve is available for reading in the hairid
value. In
the case of the furdensity
variable, reducing the value will
result in hairs being removed but increasing the value has no
effect.
New Class
Class for transferred attributes.
Transfer Attributes
Specifies a list of attributes from the skin geometry that will be transferred to the generated curves. The resulting attribute values will contain any modifications made by CVEX shaders.
Set Hair ID
Creates a hairid
attribute containing a unique value for each
generated curve.
Guide ¶
Guide Shader
The Guide Shader parameter specifies a CVEX SHOP to manipulate
attributes interpolated from the guide and clump geometries. Each
attribute has a separate value for each vertex in the generated
curves. The special P
variable may be used to manipulate the
vertex position.
New Class
Class for transferred attributes.
Transfer Attributes
Specifies a list of attributes from the guide and clump curves that will be transferred to the generated curves. The resulting attribute values will contain any modifications made by CVEX shaders.
IFD Bounds ¶
Bounding Box
The bounding box controls let you specify a bounding box for the referenced geometry. Only when this bounding box is “on screen” will mantra load the referenced geometry. You can set Bounding Box to No bounding box required, in which case mantra will always load the references geometry regardless. You can also specify the bounding box by referencing the SOP’s bounding box in the SOP Bounds parameter.
SOP Bounds
The geometry whose bounding box you want to reference.
Min Bounds
The minimum bounding box dimensions, when setting explicit bounds.
Max Bounds
The maximum bounding box dimensions, when setting explicit bounds.