Lab looks to make mesh garments fit better with the Fitted Mesh project viewer

secondlifeOn Wednesday November 20th, Linden Lab surprised the Second Life community by announcing the release of the Fitted Mesh project viewer.

Project Viewer is aimed squarely at resolving the thorny and oft-critiqued issue of making mesh clothing fit a wide variety of avatar shapes, as the blog post itself notes, reading in part:

Since the introduction of Mesh to Second Life, creators have faced challenges fitting Mesh garments to the Second Life avatar. Because mesh objects are not resizable in as many ways as the avatar itself is, it has been difficult for mesh garment creators to provide garments that adapt to the shape of the avatar in the way that the image-based clothing layers do. While many creators have made heroic efforts to provide products in a range of sizes, and some have collaborated to define a set of standard sizes that work reasonably well for much of the user population, many have found that mesh garments just don’t work well enough for their avatars. Mesh garments also don’t move with the body parts affected by avatar physics.

Users have developed two approaches to address these problems:

  • Rigging garments to the “collision bones” of the avatar skeleton (often marketed as “Liquid Mesh”). This works in current Viewers for some body parts, but there are some avatar shape parameters that do not have corresponding collision bones, so garments do not adapt to fit everywhere on the body.
  • The “Mesh Deformer” project added code to the Viewer to dynamically compute how to modify each garment shape by looking at how the vertices of the avatar were changed from that of the female and male base shapes.

The Linden Lab development team has studied both approaches, and compared their effectiveness, maintainability, and performance. Neither approach completely eliminates the occasional need for an alpha clothing layer to prevent small parts of the avatar skin from appearing through garments, but both work quite well at resizing garments so that they fit the avatar and move naturally with it. While the collision bones method requires the creator to do some additional rigging, we have decided that because it leverages more of the existing avatar shape system it is likely to be the more maintainable solution and to perform better for a wider range of users.

While the two current approaches to fitting mesh clothing are mentioned in the blog post (“Liquid Mesh” and the mesh deformer), it’s worth pointing out that the “Liquid Mesh” solution is actually based on an idea first demonstrated by RedPoly Inventor as far back as June 2012 – and it turns out that his approach is the one that the Lab, via Oz Linden, acknowledge as the one that first got them “started down the path of using collision bones to do this.”

At the time Liquid Mesh first appeared, there were concerns as to its impact on the market and the potential for content breakage should it prove popular only for something like the mesh deformer to eventually arrive in Second Life, prompting calls earlier in 2013 for the approach to be blocked by preventing mesh rigged to non-standard collision bones from being uploaded.  At the time, the Lab remained silent on the matter, although many did blog on the potential pros and cons about the approach, including myself. Strawberry Singh not only blogged, but produced a video showing her testing a pair of boots she’d purchased which utilised the capability.

Prior to the launch of the Fitted Mesh project viewer, I was fortunate enough to be given the opportunity to preview it, and get to try out some sample clothing to see how it works. I don’t pretend this is a comprehensive review of the viewer, the new collision bones or skeleton; nor is it intended to compare / contrast the Lab’s approach to other methods. It is purely intended to provide an overview of the viewer and how suitably rigged mesh garments are handled.

The New Bones

As noted in the LL blog post, the project viewers includes an additional set of collision bones alongside the familiar set of bones. These are:

  • BUTT *
  • LEFT_PEC *

* These bones are affected by avatar physics.

All of these bones, and the original avatar bones, now affect mesh clothing when the avatar shape sliders (Edit Shape) are manipulated, thus giving mesh clothing which is rigged to the avatar skeleton the ability to adjust with the avatar shape as the sliders are adjusted, thus leading to a better “fit” for the clothing.

Content creators are invited to begin experimenting with creating garments rigged to the new skeleton. To assist creators in this, a Rigged Fitted Mesh wiki page is under construction, which includes information on the existing / new collision bones, links to the male and female .fbx, .ma and .dae files, and basic instructions on getting started with creating fitted mesh, including a link to downloading the avatar skeletons and to additional external resources.

Do be aware that this wiki page is a work-in-progress, as is the viewer, and liable to both update and change.

The Viewer and a Quick Series of Tests

There are a number of important things to note before going too much further. The first is highlighted in the Lab’s blog post, and is this:

At this time, the new skeleton should be considered provisional and subject to change; we do not yet recommend selling or buying garments rigged to it. Since we may find reasons to improve it during this testing process, and any change to the collision bones will likely break garments rigged before the change, we want to make sure that we have a set of bones that we can all live with into the indefinite future before it is widely used.

The second is that as with RedPoly’s original approach and Liquid Mesh, the approach will not entirely eliminate the need for alpha layers – but then again, it’s unlikely the mesh deformer would have entirely eliminated them, either.

