Other Aspects of Fitted Mesh

There is currently some discussion about aspects of the new avatar bones being used in odd ways. The third party viewers in some cases have adjusted some things in the upload code to allow use of bones and joints in ways not completely support by the Lab.

New Outfit - 2014-09

New Outfit – 2014-09

As the discussion goes, those aspects may be blocked at the server soon. That would mean things like weighting mesh to the attachment points would no longer be allowed. We do not know whether the Lab will or won’t decide to block such use. So, don’t panic. But, if you have a good use case for your uses, get it into a Feature Request as soon at the JIRA’s new Feature Request channel opens up.

I am not done with my testing of the new avatar yet. But, so far there is no model avatar I can find that is in use in Blender that can be imported to SL and behave as the SL avatar does. The supposed exact same avatar is not an exact copy nor do the sliders affect it in the same ways. It is close, but not the same.

Technically the avatar is an organized list of numbers and associated numbers and labels. I can see no reason why an exact copy of the list would not behave and work as the original list does. So, I am of the opinion that the current models we have are NOT exact copies. In some ways they are incomplete… or so I think.

To compensate for those differences designers are attempting to find better ways to make Fitted Mesh behave as the avatar’s skin/mesh does. One of those ways seems to be weighting to attachment points. There are also some things being tried with joint positions that I don’t understand.

The problem with using unsupported features is one never knows when the Lab may change things or decide to block them. If that happens with these unsupported Fitted Mesh aspects, the stuff already imported to SL is not likely to be affected. The block will only be on bringing in more unsupported stuff. So, a block would not affect the average user like a removal of these items from the grid would.

Unless there is some significant problem with unsupported items it is more trouble than it is worth to remove the items from grid. So, we can reasonably expect anything already in to be left alone. Sort of like Liquid Mesh was not and is not supported. But, Liquid Mesh is being left on the grid and it still works. Uploading new Liquid Mesh will never be banned because it is pretty much a sub set of Fitted Mesh. But, that may not be true for weighting to attachment points.

Liquid Mesh was better than what we had. Now Fitted Mesh is better then Liquid Mesh. But, it is still a small step in the direction users want to go. It seems to me getting an exact copy of the avatar mesh as it is weighted in the SL Viewer would give us a much better understanding or how things work and allow designers to make their clothes work as well as the avatar mesh does.

For now we are trying to guess at how the SL Avatar mesh is weighted and duplicate it for the files we have. A program was posted in STORM-1716 1800 that was written to extract the avatar, mesh, and weighting from the viewer’s files. I am looking at using it to get a copy of the avatar that I think could be more complete. That may take awhile. I haven’t worked with C++ or the Visual Studio in a long time. So, I’ve got a lot to relearn and setup. I am hopping someone else more familiar with C++ and Visual will take it on.

My hope is that if I can get all the various weighting information, I can avoid needing to figure out how to work around the problems we have now. Especially as that appears to me to be a trail and error process.

