My Problem
I like tight skirts, which is no problem. But, building them for use in Second Life™ has been proving to be a problem. Fortunately for me the latest Deformer is working well for my designs. But, I design for shapes around the middle range of avatar shape settings. As the settings reach minimum and maximum settings my designs start to show problems. The technical explanation is: they look like crap.
So, it seems the farther the Deformer has to deform the poorer the results. It is probably not reasonable to expect the Deformer to resolve problems with the base avatar, user weighting, and the oddities of users’ models. The more the Deformer deforms the more it magnifies small problems and that is just the math of deformation. While damping of the magnifications can be added, that creates other problems. So, we may well have the best mid-range deformer now, which I think is what the majority of designers and users need. Now it is a matter of how to handle the more extreme cases, often called edge cases.
So, people are looking at alternative ways to decide on the base shape to minimize the amount of deformation needed.
Henri Beauchamp Proposal
Henri makes the Cool VL Viewer and has contributed code to the Second Life community for some time. He is looking at a bit of a different approach to get well fitting clothes that will work with the existing Deformer.
Instead of adding visual parameters for specific shapes, I propose to add a radio-button to upload models that deform against the uploader’s currently worn shape.
The attached deform_to_current_shape_patch.txt is the patch allowing [one] to do that (applies cleanly to the Cool VL Viewer v1.26.5.10 sources, but it’s dead easy to backport to LL’s v3 viewer, and yes, I release this patch under LGPL license so that any viewer can reuse it). Reference
This idea has merit on several points. As the Deformer is now we will be specifying base shapes. These shapes will have to be defined and built into the viewer for use with the Mesh Uploader. So, when you come up with some unique shape that none of the existing shapes work well with, you will have to get it added into the viewer. That can takes weeks.
I can imagine that after some time we will have some huge library of shapes to deform against. It may reach the point it is hard to know which shape to use. I think it presents the possibility of unnecessary complication.
Henri’s idea eliminates those problems. All one has to do is wear the shape they want the mesh item to use for a base shape. Add a Deform against shape labeled: Current Shape. That would provide for an almost infinite number of base shapes.
Henri later expands his explanation:
Also, with my method you can easily get almost any rigged mesh to fit all avatars: just upload the mesh without any deformer flag first, then wear the rigged mesh as well as a new shape and dial the parameters of the latter shape till the mesh fits perfectly. Finally, re-upload the mesh with the shape deformer flag set to “Worn shape”. Voilà, your mesh will now fit any shape and you didn’t even have to spend hours in a 3D modeler to make it fit a SL shape first.
This is an interesting twist on how to handle shape and clothes fitting. It is not going to be as easy as Henri makes it sound. But, it certainly seems easier to understand and use than what we are doing now. It would certainly allow faster adoption of new base shapes and eliminate the need for a large library of shapes. Best of all it puts adding shapes in the hands of the creative types.
Karl commented on the idea:
Henri – not sure why your idea is getting poo-pooed – seems like the perfect solution to my eye. (Do you guys realize that the base shape is not actually a mesh?) Regardless, I’m staying out of this one – you all can beat each other bloody over the details.
One thing tho – are you capturing non-morph params? You might want to filter to just the morph (not skeleton) params to save space in the mesh header. (I don’t know if there’s an easy way to detect them via the visual_param interface.)
Of Note
One of the ways to get a shape out of SL is the XML export. The thing is the XML export just exports the shape settings. Those cannot be used with a bare Blender to import the shape. There are retail programs that convert XML shapes to something Blender and other modeling programs can use. See SLAV from Wiz Daxter and Avastar from Gaia Clary.
Cool VL will allow one to import the XML shape to SL. I think Cool VL has the ability to export the avatar mesh deformed to the current shape just as Phoenix 1185 does, which can be imported to a modeling program.