Why depending solely on the LI system is a false equivalency for good modelling

urdoinitrong

I’ve been thinking a lot about this lately – i’m sure I’m not the first one to bring this up…

Land Impact, as it relates to mesh these days, seems to be the be-all and end-all to consumer products in the Second Life space these days. From the start, back in the closed beta days, there was always a lot of push and pull, trying to design the system so that users would be encouraged to design intelligently, effectively and efficiently. As it happens, costs were put in place to better reflect this (as compared to sculpts).

Prim equivalencies for normal prims and sculpts didn’t change – Linden Lab cited not wanting to break content as the reason for this and I could go in to some depth about how this was a bad idea. I also have scripter friends who would take issue even with that policy, given that it seems to be enforced inconsistently; from modelling/texturing/animating to scripting. Neither of these issues is here or there, as it pertains to this discussion though.

The point I’m making here is that Linden Lab attempted to encourage better content creation practices by encouraging the use of multiple Levels of Detail (LODs), physics models, and the need for efficiency in scripting of these items. The Knowledge Base goes in to some detail regarding this.

Essentially, it is possible to have a good looking model upload for a high LI, with no LOD or physics optimization, OR upload for a fraction of that LI by making clever use of the opportunities afforded by LODs and physics models.

An important part of designing a good model is being able to make comprimises in complexity in order to make the viewer experience better, while not sacrificing too much in the way of quality.

Note, here, that I make a distinction between a complex model and a quality model – the two are not necessarily the same.

For one thing, it’s incredibly easy to abuse the system provided in order to upload a highly complex model while maintaining an unfairly low LI. How?

Well, you can upload up to three LODs to every model you upload to SL. In fact, you probably should. The rule of thumb, as far as the LOD generator is concerned, is that the ‘high’ version should have roughly 25% the number of faces compared to the full version of the model. ‘Medium’ should be half that of ‘high’, and ‘Low’ should be half that of ‘Medium’. If you leave these as they are, you may get a low LI object, you might not. It depends on a few factors, including how complex the model was to begin with, but also how many discreet parts there are, as well as whether the item is rigged or scripted.

But what happens if you suddenly just tell the viewer to load the full version of the model, then use the lowest possible quality for all the LODs, and tell the viewer that a substantial physics model isn’t necessary?

Basically you end up cheating the system, possibly without even knowing it.

I recently noted a significantly slow and poor viewer experience while exploring, and the persons involved had done exactly this. This prominent venue has dozens of vendors and they all come in at 3LI. Offhand, not bad, you might think, and under normal circumstances you might be right.

But in this case, no. I was getting frustrated. If I was a customer who didn’t know any better, I might just chalk it up to a bad computer. To be honest I’ll admit here my desktop computer could probably use more RAM and an upgrade from my midgrade video card within the next year. I also run three screens for my daily workflow and my usual load of programs includes Photoshop, Blender and either Chrome or iTunes.  But the common user of SL probably has a crappier computer than I do and it’s always a good idea to design for the lowest common denominator.

I decided to try and diagnose what might be the cause of framerates approaching 2-3FPS, even with basic shaders turned off, draw distance cranked all the way down, avatar imposters turned on and to the most stringent setting. I took the advice of Drongle McMahon on the SL Forums, showing a way to turn on rendering info and in particular to ascertain triangle and vertex count for selected objects.

Upon closer inspection, the vendor had over 18000 triangles – 20000 vertices. For reference, most mid-sized mesh houses come in at under 4000 triangles. Most main character avatars in video games similar in appearance to SL come in between 5000-7000 triangles. A simple box prim has 108 triangles and you can even make a box prim less complex by using a mesh box instead (since SL’s box has 18 triangles per face and 6 faces), which would get you 12 triangles. So basically, one of these vendors was taking up roughly the rendering capacity of four or five mesh houses, two or three avatars, or potentially *thousands* of mesh box equivalents. Within a 2m by 2m space. And there are dozens of these same vendors all over the venue.

What’s worse is this particular vendor takes significant advantage of the LOD uploads. If you are having a hard time loading things and as a result reduce the object detail in your graphical preferences (or if you’re an advanced user and have changed your rendervolLOD settings to something fairly low), then you won’t be able to view this vendor in any way other than a) the full, high-poly model or b) a broken mess of the minimum number of triangles required to upload and match up to the high-poly model.

Whereas in other modern platforms, such as Unity3D, it may be commonplace to budget perhaps between 100K-300K polygons for an entire scene, in SL it is often difficult to stick within those boundaries even if you control and created the immediate surroundings yourself. Content creators often design their objects to be ‘the stars’ of the show, regardless of their overall importance or how many resources have already been expended in the environment. It does not help that the content creation community is generally poorly educated on the subject or willfully ignores the consequences of irresponsible design decisions, in the name of creating something pretty.

