Relevant to Blender v2.31
Once the Armature - the 'character skeleton' - is ready it is necessary to parent the character 'skin' to it. Skinning is a technique for creating smooth mesh deformations with an armature. Essentially the skinning is the relationship between the vertices in a mesh and the bones of an armature, and how the transformations of each bone will affect the position of the mesh vertices.
When making a child of an armature, several options are presented:
In this case, a popup menu appears allowing you to choose which bone should be the parent of the child(ren) objects. This is great for robots, whose body parts are separate meshes which are not expected to bend and deform when moving.
Choosing this option will deform the child(ren) mesh(es) according to their vertex groups. If the child meshes don't have any vertex groups, they will be subject to automatic skinning. Indeed a second menu appears, asking:
Don't create groups
-
does nothing else, automatic skinning is used;
Name Groups
-
creates empty vertex groups whose names matches the bone names,
but no vertices are assigned to them;
Create from closest bone
-
you want to create and populate automatically vertex groups.
Choosing this option will cause the child(ren) to consider the armature to be an Empty for all intents and purposes.
If you are going for character animation then most of the times
you will parent your character to the Armature using the "Armature"
Option. You are strongly advised to use the
Name Groups
option.
This will provide you with the groups already created, saving the
tedious operations of creating an naming them,
and possibly avoiding typing errors.
The Create from closest bone
feature
is currently under heavy development. It will use the
"Bone types" which can be defined via the menu right of
the IK
Tog Buttons (Figure 16.4, “EditButtons for an Armature”)
for optimal result.
Currently only the Skinnable
and
Unskinnable
options are working. The first option makes Vertex Group be
created (and populated, if this is asked for) for the given bone,
the second option causes that bone to be ignored in the skinning process.
The current vertex assignment algorithm creates non-optimal vertex groups, hence it is highly recommended to check each group, one by one.
If a mesh does not have any vertex groups, and it is made the child of an armature, Blender will attempt to calculate deformation information on the fly. This is very slow and is not recommended. It is advisable to create and use vertex groups instead.
The Weight
and Dist
settings next to the IK
are only used by the
automatic skinning
which is a deprecated feature because it requires lot of CPU, produces
slow downs and worse result than other methods.
Vertex groups are necessary to define which bones deform which vertices. A vertex can be a member of several groups, in which case its deformation will be a weighted average of the deformations of the bones it is assigned to. In this way it is possible to create smooth joints.
To add a new vertex group to a mesh, you must be in Edit Mode. Create
a new vertex group by clicking on the New
button
in the mesh's
Edit Buttons Mesh Tools 1
Panel
(Figure 16.6, “Vertex Groups”).
A vertex group can be subsequently deleted by clicking on the
Delete
button.
Change the active group by choosing one from the pull-down group menu.
Vertex groups must have the same names as the bones that will manipulate them. Both spelling and capitalization matter. This is why automatic name creation is so useful! Rename a vertex group by SHIFT-LMB on the name button and typing a new name. Note that vertex group names must be unique within a given mesh.
Vertices can be assigned to the active group by selecting them and
clicking the Assign
button. Depending on the setting of the
Weight
button, the vertices will receive more or less influence
from the bone. This weighting is only important for vertices that are
members of more than one bone. The weight setting is not an absolute
value; rather it is a relative one. For each vertex, the system
calculates the sum of the weights of all of the bones that affect the
vertex. The transformations of each bone are then divided by this
amount meaning that each vertex always receives exactly 100%
deformation.
Assigning 0 weight to a vertex will effectively remove it from the active group.
To remove vertices from the current group select them and click
the Remove
button.
Pressing the Select
button will add the
vertices assigned to the
current group to the selection set. Pressing the Deselect
button
will remove the vertices assigned to the current group from the
selection set. This is handy to check which vertices are in which group.
Weight painting is an alternate technique for assigning weights to vertices in vertex groups. The user can "paint" weights onto the model and see the results in real-time. This makes smooth joints easier to achieve.
To activate weight-painting mode, select a mesh with vertex groups and click on the weight paint icon (Figure 16.7, “Weight Paint Button.”).
The active mesh will be displayed in Weight-Colour mode. In this mode dark blue represents areas with no weight from the current group and red represent areas with full weight. Only one group can be visualized at a time. Changing the active vertex group in the Edit Buttons will change the weight painting display.
Weights are painted onto the mesh using techniques similar to those
used for vertex painting, with a few exceptions.
The "colour" is the weight value specified in the mesh's
Edit Buttons. The opacity
slider in the vertex paint Buttons is
used to modulate the weight.
To erase weight from vertices, set the weight to "0" and start painting.
It is quite easy to change the weight since TAB will take you out of Weight Paint Mode into Edit Mode and Panels will automatically match the Context.