Fitted mesh: “LL’s assessment here is mostly good” – Qarl

The major topic of conversation during the course of the week has been the Lab’s announcement that they have released a new project viewer which can be used to make suitably rigged mesh garments deform to match an avatars shape as it is adjusted using the viewer Edit Shape sliders. It does so by using a modified version of the avatar skeleton and collision bones, as I was able to preview just before the project viewer was launched.

Rigged mesh deforming to changes to the pectoral sliders in the Fitted Mesh project viewer
Rigged mesh deforming to changes to the pectoral sliders in the Fitted Mesh project viewer

Since the Lab’s announcement, the response from various sections of the community have been mixed. Some have welcomed the new with open arms; some have questioned the overall flexibility of the solution compared to others, some have regretted the “loss” of the deformer and some have reacted in outright hostility towards the Lab.

In terms of the technical aspects of the solution, Karl Stiefvater (Qarl Fizz), who coded the mesh deformer, took time out to leave a comment on STORM-1716, the JIRA for that project, which reads:

Several people have asked me – this seems like the best place to answer.

LL’s assessment here is mostly good. In almost all situations, the simplest solution is the best one – and collision bones are indeed MUCH simpler than the mesh deformer. As I see it, collision bones have two downsides: 1) they are substantially harder to use for the person creating the garment and 2) probably don’t track as well to the avatar shape.

In the end, the evaluation must be made by the content creators who use the tool.

I will reiterate that the two-year delay and refusal to communicate are unacceptable.

Avatar collision bones (image courtesy of Gaia Clary)
Avatar collision bones (image courtesy of Gaia Clary)

This would seem to be a reasonable assessment. The use of collision bones is technically easier and, as noted elsewhere, is less reliant upon a large amount of code being added to the viewer which then needs to be managed and maintained as the viewer evolves, but it does have some drawbacks.

Commenting further on the subject in the Metareality podcast on Friday November 22nd, Karl added:

It [the avatar skeleton] already had a bunch of these bones in it for collisions. I have never, ever notices that someone shoots a bullet at me, and my avatar is fat, it actually hits me as if I were fat … It’s incredible that they put that kind of detail into it ten years ago. But, OK, they did. So my feeling – just to head-off any drama – is that it’s a nice solution. It is definitely a simpler solution, which is preferred in all software engineering, and probably all of life.

He went on to reiterate the fact that a downside of the approach is that it can making creating and rigging mesh garments harder, although as William Reed Seal-Foss observed:

Well, speaking from an artistic standpoint … and knowing how to rig, that’s already not fun, and it’ll make it more not fun, but it’s not going to be like you have to learn to do something new.

Pressed on the matter, Karl reconfirmed that while the Fitted Mesh approach may have weaknesses, he does feel that it is a good solution, noting, “Obviously, I’m invested with the one that we did, but this is good. This is good,” before also noting that as a technically simpler approach, Fitted Mesh is likely to hold-up better over time when compared to the deformer.

This still leaves the question as to whether personality may have played a part in the Lab’s decision. In the podcast, Kimberley asks Karl outright if he believes this to be the case, and he indicates that he believes so, stating, “I heard back from two different people inside the lab that told me that Linden Lab would never accept my code.” One would very much hope that matters weren’t influenced on the basis of personality; but the fact that the Lab previously rejected code from Karl for reasons which appeared tenuous at the time, would seem to be point to there being an issue of some description.

The debate over the pros and cons of each system will doubtless carry on in some quarters, as will the theories as to why one was selected over the other. In the meantime, feedback on the Fitted Mesh viewer is being generated and the Lab is working on updates. In terms of the technical aspects  / limitations of the system, it remains to be seen how they may impact things. As it is, the approach has arguably been used to good effect by the likes of Redgrave and other designers and has proven popular among consumers. Hopefully the same will prove to be the case as this solution proceeds through to a release status and as it is adopted by third-party viewers.

Related Links

Advertisements

7 thoughts on “Fitted mesh: “LL’s assessment here is mostly good” – Qarl

  1. It does complicate rigging quite a lot. Weighing a single vertex before was just about how well it deformed when rotating a bone, but now there’s a second concern of weighing for shape sliders. This is especially problematic when weighing to bones that don’t exist for avatar animation.

    Despite the added complexity, it helps a lot. I would’ve preferred Qarl’s solution because it wouldn’t have complicated rigging and I believe he’s right in guessing the deforming won’t be as good due to split concerns in rigging, but this most certainly is a lot better than nothing. Still, we didn’t get the ideal solution. This might be the simpler solution for Linden Lab and save tens or hundreds of hours for them, but over the years it’s going to amass a million more hours in rigging for creators trying to find balance between rotating and scaling weights.

    Like

  2. The idea that LL rejects code simply because Qarl wrote it, or not, brings up an important reminder for us all. Clearly LL has created, maintained, and developed a platform that we all value greatly. We have much to appreciate LL for. But for many users LL has always felt like so much secrecy and so little transparency. Keeping trade secrets from competitors? Contempt for their own users? Just a habit of excessive control? Who knows. But I think, among other things, this is a reminder how much resentment a lack of transparency can generate. Whether you’re “just a blogger” being transparent about how you handle gifts or other potential biases in your work, or a big lab providing a monumental platform for millions of users, I think the lesson is the same: we’re better served by moving from the “private by default, public of necessity” model, to the “public by default, private of necessity” model. Neither an individual, a lab, nor a nation can be 100% open. But probably we can all be a lot more open and create better relationships and stronger trust in the process.

    Like

  3. I wonder if this is going to diverge SL from OpenSim even more. I liked the Quar’s project more, but there isn’t an ideal solution and I’m happy about Fitted Mesh anyway.

    Like

    1. There might be some issues about rights to the modified skeleton, but since the collision-bone process seems to have worked with existing servers and viewers, and was provided by 3rd-party creators, I reckon the lab might struggle to get an IP-lock that can keep this out of OpenSim. You can see some aspects of the use of Havoc code in that light, but the OpenSim people seem to have worked out an alternative that allows the upload of mesh models to OpenSim.

      I do wonder just how much Mesh gets into OpenSim. It’s not something I have ever really worried about. I run an OpenSim instance to do various things that would be insanely expensive in SL. Maybe SL are trying to build one of those walled gardens for Mesh.

      Like

Have any thoughts?

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s