The State of Avastar & Fitted Mesh

Numerous people are running into the problem with their mesh clothes creations not working well with the Second Life avatar. Gaia Clary’s latest comment in the SL Forum is here:

‎2014-04-14 06:35 AM – edited ‎2014-04-14 06:36 AM

Maybe I [Gaia] can add 2 remarks here:

  1. You could use the Morph targets to create a dummy character and implement the SL Shape sliders to shape the dummy into the SL shape. Then you can use that dummy as reference for making your mesh garments of course. But note that the morphs themself [sic] take no active role in the fitted mesh deforming.
  2. If you wanted to create something reasonable then you would create some sort of controllers that modify the Collision Volume bones. If properly done, then you could immediately see how your mesh would react in SL with changing slider values.

The main problem is to understand which bones are affected in which way by which slider. Most of this is noted down in the avatar_lad.xml file. And yes, in Avastar we actually have ported the SL Shape slider system into Blender This works as intended for the dummy itself. But for the mesh garments there is still something wrong (so right now we do not have a complete solution )

BTW: Blender allows to export shape keys to Collada, so in theory you could take our workbench blend file, then export the character with shape keys, and then try to upload that to Maya. Maybe that works, maybe not, I have never tried it myself.

(Reference)

At the Content and Mesh Import User Group we got some new information on the problem and what it might take to fix it. Don’t get your hopes up. It looks like we are going to have to learn to work around the problem. But, At least we know what the problem is and can quit wasting time searching through viewer code. 

The Problem

I’ve written about this before. The avatar uses animation bones to control its movement, mbones. These animation bones are bones we have known about and used for years.

There are collision bones that have been used to adjust the collision silhouette for just as long. We have never had much use for them. But, after the addition of mesh people figured out how to use the collisions bones to make mesh clothes more responsive to the shape sliders.

Taking this method of using the collision bones a step farther the Lab added some new collision bones and declared support for Fitted Mesh, the use of the collision bones for clothes sizing.

But, avatar shape is a complex matter. The Appearance Sliders affect various parts of the avatar; mbones, collision bones, and amount of various morphs applied. It isn’t a single thing but an aggregate of changes that make up our avatar shape.

In Blender and other 3D modeling programs we can build morhps to adjust our avatar’s, or any model’s, shape and animate it. So, the connection is made: can we just weight for the existing SL Avatar morph targets in our mesh items and piggy back on the existing viewer’s use of those? Today we learned the answer: no.

The reason is in how the viewer has been programmed. There is only one place where the viewer looks for morphs and that is when rendering the avatar. At the time the code was written, there was no anticipation of a need to morph prims, which the things we call mesh items are: prims. Even as an avatar attachment the mesh attachments are seen and treated as prims. This means the code that deals with handling morphs never sees our mesh items.

At the present time the SL Collada mesh uploader will strip out morph weighting. But, even if it didn’t, the viewer would not be able to use the information.

We can make feature requests for this to be changed. There are some existing requests already in the JIRA. See: VWR-23447  –  blend shape animation support for mesh objects. (12 Watchers)

What is the possibility of such a request being implemented? We can’t really know. What we do know is it will take a large project to implement it as it touches numerous parts of the SL system and the viewer’s render process. Nyx Linden says that much. That tells me, we won’t see the feature added anytime soon.

The Probable Solution

Avastar has taken the morph shapes for the SL Avatar  from viewer files and built them into the AvaStar dummy. So, we can modify the avatar in Blender/AvaStar to the shape we want to design for. The sliders in AvaStar work very much as the viewers sliders do in-world.

But, we can’t really see how our mesh will work in-world. That is because we are weighting to the collision bones not the morph targets.

Eventually I expect the AvaStar team to figure out how the sliders affect the collision bones, how the collision bones deform and deform our mesh, and then build that deformation process into AvaStar. This won’t make our mesh items deform the same as the avatar does, but it will show us how our weighting in Blender will behave once imported to Second Life.

I’ll explain that another way. In Blender we will likely be able to see how the Appearance Slider controls will affect the avatar, which is weighted to the SL Morphs. We will also be able to see how the Appearance Slider controls will affect collision bones and mesh weighted to them. The avatar skin and our mesh clothes will not deform the same way. But, we will be able to see how both will deform in SL. Thus we will be able to weight mesh in Blender without numerous round-trips from Blender to SL to Blender. At least that is my hope.

If you don’t have AvaStar and want to get the morph targets and weights get the avatar from Cybernetics Databank. That will allow you to make your modeling-dummy-avatar deform as the SL Avatar does.

AvaStar

We are still at version avastar-1-1-1045_blender-2-65.

The Ditko University is moving their classes onto Blender version 2.70.

Builder’s Brewery uses the latest Blender for their classes.

5 thoughts on “The State of Avastar & Fitted Mesh

  1. Pingback: Second Life Fitted Mesh Doesn’t Fit | Nalates' Things & Stuff

  2. Nalates you probably don’t want to hear from me but please believe me when I say I am not trying to start an adversarial relationship.

    After reading this article I thought you might be interested in reading a topic I started in the Mesh Forums which I show a real possible solution to most of the problems with Fitted Mesh. In my post I have photos taken with a modified Singularity viewer where I modified the avatar_lad.xml file to create custom Collision Bone sliders. This is actually something Red Poly suggested back in the Jira for Fitted Mesh well before it was released. I just took it a bit further and suggested sliders be created for all Collision Bones in all three scales and offsets axis of XY&Z.

    I believe this would be a whole lot less work for LL than adding morphs. If a way could be figured out how each piece of worn mesh would have it’s own unique Collision Bone settings I believe this would really work.

    I haven’t had much luck getting LL’s attention on this. If you like what you see in my post perhaps you would have a better chance and getting their attention.

Leave a Reply

Your email address will not be published.