TABLE OF CONTENTS
Convert
Convert is used to convert input grooms and guide curves ( strands ) to fibres and back. This is useful for using procedural node to affect the look of a groom or make it possible to groom one set of Fibres with another. If converting from Strands to Fibres it’s recommended to provide the Second input which is the Mesh that the Groom/Guides were originally created on.
Input | Type | Description |
---|
0 | Data Flow or Strands | Fibres, Feathers, Braids or Groom/Guides |
1 | Data Flow | Mesh |
Parameter | Description |
---|
Conversion Type | Used to select if you want Yeti to convert Fibres to Strands, Strands to Fibres, Feathers to Fibres or Braids to Fibres. |
Radius of Influence | When converting from Fibres to Strands and the Fibres weren’t originally Strands ( ie. previously converted ) then this is used to specify the radius of influence for the Strands |
Braid Density | This provides a means of modulating the evaluated braid density when converting braids too fibres. |
File
The File node can be used to read geometry data from files on disk - currently only the Alembic file format is supported.
Parameter | Description |
---|
File | The input file name, standard C string formatting can be used to resolve the frame number, ie. %04d for a four zero padded frame number. |
Query | A regular expression used to query for specific object names within the file. |
Preserve Scene Transform | Offset the objects stored transform with that of the Yeti nodes. |
Animation
Parameter | Description |
---|
Frame | The frame number to be used if resolving a frame variable in the reference file name. |
FPS | Frame rate to use when resolving the frame time. |
Start Time | Offset the time read from the input file. |
Time Scale | Used to scale the time samples read from the input file. |
Grow
The Grow node is used to create fibres ( fur/hair ) using input particle locations as the seed for each fibre. Yeti loops over each input particle and determines various potential attributes for each which may include length and direction. The new fibres will follow the final resolved direction ( which defaults to $N ) and will be made up of Segment Length long segments. Grooms and Guides can be used as a second input which are sampled for their length which is applied to the final potential length of a Fibre - this will only set the length of the fibre with a Comb or Guide node needed to set the shape/direction downstream.
Input | Type | Description |
---|
0 | Data Flow | Particles |
1 | Strands | Groom/Guide Curves used to control the length of the created fibres. |
Parameter | Description |
---|
Direction | Specify the direction of the fibre, defaults to $N which is the surface normal. |
Minimum/Maximum Length | The shortest and longest possible lengths for the fibres, these may be modulated by any input Strand lengths. |
Length Multiplier | A means of increasing the overall length of the fibres. |
Length Bias | Used to control if the bias between the number of shorter and longer fibres. 0 is evenly distributed, -1 means mostly short fibres and 1 is mostly long fibres. |
Segment Count | The number of segments per fibre. |
Inherit Attributes | Defines a list of attributes, each separated by a space, that will be inherited from the geometry the fibres are growing from. |
Import
The Import node is used to reference geometry in the graph - this can be anything that has been specified as an input in the Maya node. The node can represent Geometry, Grooms or Guides and once specified can be connected to the appropriate node inputs to control the flow of the graph. An Import is generally the very first node used as without one there is no base mesh to create the fur.
The Selection parameter is extremely important, and is used to search for the name of geometry being read into the graph. This association is by name only thus if for some reason an object in Maya changes the Import node will fail to resolve the reference. There are many instances where part of a name may change, like when caches are applied Maya adds Deformed to the name, so it’s recommended to use wildcards to make sure any variation on the name is successful.
For example, if you are referencing a mesh named myHerosHead01Shape it might be more flexible to use *Head* - this means not only can the Groom be applied to myHerosHead01Deformed but also anotherHerosHead02Deformed which makes it easy to reuse the Groom for crowds etc.
Parameter | Description |
---|
Selection | The name of the geometry you want to represent, this can be an explicit name or a name with wildcards. |
Type | What type of geometry this is going to represent, a mesh, guide curve set, groom, feather or braid. |
Instance
The Instance node is a way of creating controlled duplicates of geometry, whether mesh or fibres, connected to Input 1 at every point or element in Input 0.
Input | Type | Description |
---|
0 | Data Flow | Fibres, Particles and Meshes |
1 | Data Flow | Fibres, Particles and Meshes |
Parameter | Description |
---|
Instance To | Elements tells the node to instance on a per element ( fibre ) basis where as Points will instance to all the incoming points. |
Alignment | Either a variable or static expression used to align the instance. |
Alignment Variation | Means of introducing random variation into the resulting alignment. |
Offset | Per instance offset, a possible value may be “$N * 0.1” to shift all of the instances 0.1 units away from the surface. |
Scale | Per instance scale, this could be an expression, eg. “noise($id * 10)” |
Scale Variation | Used to randomize the resulting scale. |
Twist | Twists the new instance around the resulting axis. |
Twist Variation | Varies each instances twist value. |
Up Vector | An up vector in determining the instances orientation. |
Axis Of Alignment | Defines what axis in the input object will be aligned to the Alignment vector. |
Objects
Parameter | Description |
---|
Source Objects | In the case where Input1 has multiple input objects you may limit it to just the first, or all of them. |
Object Expression | If Input1 contains multiple objects this is an expression used to determine which object to use for the current instance. For multiple objects a cycle expression can be used to cycle through the multiple inputs, eg. “cycle($id, 0, 5 )” |
Inherit Attributes | Defines a list of attributes, each separated by a space, that will be inherited from the geometry the instances are assigned too. |
Deform | Controls if instances will deform to the shape of the fibres being instanced too, this requires input fibres, and the mode set to Elements. |
Generate As | As Input will reuse as much data to create a completely new geometric representation of the object ( original method ), As Instance will try and use the rendering engines instancing implementation. |
Selection
Parameter | Description |
---|
Point Selection | Allows the user to write a boolean based selection to define which points are instanced too in an element. |
Element Point Index | Used to define which point in an element is used for an instance. |
Local Variables
Variable | Description |
---|
instanceNum | The instance index. |
InstanceCount | The number of instances. |
vertexNum | The vertex index for the current instance in the element. |
vertexCount | Number of vertices in an element. |
Reference
The Reference node can be used to reference a previously cached Groom off disk - this becomes useful for storing libraries of base results to be used for instancing or other larger scale procedural systems. An animated input can also be used if %04d is supplied for the frame.
Parameter | Description |
---|
Reference File | The input file name, standard string formatting can be used to resolve the frame number, ie. %04d for a four zero padded frame number. |
Frame | The frame number to be used if resolving a frame variable in the reference file name. |
Scatter
The Scatter node is used to randomly scatter particles over the input geometry, the various parameters and inputs can be used to limit the location/density of the scattered points as well as how evenly they are spaced. If a second input is connected this may have an attribute used to control the density of the particles, by default Scatter looks for an attribute named density but any can be used, as long as the Groom Attribute parameter is set correctly.
Input | Type | Description |
---|
0 | Data Flow | Mesh or Fibres |
1 | Strands | Groom/Guide Curves which may have an attribute painted to control the density. |
Parameter | Description |
---|
Density Multiplier | A density value is usually defined between 0-1, if you have an input Groom to control the density this is usually the case. This value is a multiplier on top of the base density. |
Density | The density, based on input area. This is overridden if Input 1 is connected. |
Lock Density | In some cases ( such as with clumping ) you need to make sure a specific density is retained even if rendering, this will make sure the Scatter node produces the same points regardless of the Display and Render densities. |
Seed | A random seed value used to generate the points and also passed through the flow to any other connected nodes that may require random number evaluation. |
Groom Attribute | The attribute that defines the density of the points if Input 1 is connected. |
Source Object(s) | If more than one mesh is imported up stream this provides a means of generating points either on the first mesh, or all of them. |
Face Set | Limits the creation of source points to faces only contained within the named face set ( if it exists ). |
Ignore Region of Interest | Point generation will ignore the bound limits set by the current region of interest, if any. |
Fibres
Parameter | Description |
---|
Base/Tip Density | Will modulate the density of the scattered particles along the length of the input fibre. |
Up Vector | Used with the tangent of the input fibre to compute a decent random normal for the resulting particles. |
Distribution
Parameter | Description |
---|
Relax Steps | By default Scatter creates fairly random points, by increasing the relaxation steps the points relax their positions which result in a more even and regular distribution ( which is generally what you need for feathers ). |
Obey Face Set | Toggles whether the relax process is contained within the defined face set or not. |