Let me get something straight here – I’m not saying ‘don’t make or sell pretty things’; what I am saying is make pretty, quality things. But be smart about it and consider what is possible as well as what is responsible to inflict on an unpredictable number of people.

There are many things a designer can do in order to create more efficient quality content.

– For the full version, model to create good edge flow, avoid using the uploaded model to create fine details which could otherwise be achieved using a diffuse or normal map. High-poly models can be used to help create cavity and normal maps, but should not be uploaded to Second Life.

– Create efficient and accurate LODs which not only cut down on vert count but which are at least (at the medium level) somewhat representative of the object at a distance, to allow users to see at a glance what they should be looking at, rather than requiring them to zoom in. Most modelling programs should allow you to collapse parts of your model without significantly affecting the UV layout. Some also have modifiers (such as Blender’s most recent Decimate Modifier) which do some automatic face reduction, within limits.

– Don’t ‘cheat’ the LOD system by uploading a high-poly model and crappy, non-representational LODs.

– Stop making excuses for poor content by saying more complex content is necessary for a high quality, immersive SL experience. 1) SL isn’t a Pixar movie. You can’t expect it to look that way and run to any reasonable degree. 2) Quality content can look great, even at lower levels of detail. Any good content creator should know that and should know how to do that.

– Look forward to, and PUSH, the Materials project. Coupling a quality, low-poly model with a great diffuse, normal and specular map is the best road towards creating great, efficient content.  A developers build is out for it already and it’s always a good idea for content creators to provide their feedback to the developers so that any bugs can be acknowledged and fixed quickly. It’s not on the main viewer stream yet, but development has been moving at a steady pace. In the mean time, it wouldn’t hurt to learn how to create normal and specular maps anyway, since you can bake normal and specular effects in to your diffuse map already and upload it as a flat file.

– Make use of the wireframe mode in SL at least once or twice to see how it looks in-world, zoomed in. If the model looks almost solid even if you’re zoomed in, YOU’RE DOING IT WRONG.

