Avastar Fitted Mesh Tutorial

Gaia Clary released a new tutorial for using Avastar to make Fitted Mesh clothes. The video tutorial was published December 24th on YouTube.

This tutorial gives you a quick education on how Avastar is intended to be used. I think it also clearly shows that weighting is going to be a more complex task. Using the old bones, old as in pre-Fitted Mesh era, and weighting one could kind of get by using just the avatar’s skin weights and a rudimentary understanding of weighting. That meant for a short skirt one was focusing only on the mPelvis, mHipLeft, and mHipRight bones.

Now we will also be considering the Butt, Belly, Right_Handle, Left_Handle, and Lower_Back. That gives us a total of 8 additional bones to consider. Weighting was complicated enough with 3 bones. 

Also, I understand the mesh importer in the viewer will only import the first 4 weight values for any vertex. There seems to be some unpredictability as to which weight groups the Collada exporter places in slots 1 to 4 and which in later slots.

The weights we assign in Blender are not absolute. Blender uses them as a sort of a weighted percentage. Setting a vertex controlled by two bones, say the mHipLeft and mPelvis groups, each to 1.0 or 100%, depending on how you think of it, results in the vertex having 50% of its movement controlled by each of those two bones inside SL. It is that adjusted information that makes it through Collada, the importer, and into SL.

Thought of it another way, we can assign more than 100% weighting to any vertex. In the above example I mention 2 bones and thus I could assign 200% weighting. But, by the time we get to SL, that 200% has been changed so the viewer only ever figures out 100% of the vertex’s movement, so 50% per bone.

With 8 bones we could theoretically assign 800% control over a vertex. However the viewer will only ever want to know 100% of the vertex’s movement. It has to know where to put the vertex and draw it. So, each bone’s control is: 100%/8 = 12.5%.

Now think about not knowing exactly which 4 bones would make it through the importer. The viewer will only know about 50% of the movement we intended by adding values to 8 different vertex groups. If the left leg is moving forward and the right rearward and one or the other is dropped because it’s weighting is not in one of the first 4 groups, we will see very unintended movement.

This means we will have to be very careful to make sure we do not exceed the limit of 4 weight groups.

There is also the problem I pointed out in: Fitted Mesh Concepts. The BUTT weighting throws off the leg weighting I usually use.  I was getting by with 3 bones. But, the pelvis area of the model now has weights from 6 bones. As best I can tell, any single vertex only has 4 weights.

While weighting did get more complex, we still only need to weight one model well and then use it for a starting point for our other models. While there is some initial pain added, it is not totally awful.

If you are thinking we should ask the Lab to allow more weighting groups to pass through the Collada mesh importer, you might want to rethink that. The more weight groups added the more difficult it is to predict the final result. I suppose some people will be able to handle more groups. I am having enough problems figuring out how to deal with 4 weight groups per vertex.

No Avastar

It is possible to accomplish all the steps shown in the tutorial in a Blender installation without Avastar. But, it requires a good knowledge of Blender and weight painting. Avastar just makes things easier and reduces the learning curve.

I have decided I do not want to try making a tutorial for accomplishing the same tasks without Avastar. It seems far too masochistic for me. I bought Avastar to avoid that work.

2 thoughts on “Avastar Fitted Mesh Tutorial

  1. Fitted mesh rigging is much less complicated than you think. You have to keep in mind that the collision bones always inherit the transformations applied to their parents. So whenever there is at least one collision bone available, you can completely ignore the parent and assign weights only for the collision bone. In the case of the arms and the legs where you have exactly one collision bone per parent, all you need to do is rename the corresponding vertex groups. Only the torso requires a little more work because it has two or more collision bones per parent in some cases. However, you can still focus on the collision bones alone and ignore their parents, due to the way parents propagate transformations to their children.

    Also keep in mind that Blender has a function to limit the total number of weights per vertex. If you apply that function with a limit of 4, Blender will keep the four strongest influences and discard the rest.

    There is also a function to normalize vertex weights so that the bone influences per vertex always add up to 100%. Locked vertex groups will not be touched by this function, so it’s easy to redistribute weights between two collision bones without affecting other areas of the mesh.

    The tools mentioned above are not part of the Avastar addon. They come with Blender by default. In fact I think that Linden Lab, by finally publishing proper reference shapes and skeletons, has made Avastar largely redundant. All the rigging is now done to the default shapes anyway, so who needs shape sliders if you can as well just scale the collision bones right there in pose mode?

    I’m very happy about Fitted Mesh and hope it’ll go into the mainline viewer soon, and then to OpenSim… :)

    • Oz seems to think we may see Fitted Mesh move to an RC viewer in January or February. But, is not making any definite statements, so exactly what he expects is still somewhat unclear.

      Blender does allow weight values to be normalized. That can be helpful and makes the weight painting colors more helpful.

      I’ll have to look up how to limit the number of weight groups used.

      On ‘a little more work…’ I agree. But, getting the bone weighting to integrate animation and morphing so things work correctly still seems a challenge.

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Human Verification: In order to verify that you are a human and not a spam bot, please enter the answer into the following box below based on the instructions contained in the graphic.