The Mesh Deformer is dead, long live Fitted Mesh

UPDATE: Nalates Urriah pointed out that the Mesh Deformer did in fact support avatar physics, so I have updated the post accordingly.

In keeping with my habit of always being in arrears when it comes to discussing important issues, this post comes quite some time after the Fitted Mesh project viewer was announced on November 20th, much to (I believe) everybody’s surprise. Personally, I didn’t expect them to move forward with any technique that would change the current state of affairs regarding fitting rigged mesh clothing to our avatars. Before I continue, I’ll need to summarise the situation as it’s been so far.

It appears that, when LL decided to introduce mesh and rigged mesh, they didn’t expect fashion designers to take advantage of this technique to use it for avatar apparel, accessories and components. So, much to everyone’s frustration, they no provision was made to make rigged mesh clothing fit the avatar regardless of its shape. Furthermore, avatar physics didn’t play nice with rigged mesh, because of the way things have been implemented so far. This meant that:

  • Rigged mesh is not resizeable and you have to modify your avatar’s shape in order to make it fit the garment.
  • Even so, alpha layers are necessary to hide various body parts inside the garment’s mesh.
  • If you use avatar physics (for bouncy boobs and butt), these parts will bounce through the mesh garment.

To make matters worse, early rigged mesh garments were often made by their designers to fit certain shapes that they thought looked good while designing the clothing. This meant that customers often needed to change their avatar shapes drastically, leading to a fair dose of frustration. To alleviate the problem, several content creators got together and decided to standardise things a bit by establishing a standard sizing system, which has been adopted practically by every SL fashion designer making rigged mesh clothing ever since. However, this was not a panacea, and I’m sure the designers behind this system knew it all along.

The standard sizing system lists avatar shape slider settings for certain parameters for a set of sizes from XXS to XXL. However, there are some caveats:

  • Users are still required to adapt their shapes to fit the garments they bought.
  • Alpha layers are still required to hide various body parts that should not be visible while the avatar moves.
  • How well these bits are hidden depends on how well-designed the alpha layer is. Personally, I had bought garments whose alpha layers didn’t cover what should be covered (such as shoulder blades), even though my shape conformed to the relevant size – and I’m talking about garments from perfectly reputable designers.
  • It is up to each individual designer which sizes they’ll support.
  • Many designers don’t support avatar shapes where sizes are combined; for instance, a female avatar whose above-the-waist dimensions correspond to “medium” (M) in standard sizing, but with below-the-waist measurements corresponding to “small” (S) in standard sizing would find it a bit hard to find a one-piece garment (dress, jumpsuit, catsuit or gown) that would flatter her figure.
  • And, of course, all the other technical limitations are still there.

However, standard sizing was a step in the right direction, because it helped provide a template on which SL fashion designers could work with a degree of consistency – always depending, of course, on each individual designer’s care, capabilities and skills. Also, it encouraged many consumers to eschew the worst excesses in their avatars’ proportions and bring their avatars closer to what a real human looks like (of course, provided that we’re talking about human avatars and not robots, anthropomorphic animals, vehicles etc).

The Mesh Deformer

Almost two years ago, on November 24th 2011, Qarl Fizz (née Linden, real name Karl Stiefvater) filed STORM-1716 on Second Life’s JIRA system, proposing a capability for Second Life viewers (official and third-party) that would make the clothes fit the wearer and not vice versa. Back when I first blogged on the matter, I had quoted the Mesh Deformer’s functionality, as described by Qarl himself. Qarl also produced and provided code that could be incorporated in a viewer. Development of this code was crowdfunded by 141 persons who responded to Qarl’s campaign on Indiegogo, raising $5,555 for the project. Also, on July 6th 2013, InWorldz hired Qarl to improve his mesh deformer code and incorporate it in their own viewer, thus becoming the first Second Life-compatible grid to officially adopt his mesh deformer.

