On the 31st Qarl Fizz released a video update on the mesh deformer. I have the YouTube link below. This is good news and we get more information on how the Deformer will work. Gianna Borgnine of MetaReality was tweeting about the coming announcement in their podcast. I’ve been involved in the holidays and not paying too much attention to events in SL. So, this is a nice New Year’s surprise for me.
The video is 16:03 minutes long.
00:00 – Qarl tells us that in this alpha release the heavy ‘heavy lifting’ part is done. The math and integration to the viewer’s render pipeline is done. This does not mean the Deformer Project is complete. It means the foundation has been build and is ready for testing. Qarl is ready for feedback on the Deformer.
01:00 – Qarl demos the project to show what is complete and how it is working. He first explains the current mesh problem and shows a fat avatar poking through a mesh jacket. (done @ 3:10) From 04:06 to about 05:00 Qarl demos how the deformer works with his project viewer. The Appearance Editor is slow rendering the avatar image you see in its panel. But, it does show the avatar wearing the mesh jacket. I don’t recall the editor showing attachments. I’ll have look later today to see if my V3 viewers show attachments in the Appearance Editor.
05:00 – Qarl goes on to show that a nice surprise is the code works with Avatar Enhanced Physics. This is a really poor demo of body physics. Qarl admits he is not a fan of Avatar Physics. It shows. I found it rather painful to watch. I suspect that if we could see Lindens using the viewer for tasks we are proficient with we would understand more about why Lindens have such a different view of SL than we do. Whatever, Qarl flounders around trying to demo avatar physics that doesn’t show much. I’ll take his word it works.
07:20 – Another nifty thing is the Deformer works with non-human avatars. Qarl uses the Flufee avatar to demonstrate how it works. He points out that even without the Mesh Deformer some Appearance settings affect mesh attachments. Settings like height and body thickness have an effect. Body Fat is a setting that will push the avatar through a mesh. With the Deformer the Body Fat setting also affects the mesh.
Avatar Physics also work with mesh avatars like Flufee.
So, these nifty little surprises answer questions I’ve had about how the deformer will work. From this knowledge I expect to see many new products and upgraded products taking advantage of the Deformer. For instance when breasts are bouncing the problem of breasts going one way and add-on nipples another will be resolved (think Xcite).
08:40 – Qarl begins to explain what the code is. He doesn’t go all geeky on us. It seems the code is modular and I get the impression it is easy to add into viewers. Whatever the case, Qarl is asking that Third Party Viewer (TPV) Developers and the Lab add the feature into a viewer for testing. At this point Qarl needs testing feedback.
09:05 – Qarl gets into some of options of the development path. The directions we take will control how the deformer works. One of the decisions is whether we make a change to base SL mesh. In the mesh definition that is stored in the LL Asset Servers we will need to make a change. As things are now, the Deformer will affect all mesh added to an avatar. That is probably now a good thing. Consider. A mesh gun or sword added to an avatar bending to fit your shape. Not a good thing.
Getting the Lab to change the base mesh data format may be a challenge. What needs to be added is a flag (Boolean – true/false) that tells the deformer whether to operate on the attached mesh or not. Will the Lab be willing to do that? What will the change do to existing mesh content?
10:30 – Qarl talks about the efficiency of the Deformer. There is lots more fumbling around and at 13:00± Qarl finally gets to the point… When a mesh is worn there is an initial performance impact as the Deformer associates all the mesh’s vertices with the avatar’s vertices. This process is rather simple at this point and will likely be optimized in the future. Plus the process may evolve to a more sophisticated process in the future.
Once the initial relationships have been calculated the deformation process is fast. Qarl points out that this Mesh Deformer is not the only mesh deformation happening in the viewer. Facial expression and hand positions are also deformations.
15:30 – Qarl is asking for help stress testing the feature. Bug reports are to be placed in the Linden Lab’s JIRA. I’m not quite sure how well that will work, but that is the plan for now.
From comments in other places and one by Qarl in the video, some of the fumbling around in the video may have been due to illness and/or lack of sleep. While I would like to have seen the video cleaned up a bit more than it was, I suspect Qarl’s time was limited. I would much rather his time be spent working with the code than making videos telling me what’s happening.
But, you can read my review 🙂 and not have to deal with the video.
It is nice to have the Alpha version out. For now this is viewer code that is being released. Not a working viewer you can try out. We will have to wait for a working viewer with the code to try it out. Qarl has the Second Life Mesh Deformer Code up here. (That is a direct link to the code.)
I expect we will see the code first appear in TPV’s. Anyone taking bets on which viewer will have it first?
I would guess Milkshake, Dolphin, or Nirans will put out a version with the Deformer. I omit Firestorm because I suspect they will put it in a viewer and give it to their QA people first. Sometime after that we may see a Firestorm version with the feature. We may see all the developers play with the code and provide Qarl feedback. We may see a couple of iterations of this process before the feature makes it to users.
I suspect clothing makers will be hungry for the feature. We are hearing rumors that the default avatar will have to be used for making mesh to have things fit the most avatars. After listening to Qarl and seeing the video I am doubtful that is the case. I’m not going to sort through the code and figure out what it is doing. But, I think it is deforming a mesh based on where the vertices are in the avatar mesh. That would mean it really doesn’t care what mesh one starts with, just what is there when the mesh it put on.
If that is not the case, I’m not sure how it would be possible for a Flufee mesh to work.
UPDATE: reading more about the code and listen to people talk about their experiments, it is obvious a flag will likely be needed to tell the deformer what to deform and what to leave alone. Darien Caldwell over at SLUniverse read through the code. Qarl is using the LLVOAvatarDefines for the base avatar. I’ll have to find a copy of the avatar… I have links to it somewhere in the blog. Also, Ayamo Nozaki posted at SLUniverse showing an image that shows mesh feet being destroyed by the deformation (nothing wrong with Qarl’s code, it is the base avatar. But, changes to Qarl’s code may provide a work around).
I am looking forward to getting an alpha version viewer to see how it works. This makes a nice start for the new year.
Happy New Year everyone!
Update: OK… question answered. Nirans Viewer has added the Deformer Code.