User Interface

Overview

This is how the main window of ngSkinTools is laid out:

  1. Layers list: this is where you select active layer, and can also add/remove/arrange them;
  2. Influences list: select target influence to paint weights for, or a group of influences for some other operation;
  3. Influences filter: options for filtering influences list;
  4. Tools tabs: various tools for skin weights editing.

Layers list

The selected layer in this list is the active layer. When you paint, mirror, or perform any other weight setting operation, it targets currently selected layer. Some operations (like mirror) support multiple selected layers; use shift-select or ctrl-select to select multiple items in the list.

Layers can be added, edited and removed here using the context menu.

  • New Layer... - opens up a dialog for a new layer to be created. Enter the name

  • Duplicate Selected Layer(s) - makes a copy of selected layer; command supports multiple selected layers;

  • Delete Selected Layer(s) - selected layer is removed from layers list; command supports multiple selected layers;
  • Merge Layer Down - selected layer gets merged with the layer underneath it.
  • Move Current Layer Up, Move Current Layer Down: change the order of layer list. Layer order is important because upper layers override contents of lower layers;
  • Toggle Layer On/Off - enable/disable layer. Weights that were painted in disabled layers do not get added to the skin cluster.
  • Properties... - adjust properties of the selected layer.

    Layer opacity is one of the ways to control transparency in a layer; value 1.0 means that layer is 100% enabled, while 0.0 effectively turns layer off (0%)

Influences list

This list shows skin influences (joints) of currently selected mesh. Selected item in the list is an active influence, being a target for operations like paint, copy/paste, etc. Some operations support multiple selected influences, in that case, use ctrl-select (or shift-select) to select multiple items.

The list also contains a special item to select layer mask, and, if skinCluster "Skinning Method" is set to "Weight Blended", there's also an item to edit dual quaternion blend weights:

To make finding influences easier, use Influence Filter to list only those you currently need.

Use context menu for more operations:

  • Copy Influence Weights: for currently selected influence, copies values across all vertices into memory to be later used for Paste Weights operation.
  • Cut Influence Weights: same as "Copy", but sets influences to 0.0 after;
  • Paste Weights (Add): using weights previously stored in memory via Cut/Copy Influence Weights operation, merge them into the current influence;
  • Paste Weights (Replace): active influence values are replaced with weights previously stored in memory via Cut/Copy Influence Weights, discarding previous weights on the influence;
  • List All Influences: when this option is selected, Influences List shows all influences (unless further filtered by Influences Filter);
  • List Only Active Influences: when this option is selected, only those influences will be shown that have weights painted on currently active layer. This is a convenient option when you've got your layers painted and now jumping between them tweaking weights here and there - as you switch from layer to layer, you only see influences relevant to this selected layer. Obviously, if you want to add an influence to the layer, you'll have to switch back to List All Influences;
  • Convert Mask to Transparency: multiplies layer weights with mask value, and discards the mask; as a result, layer will behave the same (final transparency untouched), but it will no longer be provided by mask;
  • Convert Transparency to Mask: converts all layer transparency to mask value, and upscales weights on all vertices to a sum of 1.0; this mode is useful when you started painting your layer without mask, but now want to convert to mask workflow;
  • Show/Hide Influence Filter: toggles visibility of Influences Filter.

Influences filter

To narrow down the number of influences shown, enter a hint in Influence Filter: search box. You don't need to specify influence name precisely - try entering a fragment of what you're searching for, then refine the query when you get the results. Only influences matching the filter will be shown.

Some filter examples:

  • L_ will match influences "L_shoulder_joint, L_arm, jnt_l_finger1" - basically anything that contains string L_ in it's name. It's also case-insensitive;
  • L_ R_ will match "L_arm, R_arm" influences; when search terms are separated by space, this basically means "show anything that matches L_, as well as anything that matches R_";
  • L_*arm will match "L_upper_arm", "L_lower_arm_twist"; use placeholder * when you want to specify that influence name needs to match two fragments, with "anything in between" as *;
  • Combine queries as you see fit, like L_*arm*twist R_*arm*twist shoulder to limit the list to just arm and shoulders (query will probably differ based on your naming scheme).