7 thoughts on “Why depending solely on the LI system is a false equivalency for good modelling”

  1. wow, that’s all so WELL SAID Aki.

    i think in the beginning many of us were ‘taught’ to do the cheating on LODS thing. i know i have a couple early pieces that are basically big triangles at 5 meter distance.

    As for the unnecessary complexity, that I don’t do, but the average person new to modeling, which i was is basically left to follow web tutorials where step 2 or 3 is almost always add a subsurface modifier often of level 2 or more.
    Add to that that everyone who creates non-wearable items is stuck with LI as the preeminent value in many people’s mind and you have people driven to try to cheat on the polys they are bringing in.

    Much more could be said about how some content… wearable and existing got a total free pass on even considering the costs of LI, but for now all we can do is deal with that and try to get the word out on more responsible modelling, and your post is an excellent start.

    Thank you

  2. Thank you for this very insightful article.

    The fact of the matter is, most people don’t care and/or don’t know any better.

    When it comes to environment assets, customers don’t care. They just want low LI items to decorate their land with.

    As for clothing, it’s even worse. People walk around with 100+LI items. I don’t even want to begin to speculate how many tris that is.

    All people care about is how good it looks and because the people want what they want, it’s very hard as a creator to ignore that. They look at low poly items and they don’t see efficient modelling, they just think that looks amateur. They look at a 100LI dress and they think it’s excellent craftsmanship. Linden Lab really needs to step in and impose “limits” to create a good experience for everyone. They way things are now…I never bother to leave my skybox.

  3. I appreciate the intentions of this article but the main problem I see with this is a lack of centralized materials to teach people to create according to “ideal” standards. Tutorials and how-to articles are scattered on different blogs and/or forums. The official SL articles offer advice on what to do, but not how to do it. What information is out there is good for professionals, but not necessarily the hobbyist creators — which are still the bulk of SL creators. Moreover, not everyone learns the same way. Some people need step-by-step articles, others need video. Some are in Blender, some are in Maya, some in other programs. If anyone really wants to improve this they need to devote a central web space to detailed instructions on how to do things the right way, how to recognize and reward those who do things right, etc. I have many friends who hit walls learning mesh because no one knew what they were trying to learn or was willing to teach them (or, worse still, the people offering advice on the forums were ill-advised and gave bad habits as solutions).

    Even in this article you give the wireframe example as “you’re doing it wrong” but you don’t say how or why. This kind of half information leads to frustration where builders just stop caring. If no one’s going to help them do it the right way, then they’ll just plod through however they can.

    As for the cheaters with the LOD system, there will always be a few of those. Maintaining a list of people who are caught doing so might help things.

  4. Hi Salome,
    Regarding where you’re saying I am telling people they’re doing it wrong and don’t say how or why: I am not sure how well versed you are with mesh creation, but I did bring up quite a number of points towards doing things ‘right’. If you:
    – avoid uploading high-poly items
    – create representational (but simplified) LODs
    – cut down on extraneous faces by collapsing them in flat areas and baking in detail on textures and/or add specular/bump detail to spec/normal maps
    …then you won’t end up with a model in wireframe that looks like it’s solid. These are general things which apply to all programs used to create mesh content for SL.

    It’s also important to note that my workflow may be different from yours or someone else’s – it doesn’t mean that the above points can’t be applied. I could put together some walkthrough for my own process, however I wouldn’t claim that my own way of doing things is the be-all or end-all to content creation.

    The Good Building Practices Wiki page has a good many additional articles that have shown up since I saw it last ( http://wiki.secondlife.com/wiki/Good_Building_Practices ). Certainly there are holes – I think in many cases what’s missing are program-specific articles. Unfortunately, I think, because there simply are so many programs which can be used, keeping the instruction consistent from program to program may be problematic. I notice that the Wiki avoids discussing any specific program, even though Blender seems to be the most heavily used and there are a large number of creators using Maya or 3DSMax.

    Above and beyond that issue, however, is the fact I’m sure of that the majority of mesh makers – new or old – just don’t care. I could (and have) pointed customers and mesh makers to that page or discussed with them the whys and hows of their decreased viewer performance; more often than not, I get back the response that they want a more immersive environment or more commonly, ‘Well, it works fine for ME’, totally disregarding the fact that not everyone runs their specific computer setup.

    It’s not uncommon to see people claim their mesh garments are low impact, for example, when the item in question is a 15,000 poly T-shirt. The average mesh-wearing human avatar in SL would likely take up the working budget for three or four avatars in a professionally produced video game.

    The implicit assumption is most often that, if it doesn’t look look like it was rendered for a Pixar movie if your camera is 5cm away from it, then it’s crap. This is a prevalent comment in the fashion community. I was once told by someone that they didn’t want SL to look like a video game… 😀

    Well… Guess what?

    We may go on and on about how SL isn’t a game, it’s a platform, etc etc. But realistically, the technology behind it IS fundamentally rooted in game graphics, not high-poly animation that requires hundreds of hours of rendering time. A 1024 by 1024px texture is going to affect you in SL just as much as it will in a video game. Same thing for a high-poly model. The key difference is that in SL there are far fewer controls in place to encourage better content creation; it is host to creators with a wide variety of skill levels… as well as a customer base who wants to throw money at anything they are told looks good, regardless of the consequences. As a result we end up with people who should know better, pandering to people who don’t know better but are willing to pay.

    I am also not sure that maintaining a list would be all that productive either.

    I certainly did not write this to step up and be the Best Practices mesh police – I’ve seen it mentioned elsewhere that this article was a little ranty, which I’ll readily admit. However, it is not my responsibility to decide for anyone else what they should and should not buy. This is also why I did not mention specific merchants, even though there are some I have learned to avoid.

    I do hope, however, that by mentioning some of the key issues, folks might be more educated about what to look for and how best to serve the SL Viewer experience, from both a viewing and performance point of view.

  5. Aki,

    As I said, I believe all your points are well intended. I just take issue with the idea that most creators don’t care. In my experience the people who don’t care aren’t the ones learning (or the majority of those on the grid), but those who are already established and focused on the next source of income as their primary motivation for churning out new products. Most of the creators I know consider themselves in a constant state of improving and would welcome, gladly, a list of “what not to do” to improve the impact and quality of their products.

    I understand that your workflow may well differ from anyone else’s and you did provide several general suggestions in the course of your article to give people clues to do better. I mentioned the wireframe not to scold you, but to point out that I, as a layman, don’t understand the relationship between the wireframe concern and bad practice. Is it all the things you mentioned, or only one, or just a few? My initial thought was “it’s good to know this is bad, but what specifically makes it bad?” What is the relationship between the wireframe being solid and the bad practices you mentioned?

    As for the fashion community being singled out as a problem, this is really not the case. No community talks more about how to reduce lag and impact at events more than the fashion community in general. Most of those people (myself included) who want to look as good as Pixar, do so only for private locations (like our own parcels or SIMs) and/or for photographs. There will always be people who don’t care, but the fashion community has just as many people ardently urging others to reduce their avatar impact as they have resource hogs.

    The people in the fashion community who don’t care are the same as any other community — the ego monsters who think they are the exception to every rule and don’t care about anyone else’s experience — all they care about is showcasing their own little corner of the world. Unfortunately, a good number of these egos are the ones who end up running things because that’s what big egos do. But I don’t think that reflects a fair sampling of the average virtual fashion enthusiast.

    The problem, as you’ve said, is mostly awareness. As a blogger and consumer advocate, I often note products that are badly scripted as part of the course. If I knew how to evaluate mesh impact properly, I would make a point of saying “this might be fun for dress up, but this dress should never be worn in public due to the crazy triangle count.

    I think you’ll find the reason many people don’t care about what they wear at events is because the event hosts and builders don’t care about the resources they use when they build. People show up to these ridiculously elaborate builds and think no matter what they are wearing, it’s only a drop in the bucket compared to the SIM. It’s wrong thinking, but that’s the excuse I hear most often, and it’s rarely from fashion people. Since most events are just more or less malls to get people to shop, the need for these elaborate builds is silly. But, then the need for the events is also silly, so it’s hard to get traction on a serious discussion of that issue. Again, the egos who put on things are all about making their event feel exclusive and/or posh, not on providing a quality experience for anyone.

    To a smaller extent, for some of the older avatars, we’ve been told so many things in the past that weren’t true, I think many are skeptical about being told this thing or that thing is a problem. It’s not that they don’t care, but they’ve been lied to and/or bullied by people about something being the worst thing in the world only to find out it’s a small factor in a larger group of concerns.

    That said, I am one of the people who doesn’t want SL to always look like a video game. I want to be able to design my private SIM to look as amazing as I envision and to be able to dress my avatar accordingly. But I pay (and I pay heavily) for that privilege. When I go in public to an event where others are likely to be, however, I have a low-impact avatar that I don as a courtesy to others. I do not suggest my practices are the norm, but there is certainly a strong number in the fashion community who believe as I do.

    I think the fact that you’re addressing this issue and trying to raise awareness is wonderful. It made me want to learn more about best practices, etc — and I had no idea that some creators where cheating the system. That annoys me and makes me want to find out who so I don’t purchase from them or so I can voice my opinion and ask them to alter their practices.

    But I disagree that most people just don’t care. I think most people are unaware or confused and I think many of those that would happily do better simply don’t have the information available in a way that makes it easy for them to find, understand, and incorporate into their workflows.

    But then I tend to believe that people always want to do better if they can and know how.

    Thank you for your points and your article and for providing things to think about.

    1. Salome:

      To respond to your question:
      “What is the relationship between the wireframe being solid and the bad practices you mentioned?” – Wireframe mode shows the complexity of the item without textures applied, although in the case of SL, the texture is overlaid on the lines. So if the model is sufficiently high-poly that you can actually almost see the texture completely making up the model in wireframe mode, the model is unnecessarily high-poly. Think about it as the difference between ‘connecting the dots’ to sketch out the general shape of an object versus colouring everything inside the lines on a colouring book.

      I think if you knowingly wish to experience more than the technology can handle, that should be your choice, however it should be an informed decision and come with the caveat that your viewing experience (as well as for those sharing it) may suffer unnecessarily. If, as you say, it’s true that it’s knowledgable designers deciding to disregard this, then responsibility suggests they should pass those caveats along to their customers. Unfortunately, this does not occur. After all, how many knowingly tell their customers ‘you’re going to only want to wear this in private’ or ‘don’t rez too many of these, you’ll regret it’?

      More generally:

      Time permitting I’d like to write or record some content discussing specific things to avoid while modelling and texturing for SL and how to improve on them. Currently I am limited due to work and event projects, but in the mean time, Penny Patton discusses general building for better resource use on her blog The Digital Pasture. Additionally, a good start (but not the be-all/end-all) to lowering face count would be to make use of poly reducer or decimation plugins – recent versions of Blender even feature a decimator which does not completely destroy the UV map, which is a great boon to those who just want a super quick solution, even if it isn’t perfect.

  6. Thank you for explaining regarding the wireframe connection to good practices. That makes sense now.

    I agree with you that it would be nice if creators routinely informed consumers about the pitfalls of some of their products, but since we can’t even get them to stop photoshopping displays to brush out flaws, I don’t see it happening. I do, however, think that informing people of better practices and giving them that knowledge could make significant improvements.

    I hope you find the time to write your other articles. I look forward to reading and sharing them.

    Cheers.

Comments are closed.