The weightDriver node offers two modes for creating driving relationships.

Vector Angle is a cone based pose reader to overcome rotational issues due to Euler rotations. While simple rotation dependencies can be mostly solved with expressions or set driven keys more elaborate setups are bound to fail when two or more axes are involved. A vector angle reader is usually a good an inexpensive solution in these cases.

For more complex setups the RBF mode (Radial Basis Function) delivers the best way of interpolating an arbitrary number of values based on any number of poses. This way it’s possible to basically drive anything from anything. The most common usage for a RBF solver is the blending of corrective shapes or blend shapes in general. Especially when it comes to problematic areas like the shoulder, wrist or hip area. The RBF mode can easily blend between different corrective shapes based off the orientation of the joint.

 

Maya versions 2012, 2013, 2014, 2015, 2016, 2016.5, 2017, 2018 on OS X, Windows 64 bit, Linux 64 bit.

Please see the general install guide.

weightDriverEditRBF
This command automatically loads the plug-in and opens the Weight Driver Editor

createNode weightDriver
Creates a new weightDriver node manually.

In order to make the node work correctly you need to establish two connections.

The first tells the node the reference point for the vector calculation and is usually the transform node of the weightDriver shape node. The second connection comes from the node which serves as the target point for the vector, such as a locator, joint or other node.

  • connect the weightDriver transform node worldMatrix to the weightDriverShape readerMatrix
    (depending on the editor you use you might have to display hidden attributes in oder to see the reader and driver inputs)
  • create a locator and connect the locator transform node worldMatrix attribute to the weightDriverShape driverMatrix
  • with both connections established the weightDriver node now displays the driver name and weight, which is the outWeight attribute you can now connect to any attribute you want to drive, for example a blend shape channel.

For an explanation of all weightDriver attributes please refer to the SHAPES User Guide.

In most cases using the designated editor to create or edit a RBF setup is sufficient and the preferred way.
However, in some cases it might be necessary to manually setup the weightDriver in RBF mode.
In general, the following should be considered:

  • Rest Poses

Rest poses, if needed, should come first in the post list.

The reason for this is that Maya stores sparse arrays for it’s attributes, which means that if an
array attribute contains a zero, it won’t get stored in the file. Rest poses often have many zeros
and thus aren’t stored correctly. This can cause false RBF behavior when loading a scene file.
If a pose, with zero values for the input and pose values is placed at the end of the pose list
the weight driver is unable to tell how many poses there are when loading a scene file.

  • Successive Pose IDs

When connecting attributes manually without the Weight Driver Editor all connections should
be made in successive order, starting at index 0. Indices should not be skipped.
When using the editor, this is not an issue, because even if poses get deleted the resulting setup
will always have the poses in successive order.

Again, this has to do with Maya’s sparse arrays. Manually skipping one or more indices can lead
to a false RBF behavior.

Version 3.0, updated 2017-02-14