The third is that the viewer obviously will not work with either unrigged mesh or rigged mesh which does not make use of the new collision bones (or additional bones intended to work with the appropriate sliders).

As the test clothing passed to me was for male avatars, and presented some of the usual problems when used with a female shape (and given I have very few mesh garments in my inventory, unrigged, rigged, liquid or otherwise), Oz kindly popped over and gave an initial demonstration. As he was already wearing a mesh jacket, he quickly played with the sliders to give himself a more portly shape – with the result that his mesh jacket (as expected) no longer fitted. However, when he swapped to the rigged t-shirt in the pack, it more-or-less fitted off-the-bat.

Oz, looking more portly than his usual self, demonstrates the new project viewer and collision bones. His mesh jacket (l) which is not rigged to the new bones, fails to adjust to his altered size. The t-shirt which has been rigged to the bones, however, does (r)
Oz, looking more portly than his usual self, demonstrates the new project viewer and collision bones. His mesh jacket (l) which is not rigged to the new bones, fails to adjust to his altered size. The t-shirt which has been rigged to the bones, however, does (r)

My own experiments using the supplied male shape and clothing were likewise successful for the most part. although as has been noted with both the deformer and Liquid Mesh in the past, distortions will occur with more extreme body shapes.

Rigged mesh deforming to changes to the pectoral sliders
Rigged mesh deforming to changes to the pectoral sliders (click to enlarge)

As a further experiment, I grabbed a demo Liquid Mesh outfit from Redgrave and tried that out, again using the male avatar shape for consistency in comparisons, and  enjoyed much the same results; the top and Bermuda shorts resized consistently in the viewer, allowing for the aforementioned issues around extreme body dimensions.

This is perhaps not surprising; even if Liquid Mesh and the variants used by other makers are using unique collision bones, they are still going to be tied to the same avatar shape sliders, and liable to produce the same results. Nevertheless it does show that content already using the approach won’t necessarily be broken, and that converting it to the bones supplied by the Lab may not be too hard a task as a result.

Garments which use existing cutom bones may also deform correctly in the project viewer, as the bones are tied to the same sliders. This should ease the task of converting such garments to the supported collision bones
Garments which use existing custom bones may also deform correctly in the project viewer, as the bones are tied to the same sliders. This should ease the task of converting such garments to the supported collision bones (click to enlarge)

One very important point to note here is that because the viewer does use a new set of collision bones, it can lead to issues when clothing specifically rigged to use the new bones is seen in a viewer without the code, as shown below, with Oz as seen by my alt, logged-in via Firestorm.

Garments using the new bones may appear distorted in viewers without the new bones.

This is because displaying garments rigged to the new bones is a function of the garment rigging, and a viewer without the new bones distorts those garments.  While the issues is not related to what viewer the wearer is running per se, the Lab advises that users may want to be careful with when/where they wear garments rigged to the new bones in order not to look odd to older viewers, but there is no reason not to use the project viewer as a primary viewer. It can also be overcome by viewers updating their Avatar_skeleton.XML / avatar_lad.XML files, as noted by Darien Caldwell in the comments following this article.

General Feedback

My tests are not the most comprehensive; even with the gracious help from both Oz and Pete Linden – to whom I wish to express my sincere thanks – my time trying-out the project viewer was limited, and I admit I’m not anywhere near being an expert in the avatar form or with mesh.

What I can say is that the viewer does appear to work, and already does what it says on the tin. It would have been nice to test clothing created around a female skeleton and rigging to see how well bust sizes are handled, but experiments using the supplied test items suggested they would be handled reasonably well.

As LL’s blog post states, there is still more work to be done on the project, and creators and users wishing to more comprehensively test the viewer (such as by producing and testing clothing using the system)are invited to do so and to provide feedback via JIRA through the Fitted Mesh project.

Obviously, the release of this project viewer is going to come as something of a surprise, and is liable to provoke a range of reactions, particularly given the level of user investment placed in the original mesh deformer (and the fact that the deformer is, to a degree, being carried forward within OpenSim).  However, as solutions go, this approach does appear to work, and has the benefit of already being in use within Second Life, where it has been proving popular, and it would appear to have minimal impact on those products already using custom collision bones to achieve better fitting mesh clothing. As such, it does appear to be the preferable choice.

Related Links

With sincere thanks to Oz Linden and Pete Linden in allowing me advanced access to the viewer, and to Jeremiah Linden for providing the test assets.

