Second Life Mesh News
Everyone has questions about the new meshes now in open beta. Yesterday the Lindens in Nyx’s office hours had a meeting and answered many of the questions asked. I’ve separated out the answers from the chatter and added embellishment where I can. I have also fixed some spelling and punctuation… and probably added my share of mistakes.
You can find the transcript here: http://blogs.secondlife.com/thread/41151
“Cobalt Neutra: will we be getting morph targets, so mesh avatars can have facial animation like blinking and speech?” — Falcon Linden: No, this is not something we have plans for immediately. If it’s a feature you really want, gather votes for it in jira and we will reconsider it at a later time.
We can make meshes to replace the default mesh Linden Lab uses for avatars. This means we can give ourselves new bodies. Rather than hide our avatar and add attachments, we literally replace the avatar body.
There is a gotcha in doing that. For now we cannot change the skeleton. Nor do we have ‘attachment’ points for lip, tongue, and face in general. This means we can’t use emotes with replacement skins made from mesh.
Slow Internet Connection
Liz Venenbaum: Feature request: Client-side limit on number of simultaneous connections for mesh streaming. I put a JIRA up about that… Basically it says: Since I’m tied to a slow internet connection, meshes won’t rez at all, since the viewer uses like 60 connections at once, which drown my network bandwidth…” – Nyx Linden: good feature request! Could you file a CTS feature request tomorrow for it please?
This is bad news for those with border line connections. See: VWR-23422
“TheyCallMeDick Cheney: Hi, Is there any prospect of IK or chains in the near future ?” — Falcon Linden: Same answer as Cobalt’s. We don’t have immediate plans for this (though I think we’d all /like/ it). Go ahead and collect votes for this one as well.
This feature has to do with animating the avatar and meshes placed on them. Kinematics is about moving the avatar skeleton. Moving the upper arm moves the lower arm, hand, and fingers, everything from the upper arm down moves as a unit. Moving the lower arm moves the wrist, hand, and all attached below the lower arm. But nothing attached above the lower arm moves.
Inverse kinematics would allow one to move a finger and the hand, wrist, lower arm, upper arm would move to follow our adjustment.
It makes animating much easier. It is also a complex addition to any software. The Lab is not planning to add it unless there is high demand for it.
” tx Oh: another question: the positive effect of meshes should be mesh hairs instead of prim hairs. But meshes are not flexible. Do you go to support flexible meshes or at least flexible sculpts?” — Falcon Linden: No, there are no plans to support this in the future and it is extremely unlikely we will support it. However many votes it might get. Flexies are unreasonably expensive. However, you might have more success pushing for proper cloth simulation (it’s already something we’ve thought about, though with no actual plans and almost certainly not in the next year)
Having flexible mesh is important for those making hair. Everyone has thought about how great hair could be with flexible mesh. But, it is clear we are not going to get it. There are some cheats that allow one to make sculpties flexi. We may find some for meshes. The problem is the render load this places on the client machine and the lag produced.
Falcon mentions ‘cloth simulation’. We are seeing this in advanced games with strong render and physics engines. Many rely on high end graphics cards to show the effect. Otherwise a low end user can’t see it. Cloth simulation is something many companies work on and is being highly optimized. At some point is likely to be available. It is also not the specialized process flexies would be. So, going the cloth route would make SL more compatible with other Virtual Worlds.
Plus it would make for nice swishy skirts.
Mesh and Prim Size
“Latif Khalifa: Blog announcement for meshes said prim limit is increased on the mesh sims to 64. Still cannot make prims that big, something viewer limits?” – Nyx Linden: You should be able to import larger meshes and they will survive until you try to resize them. There’s a bug where it still gets cut down to 10 meters when you go to resize it. We know about it and will fix it as soon as we can
There seems to be some confusion on whether all prims or only meshes can be sized to 64m. The direction seems to be for all prims. For now we don’t know. But, meshes are planned for 64m.
However, right now one can handle meshes like mega-prims. Build a large mesh object and import it. Avoid scaling it’s size in world and it remains an over sized mesh. However, it may not remain that way. We’ll have to see what reaches the main grid.
Ray Casting – Mesh Physics
“Vex Streeter: Q: does llCastRay interact with the physics mesh or something else?” Falcon Linden: It uses whatever physics representation is used for collisions. What that is depends on how you uploaded your mesh and what its physics shape is. See Mesh Physics
If you play in combat SIM you know about LAG… I mean really serious lag you would not put up with anywhere else in SL. A large part of the lag is caused by bullets. Twelve rounds per second is common and 100 rounds per second is not unheard of. Imagine rez’ing bullets from 20 avatars firing 12 bullets a second, all scripted (the bullets are scripted to die on collision). That is a huge amount of prims to add to the SIM.
Ray Casting is a method to solve intersection problems. Shooting an avatar is such an intersection problem. A new llCastRay is a new scripting function to allow one to solve this problem without using bullets.
Vex was asking about how this will work with meshes. Can we hide behind things made from meshes to avoid getting shot? Can we shoot avatars made from meshes? How will all this work? For now some of this is getting worked out. But the basic are explained on the Mesh Physic page.
Mesh Physics TIP
Falcon Linden: Also, don’t forget that you can view the physics shapes by opening the develop menu (Ctrl+Alt+Q) and turning on Render Metadata|Physics Shapes. Sometimes you need to select an object before the physics shape will be displayed, and the feature isn’t complete, but it is a start
Buttons – Inside Out Mesh
“Krull Quar: FYI, sometimes when you upload a mesh its inside out, revert it to a regular sculpt stitching shape, select the inside out option, then revert it back into Mesh stitching and it work just fine.” Nyx Linden: <- FYI, thank you!
Some meshes fool the loader and get turned inside out, it’s a bug. It will but won’t be fixed. Some meshes can fool the importer no matter how good it is. Krull found a work around.
“Lollito Larkham: what are generate normal and consolidate button?” – Nyx Linden: generate normals recalculates the normals for your mesh. Consolidate tries to get all the pieces of your mesh into one submesh. We hope to get to document this soon, but if anyone has the time to do a write up on these functions, the help would be greatly appreciated.
“Drongle McMahon: What is the official difference between “solid” and “surface” decomposition?” — Falcon Linden: Hmm. No one really knows. But in general, solid works better for shapes with hard angles and clear interiors and exteriors, and when triangle windings are consistent. Surface works better with other (most) models. Try ’em out and tell us!
“Ashasekayi Ra: Today, it was just mentioned that we can’t change a UUID with mesh in scripts. It worked before to swap out a mesh. So, that functionality has been removed? Or, is the mesh UUID statement about something else?” – Falcon Linden: Right now I think it works, but disabling it is on my to-do list. It is too expensive to allow people to “animate” meshes by UUID flipping.
If you work with sculpties, you may have leaned that one can animate them by swapping the sculpty map. It is sort of like changing a texture by script control. One simply changes the sculpty map via a script. You may have seen a whale or dolphin flipping its tail. This is often done with sculpty map swapping.
It would seem we could do the same thing with meshes. After all, we use the sculpty map window in the Build/Edit tool to change or add the mesh definition (map?) to a prim attribute. What Falcon is saying is they will block such swapping for mesh. The reason is the swap creates a large render and server load they find unacceptable.
Collada Export Information
“Annie Milestone: QUESTION: I’d like to know which the minimum information is that has to be included in the Collada file. For example: Is the “Effects”-Section interpreted in any way in SL or can I delete it in the collada file?” Nyx Linden: I believe we don’t support anything in the “effects” section, but I’ll have to double check. Do feel free to experiment in the meantime
This tells the mesh builders what features available in Blender and other modeling tools are supported in the Collada import of SL. If you don’t already know, one can do more in Blender than SL can import.
“IDestroyed Tomorrow: I’ve read online in several places that there is work being done on custom rigging that does not rely on the default SL avatar skeleton to work. Is this true, and if so when can we expect to see it in action?” Nyx Linden: it works already! see our walkthrough for uploading a “rigged” mesh. You just have to provide bone weights for each of the vertices
Nyx Linden: sorry I was wrong on that last one – we don’t support custom skeletons yet, you have to use our rig, just not our mesh
Nyx Linden: adding support for custom skeletons would be nice, but we don’t have any work started on that yet.
IDestroyed was asking about using a skeleton other than the current avatar skeleton. I think Nyx misunderstood. The answer is we can’t and it will be some time before we can, if ever.
Editing Mesh –Changing Upload Setting After Upload
“tx Oh: Nyx avi seems to have a bad LOD setting, can he change it in-world or does he/she/it needs to re-upload?” — Falcon Linden: Yes. You cannot selectively modify a mesh asset after upload
Annie Milestone: QUESTION: If I don’t define LOD meshes during upload, how can I add them later? I heard it is possible to add them later, but I didn’t find any option of that kind so far” — Falcon Linden: No, once a mesh asset is uploaded, it cannot be changed.
The upload panel contains a number of options and requests for information about the mesh being uploaded. Once that upload is made there is no way to change that information. Nor, apparently, do they plan to try and add a means. Get it right on upload. Remember. Uploads are free on the preview grid.
“Funk Schnook: I know the prim accounting is changing, but is there a rough estimate right now converting triangles to prims so we have some idea before uploading? When mesh beta started it was about 250 vertices per prim” see https://wiki.secondlife.com/wiki/Mesh_costs and https://wiki.lindenlab.com/wiki/Mesh_Physics – this is our current thinking on costs. It’s not quite as simple as vertices / prim. I know about that and reading it made my head explode… thats why I asked for another way
Nyx Linden: we’ll be providing better tools to tell you what your meshes will cost before you upload
Everyone is trying to figure out mesh cost, upload cost and the effect on tier. Eventually the costs will show in the upload dialog. For now no one knows. There is a complex formula on the wiki pages linked to. Good luck figuring that out.
“Drongle McMahon: Second question – can youb explain the two numbers before and after the slash in the prim counts in the edit dialog?” – Falcon Linden: The first number is the total prim equivalency, the second number (after the slash) is just pure physics cost
Falcon Linden: I will also be coming out with a basic guide to reducing physics costs
Nyx Linden: Funk – agreed. it will be a simple display, and then we’ll create docs on how to keep cost down.
“TheyCallMeDick Cheney: we made mesh with 4 lod levels each uploaded to the lod slots and a simple mesh for the phys. the prim cost was 1. We then used the same hi lod in each of the lod slots and the simple phys mesh. The prim cost was 8. Why 8 and not 4 ?” — Falcon Linden: Because the LODs are not equally weighted.
When one uploads a mesh there are 4 levels of LOD (Level of Detail). LOD is why you see some things changing shape as you zoom in and out. If you leave the lower levels of detail empty on import, the high detail mesh is used for all levels of detail. Using a high detail mesh for a distance object, which normally uses a low level of detail, increases the render load dramatically.
One wants to generate the lower detail meshes in their modeling tool. The uploader does not do that good a job creating reduced detail meshes.
“Funk Schnook: Will LOD uploads be forced anymore? Or are we allowing High LOD only and punishing via prim/streaming cost?” — Falcon Linden: That’s correct, LODs are now optional, but will result in substantially increased resource costs.
So, if you want to spend the L$, you can.
When Will Mesh Reach the Main Grid
“Annie Milestone: QUESTION: When is Mesh planned on the normal SL Grid at earliest?” — Falcon Linden: We do not have a timeline for release yet. It will depend very much on how this beta progresses.
Actually meshes may make it to the main grids in OpenSim ahead of SL. I am guessing SL mesh will come pretty quick. May be yet this year, but don’t hold your breath.
HUD’s and Mesh
“Cummere Mayo: Will meshes work in huds?” — Falcon Linden: I don’t know. Try it and let me know I’d say “probably.”
IDestroyed Tomorrow: I have meshes on my hud, works fine.
One might wonder why one would use a mesh for a HUD (Heads Up Display). Some HUD’s are 200 or more prims now. Meshes is a way to get this down and there are some HUD animation benefits too. The thing is; it works.
Mesh and Copyright
Nyx Linden: Miss Wright – your question was regarding copyrighted material, spanning several lines, so I won’t paste it in here. I will say though that we have people looking into the issues around IP and content ownership with respect to mesh. I have some guidance from our legal department on this issue to share with you: “To upload meshes (or any content) to Second Life, you must have all the necessary intellectual property rights and permissions to do so..* If you are obtaining meshes from a third-party site, read very carefully the license terms for use of the meshes and make sure that the meshes can be used in Second Life in the way that you want to use them. For example, if a license is for non-commercial use, then you must not sell or exchange the meshes for Linden dollars in Second Life. ”
“If your mesh is inspired by or based on a real-world object, take care that you are not using the trademarked brand names or logos or the distinctive appearance or “trade dress” of a product, without the necessary permissions of the intellectual property owner. If you are obtaining these kinds of meshes from a third-party site, check that the site and content provider have obtained these permissions. If you cannot tell whether they have done so, then do not upload the meshes to Second Life.”
If you are uncertain about your rights in any situation, we suggest that you consult an attorney for legal advice or err on the side of caution and not upload the meshes to Second Life.
* Linden Lab cannot provide you with legal advice, unfortunately. However, we’re happy to take down any questions you have about our policies. We are always looking to clarify and improve our policies.
Many people are upset that they are seeing meshes from other places in the test grid. The first assumption is they were stolen, which says something about those doing the assuming. Until one knows the terms on some of these models and how the one with the mesh obtained it, one can’t know if it is theft, abuse, or legitimate use.
Mesh Normals – Double Sided Mesh
“Elizabeth Zeno: why are some meshes invisible from one angle, but fine in Maya” – Nyx Linden: we don’t support two-sided triangles, so if you want your triangles to be two sided, then you need to double them up with reversed normals.
By the way, if you double up triangles, don’t you DARE use that in the physics mesh. I will hunt you down. It doubles the physics workload with no change to accuracy.
“TheyCallMeDick Cheney: can you confirm that phys triangles act two sided” — Falcon Linden: Yes, I can confirm that.
A mesh normal has to do with which side of a face is rendered. To save render effort only the visible side of a polygon is rendered. There is no point rendering the inside of a brick, since no one will see it. The ‘normal’ face is the face we see rendered. Rendering software figures out which side is the normal. Since the engines tended to make mistakes it was necessary for speed to just tell the render engine which side of a polygon to render. We do that by setting ‘normals’. In some cases we need to have things two sided. Some render engines allow that. The SL engine does not.
To solve the problem in SL another polygon is used to handle visual appearance. Falcon is pointing out that the render engine and the physics engine treat polygons differently. Using the second face in the physics model creates problems.
In addition to 4 LOD meshes one can upload a physics mesh. If one has double faces for visual reasons and uses the same mesh for physics… it really screws up performance. Falcon is warning about the seriousness of the problem.
Advantages of Sculpties
” Annie Milestone: QUESTION: Can you imagine any advantages of sculpties anymore after mesh is fully implemented?” – Nyx Linden: Sculpties are more efficient if you look at it on a “vertices per prim” perspective, and don’t care about having rigging, your own UV mapping, custom physics shapes, etc. Also sculpties automatically LOD, though the results are often less than ideal
There are ongoing forum discussions about whether sculpties are finished or not. There is much discussion about how mesh will change the grid. Most is speculation.
Meshes for Novices and Amateurs
For those that think meshes will be only for the techies and only serious 3D modelers, jump over to Gwyneth’s blog and read Meshed Out! It sould give you hope and show why even novices to 3D modeling will be using them. It is a long post, but informative and I think realistic regarding how mesh will affect SL.
Gwyneth believes that meshes will replace sculpties. There are something that can be done with sculpties that cannot be done with meshes. Plus all the specialized tools for making sculpties simplify their construction. That simple construction will continue to be attractive to many for some time to come. I doubt sculpties are going away.
The meeting gave us a sense of the direction the Lab is headed and what features are likely in the near term. Also, there are some features that are not planned for and not in the planning for the next couple of years.
I was hearing more and more about meshes coming to the OpenSim grid. In OSGrid Chat I confirmed it is coming with this weekend’s release of new simulator software. I get into the details here: OpenSim-OSGrid Mesh Coming. However we will see how it starts to affect building in OS. That will tell us what to expect in SL.