Show all influences / Only influences with non-zero weights correspond to all / active influences in Influences list context menu, so it's just an alternate UI for the same feature.

Paint tab

Paint tab provides configuration to paint weights tool. It does not start internal Maya's default Paint Skin Weights Tool, as ngSkinTools has it's own implementation.

The UI will be disabled while the tool is not active; start the paint tool by clicking Paint button at the lower right corner (Paint button is replaced by Flood while paint tool is active);

Paint tool will always target last selected layer and influence, so select those in Layers/Influences list first.

Tool settings should be familiar for Maya users already:

  • Brush shape: changes the shape of the brush as well as it's opacity on the edges.
  • Mode: changes brush behavior; see Paint Modes;
  • Intensity: Overall intensity of the brush. For the convenience, this setting is saved per brush mode, and restored as you switch between them.
  • Brush Radius: while you can use this field to set brush radius, it's much more convenient to do it interactively: as everywhere else in Maya, hold "B" button and left-drag with the mouse to grow/shrink it.

Tab buttons:

  • Paint: Start the paint tool. Switches the mesh to weights preview mode, and you can start painting the values:

    You don't need to exit the tool to switch active layer or influence. Just select them in the Layers/Influences list and continue painting.

  • Flood: apply current paint operation to the whole selection. It's almost equivalent as if you'd spend the time to paint with current brush across the whole mesh/vertex selection.

    Note

    This feature is mostly useful when applying some smoothiness across the whole layer. Select Smooth mode, set intensity to a lower value, and hit Flood few times until you're satisfied with results.

  • Mirror: a shortcut to mirror operation, available in Mirror tab. This will not be available until mirroring info is initialized, so visit Mirror tab to start using it.

Paint modes:

  1. Replace: sets weight for an influence to specified value; when reducing weight, remainder is distributed to other influences in the layer; if there are no other influences in the layer, layer transparency is created instead.

    Note

    use CTRL key to invert intensity value. Intensity 1.0 becomes 0.0, 0.9 becomes 0.1, etc.

    Note

    use SHIFT key to switch to Smooth mode while painting.

  2. Add: appends value to the current weight of an influence. Use this mode with low intensity values (e.g. 0.1) to slightly increase influence weights over the paint area.

  3. Scale: multiplies current weight of an influence with intensity value. Use this mode to reduce influence weights over paint area when using high intensity values, like 0.9 or other values close to 1.0.

  4. Smooth: smooth weights in a paint area. This tool affects all influences, unless layer mask is selected. Weights are averaged slightly and deformation appears smoother.

Mirror tab

This is where options for mirroring can be adjusted.

Note

This is just a UI reference. For mirroring workflow, see mirroring section.

Mirror direction: Choose the direction of the mirror: copy right-side contents on to the left side, or vice versa?

  • Guess from stroke: tries to guess mirror direction based on last brush stroke you did. If most of your paint stroke was done on the left-hand-side of the character, it will behave like "Left to right" selection, and vice versa;
  • Left to right (+X to -X): will mirror weights of vertices that are on the positive side of X axis on to the verts on the negative side;
  • Right to left (-X to +X) will mirror weights of vertices that are on the negative side of X axis on to the verts on the positive side;

Note

Depending on mirror axis you selected, options might be named slightly differently ("top to bottom", "front to back"); when in doubt, refer to axis direction: "+Y to -Y", etc;

Mirror seam width: defines seam width (in scene distance units) between two sides; this allows for some automatic smoothing on vertices that are near mirror axis. Start with a small value, which basically results in sharp mirroring edge (as it is in standard Maya tools), and experiment with increasing it, which will make mirror operation have a falloff on the mirro seam.

See Mirror Seam to understand how this works.

Tab buttons:

Initialize: opens Init Weights Mirror dialog.
Mirror Weights: mirrors weights on selected layer(s) with the settings above.

Init Weights Mirror

Relax tab