Saturday, February 4, 2012

Now 30% reduced!

This thing here is one of the items I'm packaging up for sale:-
(photographed at one of our bustling Premium-only sandboxes, ooo I could hardly breathe for the crowds.)

Doesn't look all that much, does it?  But in its own quiet way it's a demonstration of the changes that have come with the introduction of mesh... and it may be a harbinger of things to come.

To start with, of course, this thing has a fair sized footprint (roughly 15x20), but is only 10 prims in total.  "So what?"  I hear you say.  "So we can get single prims up to 64 meters size now, we knew that, and anyway we could always get megaprims before there was mesh.  This is old hat, Glorf."

Well, yes, but that's not the clever bit.  The clever bit is that this is measured, not by prim count, but by the new (post-mesh) Land Impact method.  And in LI, it's only the equivalent of 7 prims.  Yup, 10 prims for the price of 7.  Like it says in the post title, 30% off.  And there are already builders out there doing better than me.

See, since the introduction of mesh (and the new calculations that go into pricing up a mesh upload), a whole raft of features, that were inside the SL engine all along, have been exposed for people like me to play with.  One of these is the collision type of the prim.  Anyone who's bumped into thin air around a complex sculpt - like the entrance arch to that hall, for instance - knows that there's a difference between where a prim looks like it begins or ends, and where you actually collide with it.

The mesh changes introduced three collision types.  By default, prims have a "prim" collision type, but mesh objects use a "convex hull", which sounds fearsomely technical but basically equates to "the outside of the thing, not taking account of any holes that might be in it".  There is also a collision type of "none", which you can set on any prim except the root prim.  This has the effect - much desired by builders - of turning that prim effectively phantom, without any need for scripting, or setting flexi, or any such cheats.  (It's the only way you can get through that arch, for instance.)

Now... when you start fiddling with these defaults, SL takes a whole new look at your build, and recalculates its Land Impact based on three main factors; how complicated it is to download, how complicated it is to handle collisions with it, and how much server time needs to be devoted to it.

This is where we can nip in and make some reductions, taking advantage of the fact that not all prims are created equal.  Some shapes have a much lower download cost than others, and if we further simplify things by reducing the complexity of their collisions - "convex hull" and "none" are cheaper for the simulator to handle than "prim" - and we don't up the cost by sticking any scripts into the build that the server has to handle, or set up a whole new raft of calculations by making the build physical...

... then we find that a simple, uncomplicated prim, an uncut cube or cylinder for instance, costs much less for SL to render than one of those complex tortured toruses we builders love - and this is now reflected in the cost.

The converse, of course, holds true: if you start trying this on curvy shapes, things like spheres and toruses - any non-linear prim, in fact - you find that these suddenly cost more, and also get less convenient.  (Set "convex hull" on a torus, for instance, and you will find the hole in the middle of it has turned solid.  And if you need the hole in the middle of it, that's going to be a problem.)

The thing is, a single "prim" in SL is supposed to be a rough-and-ready approximation of the amount of server resources it takes to produce it - and that simply isn't true.  Rendered 3D worlds like SL work, not in terms of single objects, but in terms of the number of planes used to produce them, and the edges and vertices that make up those geometric forms - a mesh of edges and vertices.  You will sometimes hear video games designers talking about the "polygon budget" of their 3D objects; well, the polygon budget for one "prim" can be very different from that of another.  Take a look at this wireframe shot to see what I mean:-

On the right, a tetrahedron - barely visible in wireframe view, and the simplest 3D shape there is; four vertices connected by six edges.  On the left, a sphere - too many vertices for me to count, and even so there needs to be a bit of creative fudging going on, because in theory a sphere has an infinite number of edges.  (Behind, my jeans, vertex count uncertain.)

You can see, then, that the tetrahedron is much, much simpler... so, shouldn't it be cheaper?

Well, now, if you're prepared to fiddle and experiment for a while, it can be.  Possibly, we will see a move in SL towards a situation where we have more of the real costs of our builds exposed - the actual cost in terms of sim resources devoted to rendering them.  It may make life more complicated, while we adjust - but, as I think my little building demonstrates, with all that complication, there may be some opportunities, too.

No comments:

Post a Comment