12 thoughts on “Other Aspects of Fitted Mesh

  1. Thanks for your posts. This is relieving as after struggling for a long time I was wondering too why the \Sl avatar\ we have to design comes out with different weights in sl.

    I saw two avatars, one with red weights, the other one with ligher ones and no red.

    I am wondering if the new bones add some weights and were not considered before, so as to make the AVI we were using different in color ( meaning red just came out from summing up CHEST and mChest, so to speak ).

    What I have not found out yet is how to deform the belly using fitted mesh, as it does not come out as in sl, but I guess that has to do with morphs too, as in the thread on sl website.

    • I believe that if we had the same weighting for movement and morphing our copy of the avatar would behave the same.

  2. Too bad that LL did not accept Qarl’s deformer code… The latter worked (and still works, in OpenSim) beautifully and provided a *much* easier path for mesh creators….

    Note that it is not too late… Perhaps reconsidering LL’s decision in this aspect could be suggested to the new CEO…

    • I found it curious that Karl thought collision bone weighting was better. He may have served an agenda with those statements. Or it could be what he actually thinks.

      Without inside knowledge, there no way to know what else the Lindens are thinking or planning for the avatar. I do think pressure will continue on avatar weighting. This is going to be complex for new designers. From a programmers point of view, without good experience in weight painting, this probably looks like a good decision. From a weighting painting perspective, there are a lot of problems. I suspect over the coming months the community will be getting into them.

    • The answer is techy. I’ll try to keep it simple.

      Everything in SL is made of points we call vertices. The points are represented in the computer by 3 numbers: X, Y, Z. The computer uses those numbers to know where in 3D space to draw them. Each vertex is connected to the vertices around it by edges. The edges are like the cord of a fishnet and thus the name mesh. Three vertices and their edges make a face. The computer colors in the face. The result is we can specify the values for 8 vertices and the colors or textures to be drawn on the faces and see a cube in the virtual world.

      With a cube we can pick it up and move it. The computer is using the movement information to calculate the new values of the vertices and draw the cube in a new place.

      The avatar is very much like the cube, but way more complex. An avatar is a mesh made of 7,000+ vertices. We must be able to tell the computer how to move the legs so we can see it walk. To do that we have to specify which vertices make up the lower and upper leg. That specification is weighting. The middle of the lower leg is weighted 100% to the lower leg bone, which is a 2 vertex object that makes animation easier to specify. It is from where the lower and upper legs come together that the idea of weighting gets its name. We want to create the illusion of a knee bending when actually we just have a cloud of vertices that are being moved and there is nothing to bend just math to be calculated.

      We make the illusion of bending by telling the computer that some vertices follow the lower leg 100%. As we progress through the knee area looking at vertices the lower leg bone influences the vertices less and less and the upper leg influences them more and more. We describe the amount of influence as weight. It is about how much weight (influence) a bone has on a vertex’s movement. Since it is math, the term weight makes since. It is sort of like a weighted average.

      So, weighting is the art of creating the illusion of things bending. Look at http://blog.nalates.net/2012/05/20/second-life-mesh-clothes-blender-2-6-setup-2012-tutorial/7/ in image #27 you will see me bending a leg to the side. The leg is not weighted to make that sideways bend look real. The knee collapses like a plastic straw being bent. However if you watch your avatar’s knees bend in in-world they bend in a much more natural way because they are ‘weighted’ for that movement.

      If we weight Fitted Mesh clothes well, they follow the avatar’s movements. How well that is done relates to how good the illusion is.

  3. Hi Nalates,
    What program are you referring to in Storm-1716 that had the weighting information from the viewer?

    The only way I can see the avatar moving and changing shape the same way Fitted Mesh clothing does is if you hide or replace the current avatar with one that is also rigged and weighted to the Fitted Mesh collision bones.

    The current avatar simply uses, for the most part, a totally different system to change the avatar’s shape in SL. I am talking about morphs. Morphs don’t change shape by changing the scales of the bones which in turn scale up or down the vertices weighed to them. This means Fitted Mesh clothing will never change shape the same exact way the current default avatar does.

    Things can be done to improve the system. RedPoly proposed some custom appearance sliders be added to the viewer that would allow for some fine tuning of how fitted mesh clothes by the individual residents.

    I posted on the Mesh forum a plea for custom sliders for all the collision bones so that fitted mesh clothing could be adjusted even more than what RedPoly had asked for. I even included photos of the results of the custom sliders I had made for a viewer I was using. Here’s the link

    Another thing LL could do is fine tune how the current sliders in the editing appearance menu affect Fitted Mesh. From what I can see they went for a 1 to 1 ratio on the sliders when in reality they needed different ratios depending if you were moving the slider to the right or left of center.

    As far as Qarl’s view that the Fitted Mesh system is better I would suggest listening to him on the podcast Metareality. I believe the particular one he discuses Fitted Mesh is titled “Good Solutions”.

    My interpretation of what he was saying is that the simplest solution in computers is usually the best solution and that the Fitted Mesh system is definitely the simpler of the two in regards to coding and maintaining from LL’s perspective. Qarl did go on to say that the Fitted Mesh system as it was would not follow the actual shape of the avatar very closely and that it would be a lot more work for the content creators than his Mesh Deformer. In the case of Fitted Mesh I would say even though it is the simplest solution I would not say it is the best solution overall.

    Personally I like Qarl’s Mesh Deformer more than the Fitted Mesh system. Both have their strengths and weaknesses. For what I really wanted to do Qarl’s Mesh Deformer is the only way to go. I wanted to create complete whole custom avatar mesh and body parts that would move and have full facial expression. Here’s a link to a YouTube video I made with a proof of concept mesh head using the Mesh Deformer in InWorldz.

    • Oh dang. Your right 1716 should have been 1800. My memory fail.

      The Mesh Deformer on it’s own may have been a better technical solution. I tend to think it would have been. But, on the user-side of marketing clothes based on different shapes, I think it would have been a disaster.

      I find merchants are fuzzy on what is and is not mesh now, much less Liquid or Fitted. The better designers are pretty good about calling something mesh or not. But, often I have to try a demo to know. If there is no demo, I have thought something was made of system clothes and prims/sculpties only to find the demo was standard sized mesh. Varying base shapes would have been horribly confusing as there would be no way to describe a base shape.

      Looking at the shape sliders in AvaStar or just Blender, I believe Fitted Mesh is dependent on the avatar morphs. I’m digging through viewer code now to figure out how it handles the avatar shapes.

      Making more controls is counter to the Lab’s philosophy of keeping things simple. I think that is a losing battle on a couple of levels. But, the complexity of virtual worlds is something people will have to deal with. So, clothes fitting sliders might be a good solution. I suspect unless one can figure out a strikingly new way to make it apparent what they are for and how they work for new users… it won’t happen.

      • I am not quite sure I know what you mean by Qarl’s Mesh Deformer being more confusing for mesh clothing buyers because of clothes being marketed for different shapes.

        Right now the majority of mesh clothing designers are using 5 standard shape sizes. I would also guess that those selling Fitted Mesh clothes also provide the 5 standard sizes as well making the customer have to deal with 6 different choices.

        If you are talking about the Qarl’s Mesh Deformer being able to upload the XML base shape that is only of concern of the content creator not the customer who buys the mesh clothing.

        Let me explain how the XML base shape upload was supposed to work.

        Let’s just talk about female avatar’s for now. See Ruth which is the default avatar shape is far from the average shape most residents use. Most female avatars in SL have bigger breast, smaller waists and curvier hips. Think of Ruth as a balloon that only has a little bit of air in it and think of most female avatars having a lot more air in them.

        Before being able to upload an XML base shape mesh content creators had to make their clothes fit Ruth which is like drawing on a balloon that just has a little bit of air in it. Then what would happen is when the average female avatar would wear the mesh clothing air would be added and the balloon would get bigger stretching and distorting what was draw on it.

        What allowing the content creators to do with being able to upload the XML shape was to let them blow up the balloon first and then draw on it. Then when they uploaded the mesh they uploaded the XML file to tell the viewer that the mesh was based on the bigger balloon with more air in it so when the mesh was worn by the average female avatar there would be little to no distortion of the mesh and textures.

        This would mean that if the content creator or mesh clothing designer wanted to fit near perfectly the vast majority of female avatars in SL they would just need to provide their customers with 1 mesh not 5 or 6 like now.

        Of course if they wanted to make their mesh clothing fit perfectly more extreme female avatar shapes they could. Say one for much bigger heaver females and one for very thin females. That would still mean mesh clothing buyers would get 3 versions instead of the 5 or 6 we have now.

        On to the next subject. Technically everything you see in SL is mesh. Prims are mesh. Sculpties are mesh. The land is mesh. The water is mesh. The sky is mesh.

        The difference between mesh clothes is rigged verses not rigged. Sculpties and prims are not rigged. Fitted Mesh, Liquid Mesh are rigged. Originally rigged mesh clothing was just rigged to the normal skeleton bones. Liquid Mesh is rigged to special bones in the skeleton called Collision Bones. These bones were bones that LL never intended people rig to. They were bone that the Collision Skeleton Mesh was rigged to.

        The Collision Skeleton is an invisible mesh that all avatars wear all the time. It is used to calculate when the avatar hits something or is hit by a solid object. The avatar mesh body you see is actually a phantom it is not solid.

        The collision bones scale up or down as you change your shape in SL using the sliders. This makes the Collision Skeleton mesh change it shape to roughly match the avatar’s body shape which is good enough to calculate collisions.

        Fitted Mesh is mesh rigged to the original collision bones as well as a few new collision bones LL added. They also change their scales when you change your shape in SL using the sliders. It has nothing to do with Morphs. It has nothing to do with how the default avatar mesh is weighted.

        Let’s take an example of a Fitted Mesh hat. The all the hat’s vertices would be rigged and weighted to just the HEAD collision bone. In SL when you change your head size the scale of the HEAD collision bone would be increased making the hat bigger or should I say the vertices of the hat scale up.

        Now let’s take a look at a Ski mask one that comes down over the entire head, face and neck. That mesh would be rigged to more than just he HEAD bone. The vertices around the top of the head and face would be weighted to just the HEAD bone. The vertices around the bottom would be weighted just the NECK collision bone. Vertices near the top of the neck and bottom of the head would be weighted to both HEAD & NECK collision bones.

        When you change your head size in SL using the sliders the top part of the ski mask would get bigger but the bottom wouldn’t. The vertices that are weighted 50% to the HEAD and 50% to the NECK would just scale up 50%.

        This all sounds reasonable until you factor in MORPHS. Your avatar’s face does not change shape by scaling up or down the bones. It uses MORPHS. So when you make your nose bigger in SL it would poke through the ski mask. The vast majority of your avatar’s shape comes from MORPHS. This means that Fitted Mesh clothes can not follow exactly your real avatar’s shape.

        Now for Fitted Mesh clothing that covers more of your avatar’s body or is looser fitting clothing this is not a problem but for tight skimpy or clothing that shows a lot of skin this becomes a major problem.

        Now the custom sliders I have proposed would let individual residents adjust their mesh clothing to compensate for a lot of this.

        If LL would provide content creators with better avatar files and off line tools such as way to simulate the appearance sliders in a number of other design programs like Maya and Blender that would go a long way to make things better too.

        I know Avastar is attempting to do this and I am trying to figure out how to do it in Maya for my MayaStar

        Oh here’s the links I tried to pose in my original reply:
        Link to my Custom Sliders in Mesh Forum
        Link to my YouTube video of my custom mesh head using Qarl’s Mesh Deformer

  4. Sorry I didn’t d the HTML tags right:
    I was trying to link //community.secondlife.com/t5/Mesh/Custom-Sliders-for-Fitted-Mesh-a-Solution/td-p/2495979

    And a YouTube:
    youtube com /watch?v=CEuUvquAps0

    If you like to send me an example of the correct way to create links I be happy to fix it or if you can do it I would much appreciate it.

    • I forget that those making comments don’t have the buttons I do, on the admin side of the blog, for editing text.

      No need to fix the links. For the future the HTML works like: <a href=”http://your.url-here.com” title=”optional”>link text here</a>

      But, all you really need to do is paste in the full url.

  5. Pingback: New For Second Life Designers: MayaStar | Nalates' Things & Stuff

Leave a Reply

Your email address will not be published.