The discussion that followed in STORM-1716 showed that, while people indeed wanted the deformer (or an equivalent), they also were unhappy with several other things concerning the avatar itself. Tonya Souther of the Firestorm team was especially vocal in her criticism of Second Life’s default avatar mesh, and for good reason. Also, Qarl’s deformer did not provide for avatar physics. So, you still wouldn’t get bouncy boobs and butts.Another issue that Qarl’s deformer fixed regarding the behaviour of rigged mesh clothing was physics – with the deformer, rigged mesh clothing followed the “bounciness” of your avatar’s boobs and butt.

On June 10, I specifically asked Oz Linden about the deformer during the Open Development User Group meeting:

What’s the current status of the mesh deformer? What features have been requested by content creators? Of these features, which are the most important and which could be omitted or postponed?

Oz’s reply was:

The deformer is waiting for LL resources to evaluate how well it works and what its performance impact is. I have not been able to get the required people on it yet. I’m optimistic that will happen, but can’t offer any timeline. Sorry… I know that’s not a great answer, but consider that it could be worse.”

I dwelt on the matter a bit, because I wanted a more detailed answer. Also, I wasn’t satisfied with much  of the speculation that is still going around on the matter.

Oz, what features have been requested for the deformer to have? I know I might sound like a broken record here, but there have been discussions – on a level of discourse I don’t really care about, to be honest – where LL is portrayed as simply not bothering with the deformer or even plotting against it.

And Oz said:

“Mona – don’t believe 90% of what you hear. The target functionality is, I think, clearly described in the Description of the JIRA issue. Note that I did not say, ‘and the comments.’ That having been said, I personally have some doubts as to the total workflow – the confidence that the avatar bases being used are actually consistent. But I’m not really the right person to answer that question, just someone asking it. Note for example that if we accepted any of the changes offered in STORM-1800 [The vertex weights of the default character mesh could be better.], we’d be changing some aspects of that base.

The collision box around this mesh deformer-capable swimsuit is clearly visible. Good luck clicking on attachments that are inside it.

The collision box around this mesh deformer-capable swimsuit is clearly visible here, as I’ve enabled the viewer’s capability to show transparent objects. Clicking on attachments that are inside it can be more difficult than it would be if this collision box was not present.

Of course, I didn’t need Oz to tell me that most of the speculations and “analyses” regarding SL matters have a poor signal-to-noise ratio – I’ve been in SL since September 2006 (that was when I started my first account), I’ve seen more than my fair bit of bullshit and know-it-all pundits, and also, because of where I work, I understand the considerations and worries that come with software development. Also, thanks to my fiancé, I understand that solutions to decision problems where multiple criteria have to be satisfied are never optimal; they are always sub-optimal and which solution is considered “best” depends on which criteria are considered to be more important by the decision makers. In a nutshell, it depends on what trade-offs the decision makers deem acceptable. I’d imagined that these things should be pretty obvious to anyone, but, sadly, I was mistaken.

Now, does Qarl’s deformer have drawbacks? Yes, it does. As said, it doesn’t support avatar physics. As Nalates Urriah notes, it could lead to confusion in the marketplace w.r.t.  the “specified shape”. It would be hard for SL fashion designers to tell everyone which shape they based their design on, when there are thousands of different shapes.

Also, as I happen to have a piece of rigged mesh clothing that has been designed for deformer-capable viewers in mind, it has a collision box around it. This collision box is also scripted and has the colour change scripts in it. The thing is that, if you’re wearing other attachments and they are inside the garment’s collision box, editing them and/or manipulating their scripts (by clicking on these objects) becomes considerably more difficult, especially given the fact that people will need to Ctrl+Alt+T in order to show it and figure out how the clickable attachments within it – a step that is not particularly convenient.

Furthermore, Qarl’s mesh deformer only works with the current avatar mesh, which has received a good deal of criticism over the  years.

Please use the numbers below to navigate between the article’s pages