41 thoughts on “Lab looks to make mesh garments fit better with the Fitted Mesh project viewer

  1. I can’t say I have a preference, since I don’t much use mesh clothing, but the way this looks to screw with non-compliant viewers does give a rather different view of Shared User Experience. Not having materials support, for instance, doesn’t give a grotesque result, as this appears to.
    I suppose this may explain why current Firestorm versions are classed as “Beta”.
    Also, after all the years of not changing the Avatar (and that’s not an easy change to do), this is a change to the Avatar. New Collision Bones is a New Avatar. Calling it anything else is getting close to a politician’s weasel-wording.


    1. The issue should be fairly narrow of view. The project viewer is unlikely to become a widespread mainstream viewer, and by the time the code filters on into a release candidate, it will be available for TPVs to pick-up and utilise in a stable form. Add to that, as Darien says, those in a hurry should be able to update their avatar_skeleton.XML with the one pointed-to in the wiki page.


  2. “but the way this looks to screw with non-compliant viewers does give a rather different view of Shared User Experience. ”

    It’s easily resolved though. Any viewer just needs to update it’s Avatar_skeleton.XML to be compatible and tada, it will work. Since there’s very little in the way of code changes to support this, TPVs should be able to add support fairly quickly.


  3. Looks wonderful!

    I wish this came years ago, and didn’t come with the collateral damage of further wasting the infinitely appreciated time and effort of Qarl and everyone that helped test and push his deformer, but something and late is definitely better than nothing and never.

    Now, for this to actually reach a release viewer. Since all it seems to be is additional collision volumes and an endorsement of the RedPoly/Liquid Mesh method, I don’t see how it can stall out for months and years like some other project viewer features have.


    1. I think we can confidently say that it is in the pipeline and will progress onwards towards an RC and release status and the nuts and bolts are tightened :).


      1. Yes the more I read about it, the less it seems like some big risky overhaul. I have high hopes for this one.


    2. re. wasting Qarl’s time: It was not wasted at all! It was the mesh deformer initiative that strongly prodded LL into taking the problem of fitting mesh clothing seriously. Qarl said many times that his was not the only way, and perhaps not the best way. I am glad LL took the time and efford to investigate the alternatives.


    3. Qarl’s time was anything but wasted. For starters, he was paid for the mesh deformer. 141 SL users responded to his crowdfunding campaign on Indiegogo and he received $5,555. Furthermore, InWorldz hired him (and, of course, paid him) to improve his code and incorporate it into their own viewer.

      Plus, his JIRA (STORM-1716) helped bring up a few other considerations regarding the avatar (such as STORM-1800).


      1. Speaking as one of the crowdfunders—albeit a minor one—he wasn’t paid nearly enough, considering the amount of time he ultimately had to pour into this. None of us expected LL to drag things out as long as they did.

        (I also don’t think “was he compensated?” really addresses the question of “was his time wasted?” but I will grant that your value system may vary. That the system is being put to good use in InWorldz is more of a comfort.)


        1. Pardon me, but $5.5K is an average person’s annual salary where I live (and most of it goes on “emergency taxes”), half the shops have closed for good, people are dumpster-diving for leftovers to eat and have resorted to using braziers to heat their homes because of something called fuel poverty (look it up) – and all this because they were thrown under the bus by the governments in order to save the banksters. So, indeed my value system is entirely different.

          As for whether Qarl’s time was “wasted”: Qarl budgeted and priced his work according to his own criteria. He reached the goal, got the money, worked for it and said “here’s the code.” LL was under no obligation to adopt his code at all, mind you – it was not something he was assigned by LL to do and he was no longer an employee of LL.

          Furthermore, he got paid again by InWorldz for an improved version of his code. Plus, the discussion of his JIRA brought LL’s attention to certain issues with the avatar itself (which won’t be easy to fix and whatever fixes end up being adopted will be compromises to avoid content breakage and the drama that will ensue).


  4. Kudos to Oz for the way this was announced, no rumors posted in obscure places, just clear communication at several official sites more or less simultaneously.
    One question though; I get that the first 3 new collision bones are for the jiggly bits, but what do LEFT_HANDLE and RIGHT_HANDLE do?


  5. “The third is that the viewer obviously will not work with either unrigged mesh or rigged mesh which does not make use of the new collision bones (or additional bones intended to work with the appropriate sliders).”

    Does this mean that all of the clothes and shoes I have bought that are rigged or unrigged to the standard skeleton (not the existing collision bones) won’t work anymore? Or only the Bax, Hucci and Redgrave items I have purchased that are rigged to the current Cbones?


  6. If so i can only hope 1 thing!
    That all mesh creators will refit and offer new adapted versions of their products ot customers (And i can wait in Hell for this to happen!)


  7. but i think that this answers:
    This solution won’t make your old mesh items magically fit, but it doesn’t sound like it will break everything you own, either. As long as the current bones all stay where they are (and it sounds like they will), all other rigged mesh items should be unaffected by the addition of those new collision bones to the skeleton


    1. As noted in the article, those items rigged using collision bones (and possibly their own custom bones tied to the sliders) appear to work fine. Unrigged mesh clothing appears to remain wearable with the usual (and expected) issue of not altering with the avatar’s shape.


Comments are closed.