Binding (Assign Armature)
Skinning is the process of creating an association between a Mesh (the Skin) and a Rig. More specifically in the Skinning process we define associations for each bone of the Rig’s Skeleton to each vertex of a mesh. In practice, for a polygonal mesh character, each bone is associated only with a subset of the character’s vertices.
Portions of the character’s skin can be influenced by 2 or more bones, where each vertex of the affected area gets an influence factor to each associated Bone. This factor is also called Vertex Weight. Thus the influence of each bone on a specific Vertex is defined by its Vertex Weight.
The process of Skinning includes:
- Binding the Character to the rig in a specific Pose (basically establishing an association between the Rig and the Mesh)
- Weighting the Mesh to the Armature bones (create the Vertex Weights)
- Bind to Armature
- Unbind from Armature
For your convenience we have added a Bind to Armature button within the Skinning Tools Panel in the Tool shelf. This button and its associated properties only appear when you have selected at least one Mesh and one Avastar Armature as described above.
The Weight Option allows to select from where the initial weight maps will be generated. The 5 check marks below the Weight Option provide more basic fine adjustment (see below for details).
Note: You can not expect that this function automatically creates optimal results! So you must be prepared to fine adjust your weights manually. Please look at the Create an Attachment tutorial on this website.
How to prepare your Meshes for binding
Ensure that the mesh does not have any implicit scale or rotation from one of its parent objects. This issue typically happens when your mesh is still parented to another object (Mesh, Rig, Empty,…) which has a scale and or rotation defined. Or when you have added scale and rotation to your Mesh Object(s) in Object mode.
If Avastar detects this issue, it displays a warning message right in the Binding Panel and it disables the binding button (button turns red).
Click the fix button in the Skinning Tools (see image) or do it manually as follows:
- Select the Mesh
- Object -> Parent -> Clear and Keep Transformation
- Object -> Apply -> Rotation and Scale
This cleanup avoids unexpected behavior and it ensures that your object can be bound to another rig without distortions.
Right after you have bound your mesh(es) to your Avastar Rig, the bind panel is replaced by an unbind panel where you can revert your binding with 2 extra options:
Note: The number in parentheses in the Unbind from Armature button tells you how many of the selected mesh objects will be affected (3 in the image above). The number in parentheses in the Appearance control label tells you how many of the selected custom mesh objects will be affected (1 in the image above)
The Panel Options
This Property defines from where the Bound meshes will get their initial weights. We support following weight sources:
Avastar: The weight maps are copied from the Avastar System character. Provided the system character meshes are available in the current Armature.
Hint: The automatic weight assignment sometimes runs into an issue where it can not find solutions for one or more vertices. This is typically due to intersecting and/or unconnected mesh parts in your object.
This option will only create missing weight maps. Weight maps which already exist in the Mesh will not be touched and kept as they are.
Hint: The Empty option should be rarely used. In almost every case you will be better with the next option.
This option is almost identical with the Empty option, only you will not be cluttered with empty weight Maps. Since weight maps are created on the fly during your weighting activities, in almost every case this option is the best to use when you intend to create your own weight maps.
Note: Directly after a mesh was bound to an Armature, you will find this section replaced by the weight map Control section from where you can regenerate your weights completely or partially at any time. For more details see in the skinning help section.
The weight operators only replace weights. Hence if your weight maps already contain weights for whichever reason, then all weights which are not replaced by the weight generators will be kept as they are.
When this option is selected, then Avastar will first remove all weights from affected weight groups so that the weight generators will operate on fresh weight groups.
If this option is checked, then only the currently selected vertices will receive mesh weights.
Hint: The Clear Weights option (see above) always cleans the entire weight map even when the Selected Verts option is enabled.
By default the Eye Bones are considered to not influence any other parts than the eyes them self. this avoids weird weighting results in the face where eyes and meshes typically intersect partially, thus the weighting generators often create bad results.
When this option is set, the eye bones are treated by he weight generators exactly like all other bones.
Interpolate (only available with Weight:Meshes)
If this option is checked together with the “with weight copy option”, then Avastar subdivides the source meshes (meshes attached to the armature and currently visible) to get a smoother distribution of the weight values on the target mesh.
The operator Redo Panel
Right after binding a Mesh to an Avastar Rig you find an additional panel at the bottom of the Tool shelf (on the left side of the 3D View). Here you have some options to modify what just was processed .
Note: As soon as you change a property in this window the entire bind process is automatically redone with the modified option.
Alter to Rest Pose (only in experimental settings, deprecated!)
The current Pose of the Armature is also taken into account (see note below). It is mandatory that
- either the mesh has already been weighted
- or the weight-Meshes or Weight-Bones option is enabled (see above).
What is Alter mesh to Rest Pose ?
First of all: This technique is very outdated. You should not use it by any means. We keep this function available only for the history and for very special cases where the creator (you) know exactly what happens behind the scene! So, we warned you. Now you are on your own:
This video is about what the Alter to Restpose feature actually does for you
Below you find some explanation.
In principle this option does the equivalent of the following procedure:
- The current pose (“mesh pose”) is made the armature’s default pose.
- The mesh is parented to the new default pose
- The pose is set to the actual T-Pose (and the mesh gets bent into T-Pose)
- The mesh is frozen (pose applied and mesh unbound from the armature)
- The armature’s default pose is set back to T-Pose
- The mesh is parented to T-Pose.
- When now the armature is posed into the original “mesh pose” then the mesh looks exactly like it looked when it was not yet parented.
Avastar does not step through the above process, but instead calculates the needed modifications and applies them directly to the mesh, then parents to the Avastar Rest pose (T-Pose).