Fitted Mesh is nothing special

The concepts of fitted mesh are nothing unique to Second Life. In fact Fitted Mesh is absolutely standard Skeletal Animation. The problem with Fitted Mesh is only its name (honestly).

Fitted Mesh does not Fit everywhere…

Some people believe that fitted mesh allows your mesh avatars to be adjusted perfectly to the SL system Avatar. But this is entirely not true. Fitted mesh does not fit exactly to anything, and especially fitted mesh does not fit to the system Avatar at all. In fact Fitted Mesh is based on Skeletal Animation, while the SL Avatar shapes are mostly based on Morph Shapes.

The 2 concepts (Skeletal Animation and Morph shapes) are not comparable and thus they do not (actually they can not) create the same results. If you are lucky you can manage to create something that creates similar results, but never a perfect match for all Appearance Slider values!

No weights, no Fit!

The Avastar Tools for Fitted Mesh only work when your mesh is already weighted! The tools need existing weight maps on which they can operate. In general we recommend that the meshes are already weighted reasonably well for the classic bone set.

Side note: Actually you can start with no weights at all, but then the Fitting panel does no longer work smooth and easy. I will explain the issue in more detail further down.

Fitted mesh & Shades of Grey

Some people believe strongly that Fitted Mesh only uses the cBones (Collision Volume Bones), while Classic Mesh is a synonym for only weighting to the mBones (Deforming Bones). But this is not entirely true. Fitted Mesh weighting allows you to mix cBones and mBones. In fact our tools does just that to achieve better results.

Working with Fitted Mesh is no cakewalk

Should you expect that Avastar will give you the ability to create perfect rigged and fitted Mesh, then i can tell you 2 things:

  1. Yes you are right
  2. No, you won’t get there in one afternoon!

Honestly, Avastar only helps you to get better results with less work, but you still must know what you do. Please take your time, experiment a lot (even more than a lot), and learn 3D modelling and animation from the basics. All of this is not a cakewalk! But it becomes a lot of fun when you accept that it also is a lot of work:


The Conceptual Model of Fitted Mesh

This is a brief description of the concept that we used to implement support for Fitted Mesh (The Fitting Panel).

mBone – CollisionVolume pairs

We have pairs of (mBone, CollisionVolume) like for example (mPelvis,Pelvis), (mTorso,Torso) etc.
For those bones the sum of the weights in both weightmaps define how the bone pair influences the mesh during rotation and translation. While the weight on the Collision volume alone define the influence of the appearance sliders (scaling).

So you can distribute your weighting between the mBone and its paired collision volume without changing how the mesh behaves during animation. While the more weight you put on the Collision Volume the more influence you give to the appearance sliders.

Note: By distribute your weighting i mean that for each vertex the sum of the weights on the mbone and its paired Collision Volume does not change.

Physics Bones

We have a special set of Collision Volumes added for physics purposes (PEC, HANDLE, BACK, BUTT) Those Collision volumes are also parented to mBones but here the relationship between animation and appearance sliders is a bit more complicated. I believe the pairing for mPelvis, mTorso and mChest is like this:

  • (mPelvis, Pelvis + BUTT)
  • (mChest, Chest + LEFT_PEC + RIGHT_PEC + UPPER_BACK)

So you can distribute your weighting between those mBones and any or all of their related Collision Volume Bones without changing how the mesh behaves during animation. While again the more weight you put on the Collision Volume the more influence you give to the appearance sliders.

In practice

You just take your weight paint brushes and paint until your mesh behaves about right. This works for the simple bone/volume bone pairs (see above) without issues for large portions of your meshes. You only get trouble near the bone joints where you need to take special care about how to distribute the weights among the related bones.

The 4 weights per vert limitation

However when you add weights to the physics bones, then you can very easily get above the limits of Second life which say :

no more than 4 weights per vertex

This limitation gives you headache when you use all fitted mesh bones on your mesh.