18 thoughts on “The Mesh Deformer is dead, long live Fitted Mesh

  1. I haven’t read your article in its entirety though I plan to. One glaring error I see is you say Qarl’s Mesh Deformer doesn’t work with avatar physics. This is wrong. It does indeed work with avatar physics. Qarl himself addressed this early on in his first video http://www.youtube.com/watch?v=yoOywmSKG2k

    Go to 5:10 of the video this is when he addresses this and even gives a demonstration.

    Another thing you are blaming what you call a collision box, which it isn’t a collision box, on the mesh swimsuit on the Qarl’s Mesh Deformer. This is wrong. You can’t see collision boxes in SL by pressing Ctrl+Alt+T. What that command does is highlight in red any face on a mesh or prim that has a transparent texture or alpha. Clearly the mesh swimsuit designer put a mesh box round their swimsuit and then made the face of the mesh box 100% invisible with a texture or alpha setting. Bad design but not due to Qarl’s Mesh Deformer.

    Further more criticism of LL’s default avatar mesh and it’s morphs do not make Qarl’s Mesh Deformer incapable of working with any new improved default avatar LL may design in the future.

    Indeed it take very little if any additional coding for Qarl’s Mesh Deformer to work with a new and improved LL avatar. In fact it would work better.

    Qarl was trying his best to keep the initial release of the Mesh Deformer as simple as possible. He has stated that there would be plenty of improvements that could be made in the Mesh Deformer Version 2.0.

    He knows how to get a new feature like the Mesh Deformer up and working and how they are improved over time and refined after it goes grid wide.

    1. Read STORM-1716. Qarl described the functionality of the deformer himself. As for what it would take to add further functionality to the deformer, your guess is as good as mine.

      1. Just wondering why you said Nalates Urriah pointed it out to you that you had it wrong about the Mesh Deformer not working with avatar physics when it was I who did?

        If you indeed already new about the error why didn’t you say so when you replied to my first comment? After all it was the very first thing I wrote you about.

        I posted my comments before you updated your article.

    2. I just remembered something – the collision box. What you are referring to is something different: I am talking about the (few) mesh deformer-capable garments I have, which use a prim as a “collision box” and this is what I’m talking about when I’m talking about a transparent box that you can see with Ctrl+Alt+T. What you are referring to, though, can be viewed by using the appropriate option from the “Develop” menu and indeed cannot be seen with Ctrl+Alt+T.

  2. OK on to page two:

    It seems to me to dismiss supporters of the Mesh Deformer as people suffering from some sort of fanatic delusion because Qarl made it us just wrong. I assure you that I a supporter of the Mesh Deformer am under no delusion and am very well familiar with its limitations as well as its capabilities and potential.

    Nor am I against the Fitted Mesh Deformer using collision bones method. Truth is neither one is perfect. Each has their positive aspects and negative aspects.

    The Mesh Deformer is not a silver bullet but then again neither is Fitted Mesh using the collision bones method.

    Again you insist that the avatar physics does not work with Qarl’s Mesh Deformer but you are wrong. It does. To be sure I just logged on with the latest Mesh Deformer viewer just to double check something hadn’t changed since I last tested the Mesh Deformer and it works. Bounding breast and the mesh I was wearing deformered right along with them bounding.

    The argument against implementing the Mesh Deformer in SL because in order to improve it a new avatar would have to be created by LL is an erroneous argument.

    The original default avatars never need to be replaced in order for LL to add new additional avatars. The addition of new avatars would not break old mesh that used the Mesh Deformer. Even if LL made the bad decision to replace the original default avatars with new ones the Mesh Deformer would simply use the vertex positions of the new default avatar’s to deform the old mesh. As long as the new default avatars basic default shape was somewhat close in size, to the original default avatars, then all the mesh made for the original avatars would fit the new avatars. The Mesh Deformer would actually make it easier to introduce new avatars not harder.

    It is the morphs, weighting, distribution of vertices and low number of vertices of the original default avatars that are lacking not the Mesh Deformer.

    There is a simple solution to the problems with the original mesh avatars that don’t require replacing them or adding additional optional avatars. Create a new invisible avatar mesh that while the same shape as the default avatars has more vertices evenly spaced with more around the joints, breasts. buttocks and pelvis. It would have better morphs but that still closely follow the shapes of the original morphs. It would not have UVs since it would be invisible just like the Collision Skeleton. Yes the Collision Skeleton is an invisible mesh all avatars in SL have. This would be no different.

    The purpose of this new invisible mesh would be instead of the Mesh Deformer using the original default avatar mesh vertices to deform mesh it would use the better invisible avatar mesh to deform from. Again this is something that could have been added to the Mesh Deformer 2.0 and not broken an content in the process.

    1. No. Qarl himself had said that his deformer only works with the existing avatar shape. As for the new invisible mesh idea, it would only lead to more lag, especially in crowded sims – and it can get really nasty.

      Now, as to the argumentation provided by supporters of the deformer (like you): Yes, there is what can be plausibly perceived as a belief that everything Qarl does is perfect and that it should be defended with zeal. This attitude needs to be dropped, because it doesn’t help anyone.

      1. I said using an invisible avatar to deform from instead of the default avatar mesh could be added to the Mesh Deformer 2.0. The 2.0 indicates changes to the code of the Mesh Deformer. Qarl was referring to the Mesh Deformer’s current code when he said it only works with the existing avatar shape.

        You invite comments on a blog titled “The Mesh Deformer is dead, long live Fitted Mesh” and I respond calmly, intelligently, concisely, logically with accurate information and details yet you insist that I must be doing so because I have a belief that everything Qarl does must be perfect Something tells me I am not the zeal.

        1. Still, the idea of an extra mesh (invisible or not) can lead to potential problems with lag; it adds further geometry that will have to be sent from the server to the client. This, in extreme situations, such as overcrowded sims, can cause a user’s router to shut down the connection, thus making it look like a viewer crash. It’s a phenomenon that has been observed quite a few times in the past, and I’m not the only one who has experienced it.

          The way I see it, and from my understanding of what you’re saying, it’d be like having the avatar wear twice as much mesh. Personally, I don’t know how much this would add to the avatar’s render weight. Bear in mind, though, that, due to the recent anti-griefing measures, avatars with a render weight above 500,000 are capped.

          I have my reservations regarding this suggestion of yours, and I am not optimistic regarding its impact on overall performance.

          Another misgiving I have is that this extra layer will have its own thickness. More often than not, people wear scripted, clickable attachments on their avatars. With SL clothing designed for the current version of the mesh deformer, I’ve seen collision boxes which can eventually encase said attachments, greatly hindering access to them. I’m not sure how this would be alleviated with your proposal.

          At any rate, this whole issue is hypothetical and I’m not sure this is the best forum for you to put it forward; I am not a 3D graphics and avatar design expert, and I don’t influence the engineering decision-making process of any virtual world provider. So, besides these issues that a laywoman like me can think of, there’s not much else I can offer to a discussion of your idea. Perhaps someone who knows more (like Nalates Urriah) could offer greater insight.

          1. You bring up some valid questions and concerns about using an invisible avatar mesh for the Mesh Deformer to deform from let me address them.

            Would an invisible avatar mesh increase and or double the amount of mesh an avatar is wearing. Yes and no. Yes it would be like basically wearing one more mesh item of clothing. While yes it would increase the number total number of vertices the invisible mesh avatar would not come even close to what I seen the average mesh designers have been using for things like hair or clothes that cover most of the avatar.

            You yourself are in favor of a new default avatar mesh and getting rid of the old avatar there by making all residents use the new default avatar. Any new improved default avatar would have an increase in the number of vertices that make up the avatar by about as much as the number of vertices that are in the current default avatar and the invisible mesh avatar combined.

            The invisible mesh avatar wouldn’t have to load until an article of mesh clothing that uses the Mesh Deformer was worn. So no extra lag would be added to by those avatars not wearing such mesh clothing.

            Your next concern is would that invisible avatar mesh interfere with the click-ability of mesh clothes or other items the avatar is wearing. The answer is no it would not. The invisible mesh avatar would not be rendered just as the Collision Skeleton mesh is not rendered and is not clickable.

            Remember the example you are using of the swimsuit that is being deformed by the Mesh Deformer is an example of bad design by the content creator who made the swimsuit. The designer could weight the same exact swimsuit to the collision bones making it Fitted Mesh and you would still have that same large red box that is in your photo.

            You are right that when content creators add invisible faces to their mesh or even sculpties and regular prim attachments, to make them more easy to click they can overlap each other making it actually harder to click on attached items. But this is a content creator design issue not a deformer issue whether it be Fitted Mesh deformer or the Mesh Deformer.

            It is good of you to be concerned with the amount of vertices an avatar is wearing. Whether it be from mesh or sculpties or prims. It can be like a baby elephant running around in a china shop.

            But while you are looking at the baby elephant you are missing the full grown bull elephant that is charging you. It is the shear ridiculous number of scripts and the large number of huge textures that the majority of content creators are using in their items they are making for the avatars to wear that cause that vast majority of what residents perceive as lag. This will not change with using the Fitted Mesh deformer or the Mesh Deformer.

            Any deformer will contribute to lag in SL. It is just that the lag it will contribute is relatively minor.

          2. Regarding the contribution of scripts and unnecessarily high-resolution textures, I have already written here. And Penny Patton has also written about it (long before I did). I’ve been to places in SL whose plethora of exceedinly high-res textures caused my viewer to crash and I still wonder why tiny objects would need a different 1024×1024 texture on each of their faces. And don’t get me started on breedables and inefficiently-coded scripts. It’s true that most of the lag in Second Life is user-generated, but who listens?

  3. Page 3:

    Even if the Mesh Deformer had been chosen by LL it would not have broken any Liquid Mesh that had already been made. In fact Fitted Mesh and the Mesh Deformer can both work at the same time side by side or in tandem. They each deform the mesh in totally different ways.

    The Mesh Deformer works by using the avatar’s vertices positions to move the vertices of the mesh clothing. The Fitted Mesh or Liquid Mesh weight to the collision bones of the skeleton. When you change the size and shape of your avatar in the editing appearance window it changes the scales of the collision bones making the vertices weighted to them get bigger or smaller in proportion.

    LL needs the original collision bones because that is what the Collision Skeleton mesh is weighted to. It is the Collision Skeleton mesh or as you put it “collision volumes” that the viewer uses to calculate collisions with your avatar. So it is very unlikely that any mesh weighted to them would ever be broken. Implementing the Mesh Deformer would not requite LL to do anything with the collision bones or mesh that had been waited to them.

    Now LL could have decided not to allow anymore mesh be uploaded to the collision bones but that would not have broken any Liquid Mesh that had already been uploaded.

    If a clothing designer wants their existing inventory that is already uploaded to SL to work with Fitted Mesh / Liquid Mesh collision bones they have to rig their mesh all over again from scratch to the collision bones. This is a fact.

    It is a fact that rigging and adjusting the weights of mesh that is weighted to the collision bones is harder than rigging and adjusting weights of mesh that is weighted to the normal skeleton bones. Why?

    Because now instead of just having to adjust the weights so the mesh bends nicely when a joint is bent, the weights also have to be adjusted so when the scales of the joints are changed the meshes vertices scale up larger or smaller smoothly. Since not all the joints scales get bigger or smaller at the same time this means you have to worry about getting the surrounding joints and vertices to scale smoothly from one joint to the next.

    Fact all that is required for old mesh to work with the Mesh Deformer is to upload your existing DAE files again and in the upload window select a few options. Worse case scenario you made your mesh to fit a shape other than the default shape. All you do is import the default female or male avatar mesh into your scene where your mesh is. You don’t even have to re rig your mesh. Just adjust the vertices to fit the default shape and export your DAE file. Then upload selecting a few options for the Mesh Deformer and you are done.

    1. From what I understand, the main reasons behind the Lab’s decision to go with Fitted Mesh rather than with the Deformer have to do with keeping viewer code modifications simple and easy to maintain. As Qarl himself admitted, this is where the solution preferred by the Lab wins.

      Also, let’s talk about your worst case scenario, which has caused concern (Nalates Urriah has pointed it out) – using a shape other than the default. Things could get rather… interesting (to put it mildly) in the case of content creators who bought prefab mesh clothing from original, stock creators that didn’t use the default shape to begin with.

      1. Yes the Fitted Mesh deformer would be easier to maintain than the Mesh Deformer. As I has said before each deformer has their advantages and disadvantages.

        However the same source where are getting your information that Qarl admits that the Fitted Mesh deformer would be easier to maintain Qarl also has said he has two inside sources from people who work at LL who have said to him that LL told them that they would never use any code written by Qarl.

        Do I believe Qarl? Yes. You may not.

        I invite anyone to listen to the entire podcast and hear for themselves:
        http://metarealitypodcast.com/good-solutions

        The worst case scenario you are talking about is also true for the Fitted Mesh deformer. Content creators must use the default avatar mesh shape to fit their mesh clothing to in order for the mesh to fit right in SL.

        In fact Qarl added an option to the Mesh Deformer window that eliminates the worst case scenario you are talking about. Qarl added. in the options of the Mesh Deformer upload window, an option to upload the XML file of avatar shapes other than the default avatar shape. To get this XML file the content creator would just wear the same shape as the one they used to fit their mesh to when creating the mesh clothing. Then under the Develop menu of the veiwer go Avatar > Character Tests > Apperance to XML. Then to get the XML file for upload the file would be here C:\Users\\AppData\Roaming\\logs\__s_0000.xml for LL viewer 3. The XML files are stored in slightly different places and names depending on which viewer you used to export your XML file from in SL.

        If a content creator used a different shape other than the default avatar and then sold the mesh as a prefab, all the content creator would just include with the DAE files, that is if they are selling the DAE files, the XML file of the shape they used. If the mesh is uploaded by the content creator and the resulting mesh sold with full perms then the buyer of the prefab would not need the XML files.

        What we are talking here are just good basic business practices. Just as including a notecard with instructions is a good business practice but not necessarily something that is mandatory. Should LL not allowed any attachments that had scripts in them to be sold just because of the possibility a content creator wouldn’t include a notecard with instructions?

        If someone is buying prefab Mesh Deformer mesh or for that matter Fitted Mesh before the deformer was fully implemented into LL main viewer and fully adopted they are taking their chances of that mesh being broken at point.

        The ability to upload XML files for the Mesh Deformer was to make it easier for content creators to create mesh that fit better avatar shapes other than the default avatar shape. This made fitting extreme avatar shapes, which you said the deformer didn’t perform well on, fit those shapes well.

        Let’s face it the default avatar shape has fairly small breast and is not very curvy nor as tall as the average female avatar shape most of us are wearing. So using the default avatar shape to create on is less than ideal because as the Mesh Deformer deformes the mesh to the more busty, curvier avatar shape the mesh didn’t always look as nice as the content creator wanted it to.

        The solution, let content creators use what ever avatar shape they wanted and just upload that XML shape when they uploaded the mesh. Problem solved.

        Mind you the Fitted Mesh deformer we are stuck with designing only for on the default avatar shape. No solution for this has been put forth that I know of. The only thing I can think of is if LL made available some way to simulate all the avatar sliders in the editing appearance menu for Maya, Blender, ZBrush and a number of other graphics programs. I highly doubt they will go through the effort to do so.

        1. As I’ve written on that exact matter, I’m not privy to the specifics of whatever animosity may exist between Qarl and the Lab, and I’m not going to get into it. It’s true, however, that companies sometimes decide to not only part ways with certain people of their staff, but also say “…and stay out!” – this sort of thing does happen.

          I highly doubt we’ll ever see a capability to upload custom shapes for all sorts of different outfits. The idea was put forward in several user group meetings and none of the Lindens present was too hot on it. It’d be terribly hard for them to maintain and it’d cause lots of confusion on the marketplace – at least that’s what they said. So, while many content creators wanted to be able to upload all sorts of different avatar shapes (including non-human), this appears sadly to be quite unlikely.

Comments are closed.