Skinning nodes
Skinning nodes allow you to deform fur using curves (like
deformers<guide_curve_deformers>
) or
meshes. Currently, they require a clump region to be defined on the fur
node: either the default or a
named clump region<named_clump_region>
.
Clumps can be created with the
wmWigDetectClumps<clumps_detecting>
command. Each clump defines a set of strands that are deformed by a
single curve or mesh. It is not yet possible to bind a strand to
multiple curves or meshes (expanded binding).
The strands are transformed by interpolating the local deformations of the input curves / meshes, i.e. it boils down to linear blend skinning (hence the name of the node). The mode of the skinning node defines how the local geometric deformations are computed and how the strands are bound to the input geometries.
Modes
Currently, the skinning nodes have 3 different modes of operation:
- In the Curves mode, the strands are controlled by NURBS curves. This mode works exactly like guide curve deformers, but executes much faster. The local deformation at any point on a control curve is computed from the deformation of the skin surface at the root of the control curve, so the root of the control curves should be kept close to the skin surface.
- In the Surfaces mode, the strands are wrapped to the input meshes. The bindings are computed using the limit surface of the subd meshes. It is possible to use this mode with thin ribbons as control surfaces in order to emulate oriented curves (otherwise, it is not possible to control twisting in the Curves mode).
- The Cages mode also uses meshes to control the strands, but considers the local volume deformations of the meshes rather than their surface deformations. This means strands within the volume of a cage react properly to compression or dilation. The control meshes should be closed, otherwise the local volume deformations may not be well-defined. Outside the cage, strands are wrapped to the cage surface.
Changing the mode on a skinning node clears any existing bindings. They
can be restored using the
associated Maya command<skinning_node_command>
.
Controls
A few settings can be changed on the skinning nodes.
- Envelope: This works like a regular deformer envelope. The initial range is [0; 1], but it can accept values between -2 and 2.
- Deformation profile: This corresponds to the clump preservation
settings on the
guide curve deformer nodes<guide_curve_deformers>
. - Cling power: This corresponds to the wetness power attribute on
the
guide curve deformer nodes<guide_curve_deformers>
. It controls how wet strands are attracted towards the nearest guide segment/face. - Wetness bias: This corresponds to the wetness bias attribute on
the
guide curve deformer nodes<guide_curve_deformers>
. It changes the local wetness values of the strands before the deformation is computed.
Tip: The skinning nodes deforms the whole strands including their roots, and so the deformation profile can be used to ensure the roots stay on the skin surface.
Bindings
The following options for controlling the bindings are available on the skinning node.
- Clump region name: The name of the clump region to be used. If left empty, the default clump region are used.
- Degree: The degree attribute is used only in the Curves mode. It controls how many curve segments control each strand CV. By default each CV is bound to its 2 closest curve segments. Additional segments generate smoother deformations, but may also impact performance.
Warning: If these options are changed, it is required to rebind the skinning node in order to apply the new settings.
The wmWigSkinning command
The wmWigSkinning command allows you to create and rebind skinning nodes. It is similar to how the wmWigDeformer command interacts with deformer nodes.
To create a new node, run the wmWigSkinning -cn
command with both the
fur node and the control geometries selected (curves/meshes).
To rebind a skinning node, run the wmWigSkinning -rb
command with the
node selected.
Options
-help/-h:
Shows the help.
-createNode/-cn:
Create a new skinning node and attach it to the selected fur node.
Bindings are computed according to the selected control geometries and the clump region.
-name/-n <name>:
Set the name of the new skinning node.
-skinningMode/-sm <mode>:
Set the initial mode of the new skinning node. Accepted values are: "curves", "surfaces" and "cages".
If not set, the mode is set according to the control geometries ( "curves" for NURBS curves and "surfaces" for meshes ).
-clumpRegionName/-crn <name>:
Set the named clump region to use when binding the input geometries.
If none is given, then the default region is used.
-rebind/-rb:
Run an explicit re-bind on one or more skinning nodes in their current state (mode and clump region).
Note
Creating a new skinning node also does a bind, so you only need to run this if you want to change the mode, clump region, or input geometries of a skinning node.