The Fitting Panel
The original SL Rig contains a set of special bones (Collision Volumes, also named Fitted Mesh Bones) which can be used to add more flexibility to Mesh attachment shaping in combination with the Shape Sliders. The rig is organized in pairs of bones which we will name fitting pairs from now on. Each fitting pair consisting of a regular deform Bone (blue) and a corresponding Collision Volume (orange).
In the image you see for example 3 fitting pairs for the right arm:
- mWristRight – R_HAND
- mElbowRight – R_LOWER_ARM
- mShoulderRight – R_UPPER_ARM
In the fitting panel (see below) you find the corresponding tools for modifying the fitting pairs seen in the image.
Especially you find the list of available fitting pairs in the Bone Fitting Strength section at the bottom of the panel
The basic concept
The weight is shifted between the blue mBone and the orange Collision Volume Bone when you move a slider from left to right. But take care: We do not create additional weight! We only shift the weight that already exists on the bone pair!
Caveat: If a bone pair has no weights, then the corresponding fitting slider is useless. Also if a vertex has no weights in a bone pair then the slider won’t generate weights, it just shifts nothing between the mBone and the Collision Volume.
The easiest way to use the fitting sliders is by setting the Bone Fitting Strength section to Weighted. Then you see only sliders where at least one of the corresponding bones of the fitting pair has weight values. However Avastar assumes by default that the mesh has been weighted for classic bones only. Because of that all sliders are set to 0 initially.
Anyways as soon as you begin to move the sliders you will move more and more weight from the deform bone over to the collision volume. This happens right out of the box. There is no initialization of any form needed. However you can optionally use the Fitting presets to begin your work.
Tip: The Fitting Panel is best used together with the Appearance panel. You should have both panels open and visible in the Tool Shelf.
The fitting sliders also work in edit mode. In that case they apply to the selected verts. However this mode is a bit tricky because there is only one single slider setting for all verts. But you actually can use the sliders on different selections and adjust the weight distributions to your likes.
Tip:Before you enter Edit mode create a temporary preset of your slider settings. Then after you have finished your edit sessions, switch back to object mode or pose mode, then apply your temporary preset to restore the slider settings as they were before the editing. Now you can safely delete your temporary preset.
You can store the setup of your Fitting Sliders into Presets. We have already added 3 Presets for your convenience
- Fully Classic: Only Weights on classic deform bones (blue).
- Fully Fitted: Only weights on collision volumes (orange).
- Half Way: Weights distributed evenly between collision volumes and deform bones.
This option makes the Fitting Sliders interactive. When you enable this option then slider changes will automatically be propagated to your meshes.
Hint: While this gives you instant feedback on how a fitting slider will change your mesh, it also takes a lot of your computer power to calculate the changes. So be prepared to find your Blender becoming slow while you are fitting.
Some of the Collision Volumes have been added to simulate gravity (physics). This is implemented for Pecks, Belly and Butt. Furthermore LindenLabs have added some more extra bones for Fitted Mesh: UPPER_BACK, LOWER_BACK, LEFT_HANDLE and RIGHT_HANDLE. Avastar does not automatically create Weightmaps for these bones (Except for the BELLY). But we have added a weight generator for those bones.
This weight generator has unfortunately been named physics generator, although strictly spoken the Handles and the Back bones are no SL physic bones.
The weight generator gets into action when you click the Generate physics button.
After the physics weights have been generated, you get 4 new Fitting Sliders for Butt, Pecs, Back and Handles. You use those sliders to adjust the weights for the specific regions.
Hint: The sliders are split into 2 regions:
- Left – Center: Increase strength of weights
- Center – Right: Pinch the weighted area
By default the Handles get no Weight (set to -1, see image) (as recommended by LindenLab )
Important: Remember that only the PECK Bones, the Belly and the BUTT are influenced by Secondlife physics. All other bones are not affected.
Before you can use the fitting sliders they need to be initialized once. You normally start your fitting work without having weights on the fitted mesh bones. In that case you jsut can go ahead.
But if your meshes already have Fitting bone weights defined (for example from a developer kit), then you get a popup text with a confirm button. Take this serious! the fitting sliders do not work well when you already have fitted mesh data!
Ok, so the fitting sliders are enabled…
The strength Sliders move your weight values of each fitting pair (see above) between the deform bone and the corresponding collision volume.
- Slider – Left: All weight is on the deform bone
- Slider – Right: All weight is on the collision volume
Note: By default the sliders do not affect your mesh shape instantly. If you want to see how the modified weightmaps affect the shape, you need to click the button Apply Shape at the bottom of the slider section. Unless you have enabled Apply Immediately (see above).
At the top of the Slider section you find 3 filter buttons for restricting the Display to:
- The Selected Fitting Bones
- The Weighted Fitting Bones
- All Fitting Bones
Right to each slider you find 2 – by default empty – fields for:
1: Click here to select the slider and the affected bones. You can SHIFT click to select multiple sliders at once. The selected sliders are affected when you call the smooth weights operator. In the image above you can see 3 sliders are selected (markers), and the RightClavicle slider affects the active pose bone (yellow marker)
2: Discard (reset) the weight Data after you have used the fitting sliders in edit mode and you want to reset to the mode before you edited the maps.
Note: You can store the slider settings into Presets (see further up on this page)
Weight loss on Fitted Meshes imported from other tools
There is a possible loss of weight when:
- you have imported your fitted mesh models from another tool
- your fitted meshes have been made in Blender but without Avastar
- you have manually added weights to the Collision Volume Bones.
When one of the above situations occur, then you might possibly loss weight information when you use the fitting panel. The problem here is that the fitting panel is set to classic weighting by default. So Avastar believes all weights are on the blue deform bones. However, Avastar still sees the weights on the collision volumes, but it might not correctly calculate the weight distribution between the deform bone and the collision volume in that case.
The Fitting sliders only work if there is weight on your bones.
Because of this you always have to provide a basically weighted Mesh. Best practice is: Weight your Mesh to the mBones only and make the weighting as perfect as you can for one specific Shape. Only when your basic weighting works nicely switch over to the Fitting Panel and adjust your weights.
The Smooth Weights Tool does not always work
Sometimes the Smooth Weights tool can not optimize the weights for some of the vertices. In that case all you can do is to smooth the mesh itself with the mesh tools instead of relying on the Smooth Weights tool.
Additional notes for the support team
Assume you have made some fitted mesh by using the fitting sliders. Now lets say you want to collect a couple of meshes into a blend file for later reuse or for distribution. However you might not want to add the armatures because they take so much extra storage space. While this works perfectly, there is a problem when you later reuse those meshes:
- Up to Avastar-2RC13 the binding process blindly assumes that the meshes are weighted to the classic bones so all bound meshes have preset the fitting sliders all to 0 (fully classic)
- In Avastar-2RC14 the bind process preserves the fitting slider values when it rebinds a mesh to an Avastar. However when a mesh does not have fitting values they still get automatically preset to 0.
- In Avastar-3 we will probably find a way to preserve the weight distribution of the meshes by automatically determining the slider values form the weight distribution. However that might be a bit of a challenge.