Wednesday, August 10, 2011

Mesh Solutions.

There are a few answers to the problems. The first big answer is to wait— some of the problems will get better. We will get custom skeletons and may get two-sided normals and other tasty features. But some of the larger problems may remain. How to stop worrying and learn to love the mesh?

1. For large mesh, I mentioned in the previous post that creators may need to cut their tree or other large build into smaller pieces. I haven't experimented with this, so I may well be talking out of my hat, but there may be a balance to be struck between size and prim count. I have uploaded a house cut to smaller pieces and was fairly satisfied with the overall prim count I got.

2. Use mesh for details. This has come up several times in the mesh beta meetings over the last few months: the idea that mesh should be used for details, not for large builds. A disappointment for many of us. We wanted a whole mesh cathedral, not just mesh gargoyles, but that might be all we can reasonably get.

3. Since mesh avatar faces don't animate at present, one trick I've used that may work for some avatars is to use an alpha over the torso and limbs of an avatar and leave the head visible. This works well on some abstract avatars and lets your customer keep their identity and expressions.

4. Use the beta grid mesh sandboxes. They will remain after mesh goes live across the main grid. They won't spare you all the frustration of mesh uploads, but they will save you money.

I wish I had an answer to the problems of scripting and linking. They've both eliminated some of my plans for mesh, and I can't imagine the disappointment of the vehicle makers who have been diligently following the mesh beta and honing their skills. Skills which, at the present, may be wasted.

Mesh Problems.

Mesh is not a perfect world. Some of the problems relate to the fact that it is so new and its capacities will grow with time. For instance, at the moment mesh avatar creators are confined to the armature (skeleton) underlying the basic SL avatar. This skeleton is manipulable to a degree, but if you want to be a mesh spider you may have to wait a while.

Other issues:

1. Adding a script to a mesh object will make the prim count explode. This is based on the fact that a script places a heavy burden on SL's servers. This is true of any scripted object. The controversy that has arisen is that LL chooses not to represent this burden when the scripted object is made of regular prims and/or sculpties, but have chosen to burden mesh. Weighting mesh in this way will likely kill the possibility of certain mesh vehicles and many, many interesting mesh builds and devices.

2. The larger the mesh, the higher the prim count. This is another rather dreadful choice from LL, and is a terrific disappointment to building and tree creators. We finally have a prim size increase to 64m and gorgeous big builds are going to be punished. There may be a balance to be had, cutting larger mesh objects into smaller pieces and finding a prim count "sweet spot," but the purpose of having larger prims doesn't apply to mesh so much as creators may have hoped.*

3. The great ability to make a mesh have physical properties, like being able to walk through doorways and walk on floors? Right, that increases the prim count. Want to keep the prim count down? Don't define a physics shape for your mesh, set your mesh to phantom, and define the physics shape with regular prims (get a good 100% transparent alpha texture— you'll need it).

4. Mesh is one-sided. Imagine looking inside a shape that has a regular texture on the outside and a 100% alpha on the inside. This is due to something called "normals" that tell the system which way light is reflecting off an object and yielding an image. At present they can only go one way. If you want two sides, you have to make two sides. This, of course, increases the prim count.

5. Linking increases prim count. This one is rather infuriating, because mesh is set up to practically require linking to regular prims (see #3). But link a mesh into your regular prim build and watch the prim count of the whole thing go up. Building creators will likely be stuck having to use packaging systems, just as they do when using phantom prims in a build. However, see #1. Rezzing a compound object with the rezzing script in the mesh for final positioning may cause a temporary prim count so high that your customer can't rez the build.

5. Mesh cannot be flexible.

6. Mesh avatar faces do not animate.

7. Creating mesh requires use of an outside 3D modeling program. I use Blender. Learning Blender is *#&$@&$*@#.

8. Turning to the very dark side, the potential for vast quantities of mesh to be uploaded into SL from outside libraries is huge. There might be massive intellectual property law violation ahead. Yes, you have to have payment information on file with SL before you upload mesh (so they know who you are), and you have to pass a dorky little quiz about IP issues written by LL's lawyers to protect them from exposure before you can upload mesh (hint— you can't fail the quiz). But there are an astonishing number of ways around these flimsy barriers. And that's not to mention the copybot exploits within SL itself, which are an unaddressed plague.



*Don't bother trying to upload a mesh at a tiny scale and then scaling up. Doesn't work. But do be ready to see the prim count of your mesh increase as it grows larger.

Mesh Basics.

Mesh is just a way to create 3D shapes, like regular prims and sculpties. Mesh is far more manipulable, however:

1. Mesh allows the creator to specify the exact position of every vertex (point) that defines the shape of the object. This allows a great deal more specificity and custom shapes.

2. Mesh allows the creator to use the minimum number of vertices necessary to define an object, which can make mesh very efficient and lower the prim count of a given build.

3. Mesh allows the creator to assign up to eight different textures to an object, and to be extremely specific about how those textures are applied.

4. Mesh can be rigged (attached) to an avatar and move and flex as the avatar does. Entirely rigged avatars are possible. Unlike attachment-based avatars, limbs are flexible and the avatar has a contiguous, flowing skin. Such avatars also occupy a single attachment point.

5. Unlike sculpties, mesh can have an actual physical shape (doorways you can walk through), without making them phantom.

Mesh is an improvement over regular prims because regular prims have pre-assigned vertexes that all move relative to one another when you edit an object, which limits the creator's control. They also have a pre-set number of vertices, so they can't really be made more efficient. And applying textures is far less customizable. On a cube you have six faces you can work with, but with a sphere or torus you've got one choice.

Mesh is an improvement over sculpties because sculpties, at the end of the day, are a trick. They are shapes with a set number of vertices, and getting SL to see them as something other than a blob requires a fair amount of fiddling. Getting a straight edge out of a sculpty is a real trick. And no matter what you do, the physics engine still sees a blob, so passing through a sculpty doorway, for example, requires making it phantom.

The Blog Lurches to Life!

I had intended this blog to be a record of my sculpty business, then tragically lost interest in writing about sculpties. But a new era dawns! Mesh! I'm not saying mesh will be more interesting to write about, but it is certainly more necessary to write about it. Mesh is complex, and there is a lot of information the mesh builder and mesh consumer needs to know. So here we go....