Each layer has transparency. Just like in image editing, you most probably want upper layers to be "seen through", so that lower layers can be uncovered where needed.
To make a vertex "transparent" in a layer, you can do three things:
- Paint weights on the vertex so that the sum of all weights is below 1.0.
- Use Layer Masks.
- Adjust overall layer opacity in layer properties (see UI for details)
While for a quick result, option 1 might seam feasible, a much more reliable way of controlling layer transparency is via mask.
You might have noticed that a first item in "influences" list is
[Layer Mask]. It is a multiplier for the whole layer.
Described behavior was introduced in version 1.4. Previously some weight upscaling was being happenning as well in some cases.
Weights in each layer are normalized so that sum of weights per each vertex does not exceed 1.0. This is not configurable and there's no way to enable "post-normalization" like there is in the skin cluster.
However, layers do allow sum of weights to be lower than 1.0. These all are valid weights in a layer:
|vertex #||joint 1||joint 2||joint 3||(comment)|
|0||0.2||0.8||0||sum of weights: 1.0; no transparency.|
|2||0.2||0.4||0||sum: 0.6; vertex has 40% transparency|
When you're editing weights, these rules of automatic weight normalization are applied:
- Weight for current influence is restricted to
[0..1]range, and otherwise is not modified. Painting "replace joint1 with value 0.6" results in exact value 0.6 on joint1;
- If needed, weights on other influences are reduced proportionally to accommodate the change;
- Weights on other influences are ONLY reduced, never upscaled; if you paint "replace 0.0 on joint 1", this does not mean that weight will be distributed on other joints in the layer;
- For "smooth" paint mode, current influence does not exist and all weights are treated equally.
Example weight transitions for changes being made to a single vertex:
|State||joint 1||joint 2||joint 3|
|Replace weights on
|Add 0.1 on
|Add 0.1 on
|Scale 0.5 on