How is the vertex weight calculated when using the vertex weight box?

Page update date :
Page creation date :

By using the vertex weight box, you can associate bones with vertices, but how it is calculated is described below.

As an example, let's use a human arm. In the figure below, assume that the bones named "hand", "under the elbow", "above the elbow", and "shoulder" are connected from the left.

手、肘下、肘上、肩

First, suppose that the vertex weight box associated with "below the elbow" is placed around the vertex as shown below.

肘下のボックス

Then, the apex weight of the bone under the elbow is assigned as shown below.

ウエイトの割り当て

By the way, 1.0 is a vertex that follows the movement of the specified bone 100%, and 0.0 means a vertex that does not respond to the movement of the specified bone at all.

If you move the bone under the elbow with the vertex weight specified in this way, the vertex to the right of the elbow will not move at all, and the vertex from the middle of the elbow to the bottom of the elbow will move 100% with the bone.

Now suppose you place the box associated with the elbow around the elbow vertex as shown below. The middle of the elbow will be surrounded by two boxes. Then, the apex weights below the elbow and above the elbow are assigned as shown below.

肘下のブレンドしたウエイト

肘上のブレンドしたウエイト

In this way, we can see that vertices surrounded by two or more boxes are assigned a smooth weight value. The apex weight value of the elbow in the above case varies to some extent depending on the size of the overlapping boxes, so please adjust it in various ways.

Below is a diagram of this state when the bone is moved in the animation.

なめらかな関節

If you don't stack the elbow part like the bottom, you can see that the movement will be a little jittery.

ブレンドしないウエイト

カクカクした関節

By the way, a vertex can be associated with up to four bones. Five or more are rounded down to four.