Inspecting the Weight Maps

We assume you have already bound your Mesh to the Armature and you have generated the Weights for your mesh by using Weight from Bones as described in the previous chapter (you used Bones as the weight source). Blender does a rather good job on automatically determining the weights. However the results are sometimes not yet perfect. So the very first thing that you must do now is to check if the Mesh behaves nicely and follows the animation of the armature. Here are a few tips for getting started.

Prepare the Workspace

  • Select your Mesh
  • Enter Edit Mode !!!
  • Open the Overlays panel

We use the following settings for this tutorial:

  • Mesh Edit Mode: Edges
  • Vertex Group Weights: Enabled
  • Zero Weights: All

Explain:

  • Disabling Faces gives more emphasize on the weight colors.
  • Enabling edges for some reason adds the dots in the center of faces
  • Enabling vertex Group weights displays the weights of the active Vertex group directly on the mesh by using a color code.
  • Show All Zero Weights marks regions without any weight in Black

  • Enable Vertex Select Mode

Explain: We will inspect weights and since weights are assigned to vertices, it makes perfect sense to enable Vertex Mode.

Inspecting Weights in Edit mode

Inspect the vertex Groups of a vertex

  • Open the Properties sidebar (type “n”).
  • Select any vertex you like (needed for the next step to work)
  • Open the Item tab

Now you can see and even change the Weights assigned to the selected vertex.
Click on a weight map name and the corresponding weight map is displayed right on the mesh.

Tip: When you click the Deform button (see picture) then only vertex groups  for deform bones are listed.

Inspect the Vertex groups of the Mesh

  • Open the Object data Properties.
  • Navigate to the Vertex Groups list.

Now you can scroll through the list of vertex groups and you instantly see the current weight group displayed on your mesh.

 

Inspecting Weights in Weight Paint mode

In edit mode it is not possible to pose the mesh while inspecting the weights. However, since posing the character is very often needed to find bad weights, Blender has implemented select and move bones when the Mesh is in Weight Paint Mode

Avastar has a weight paint preset that prepares the rig to be used in an intuitive way:

  • Make sure your mesh is the active object!
  • Open the Properties bar (N-Panel)
  • Select the Avastar Tab
  • Open the Workflows Panel
  • Under Workflow Presets select Skin&Weight

The white dot (right side) indicates the last called preset.

When you now select a deform bone (blue, purple or orange) Blender also switches to the corresponding weight map if it exists in your mesh.

Remind: The Mesh must be the active Object and the Armature must be in Pose mode! The Preset sets this all for you.

Inspecting weights with Poses and Animations

Using a Pose for Inspection

While in Weight Paint mode, you can also Pose the mBones. But beware: Avastar’s blue deforming bones can only be rotated! they can not be moved.

So this mode is not very useful for creating poses for your mesh. But it is good for quickly testing how rotating a single bone will affect the mesh

Note: For our purpose it is sufficient to have the Hip bones rotated by +/- 25°. I also rotated both lower legs back by 25°. This gives a good test pose that is good enough for inspecting where the weights need to be fixed.

Important: This was just a quick test. We will not continue to use this pose! There is a much better method (see “create a walk animation for testing”) below.

Stepsize=Height
β == 50°

 

 

Details: The right Step Length

Of course there is no single true answer to this. However i found the following works pretty well for human characters – assuming the proportions of the default SL Avatar:

  • For a running walk cycle the maximum distance between the feet is approximately equal to 1.5*length of the legs (that is a very fast running though). This translates to about β=75° for the maximum angle between the legs (see image above).
  • For a fast (energetic) walk the maximum distance between the feet is approximately equal to the length of the legs. That translates to about β=50° for the maximum angle between the legs.
  • For a slow walk (and for a fashion walks as well) the maximum distance between the feet is approximately about half the length of the legs. And that translates to a maximum angle of about β=30° between the legs.

Of course when you are working on a Ballet tutu then you may need to test much higher angles as well. So, you see, there is no one fits all answer. But for our purpose a maximum angle of 50° between the legs should be working very well.

Advanced Tip: Create a walk animation for testing

Here is a nice little trick that can help you a lot while you are weighting your model. The key idea is to create a very basic animation cycle that contains the extreme positions that you plan to support. Then use the timeline to scrub repeatedly over your animation to check your weighting.

This approach has a few very cool benefits:

  • Your poses are well defined: So you can step to a certain time frame and get the pose for that frame. So you can quickly check how a certain change in the weight maps influences other poses.
  • You can “see” your mesh in action: So you can check if the mesh transitions work as anticipated.
  • You can change the pose in context: So you even can now work and keep in Edit mode all the time. When you need to change a bone position, then just scrub on the Timeline without leaving Edit mode.
  • You can play the timeline: you can even edit your mesh while the animation runs.

The Timeline Copy Tool

Sparkles provides a function which can be used for quickly making simple Animation cycles. On the the tool manual page you find a video that explains how you can make a simple walk animation.

Timeline Copy Tool

in short terms:

  • use the pose i mentioned above on frame 0 (first animation frame)
  • copy the pose to frame 96 (last animation frame)
  • copy the mirrored pose to frame 48
  • make a relaxed standpose on frame 24
  • copy the mirrored stand pose to frame 72

now you have a super simple walk animation which is good enough for testing.

Advanced Tip: Importing an animation for testing

There are thousands of ready made Animations available for Second Life. And Avastar provides a feature to import them and add them to an Avastar rig. The procedure might first look a bit tedious, but you will quickly find it working like a charm.

Motion Transfer Tool

Tip: Apply weights in edit mode

Apply weights in edit mode

I have shown you before that you can inspect weights in edit mode. However we realize quickly that although the weights are displayed perfectly, the mesh does not behave as expected. It looks like the armature does not influence the mesh in edit mode.

left: Edit Cage not adjusted right:Edit Cage adjusted

 

This is because the Armature modifier has an option for Adjust Edit Cage to Modifier Result. This option is off by default. So we have to enable it.

And as soon as the modifier option is set, the mesh will follow the pose exactly like it does in Weight Paint mode.

Important: In simple words the Edit Cage is the raw mesh, without any modifier applied and with no constraints applied.

display animated meshes also in Edit mode

Actually the edit cage may look quiet different from the final mesh. The Adjust Edit Cage to Modifier Result applies the current modifier’s influence on the mesh to the edit cage. Thus when this option is enabled the edited Mesh will look like the final rendered mesh, although you only can edit the raw vertices of the Mesh at any time.

I assume that you have added a simple walk cycle as i explained in the Advanced Tip above: Testing by scrubbing (see above) And you have prepared the timeline accordingly. However if you find the creation of the walk cycle is too much for a first try, then you always can move the bones manually as well instead of scrubbing along the timeline.

Next — Edit Weights