Jump to content

Polycounts and Uploading - What is Acceptable?


imacrabpinch
 Share

You are about to reply to a thread that has been inactive for 2208 days.

Please take a moment to consider if this thread is worth bumping.

Recommended Posts

First post. If there is another thread or video tutorial that helps answer my question, please link me. I try to avoid lazy questions, but I figure I'd jump into this one since I haven't found anything concrete.

For the last month or so, I've been learning the 101 of creation with clothing and other items. I've spent countless hours learning many aspects of blender and other programs like Zbrush, MD, and various other programs with use of Avastar. I understand the basics of modeling, UV unwrapping, baking, and even using high poly models to transfer detail to low poly models. I've more or less established a comfortable workflow at this point.

One concept I am still struggling with is the idea of polycount, LoD, and upload options into sl. Whenever I read about this, it seems to differ from what I am seeing in world.

I've been getting in the habit of inspecting some of the most popular items from the most popular stores in second life. While there are many items that have a reasonable tris count, many of the more popular stores seem to have (what I would consider) high poly counts for the item.

For example, a pair of dress pants with a 40k tris count seems a bit high in my opinion. The other day I was lagging a bit, only to discover the shirt I was wearing was at a 60-70 k tris count (and was sold at a popular event). On the other hand, I've seen some very high quality items at more reasonable poly counts, like 7k for a nice, highly detailed jacket.

Another thing I notice is that there are many clothing items from popular woman's stores which use solidify with complete inside geometry. I guess this makes some sort of sense if the clothing is skimpy, because the poly count won't go overboard, but it is still against what I read on here and in videos.

I guess what I'm asking is, what is considered acceptable by the community? Should I have an aim to the polygon count? Actually, I feel like my models so far have been too low compared to what I've been seeing. 

Also, when uploading into second life, I've seen a lot of different practices. A lot of what I see, and what I've seen other creators do, is simply to ramp it down on lowest/low, and keep the mid to high settings default (or even ramp up the mid). I know there are probably concepts around this, but this is what I see practically.

Is there a land impact amount to be shooting for? A poly count to be aiming for? I know the general rule of thumb is to keep it low, but some successful stores are making 70k tris count shirts, what is really acceptable? 

Thank you very much for the help!

 

Link to comment
Share on other sites

Hi imacrabpinch, welcome to content creation in SL!

Regarding the discrepancy between tutorials/forums and popular stuff inworld, I think a lot of what you see is resultant from content creators who are either ignorant or apathetic to good building practices when it comes to optimizing content. Further compounding this are the consumers, most of which are equally (often more) unaware of why unoptimized content is bad in a real-time online virtual environment like SL. I'd wager the average user gravitates to poorly optimized content simply because it "looks good" - but they are unaware of the hidden price they pay for using it (in the form of low frame-rates, lag, and general performance drops). Or, they might be using the Land Impact metric as their only guide to gauge efficient content; not realizing that it is not absolute, doesn't account for textures, and can be manipulated/gamed. For example, if someone creates heavy poly mesh, but puts the lower LODs at single digit tri counts, that can artificially lower the LI. But that doesn't make the higher LODs any more optimized. Improper LOD use often leads to LI's that are not reflective of how complex the object truly is and you still have poorly optimized content that additionally looks awful as the LODs step down. Some people advise players to amp up the viewer's LOD factor setting, which essentially forces content to stay at higher LODs longer. While it might look nice, it comes at a heavy performance impact, and basically negates any benefits properly made LODs are supposed to impart.

So to circle back to your original question, I don't have any hard numbers on LI or polycount (as such numbers are situational to begin with). But speaking in very general terms on whether or not it is acceptable to have extremely high-poly content... well just look at the complaints about performance. Using your example above, is it acceptable to be noticeably lagging from a single piece of clothing? Many don't realize that is the cause and simply blame SL as having poor graphics capabilities (when really, I think it's just the opposite, considering how well it manages to run with so much unoptimized content already floating around). Additionally, few things exist in a vacuum, and with the completely dynamic nature of SL, the potential to have lots of content in a scene is always there. So it behooves us to try to optimize wherever we can.

Professional developers who make content for games are always trying to make their content as efficient as possible in order to deliver a consistent performance to their game. I see no reason why creators in SL shouldn't strive for that same ideal. Aim to make your content as efficient and as optimized as much as you can. If someone makes a pair of mesh pants at 70k triangles, but you can make a similarly detailed on at 7k (or less), do that! Make every polygon count, use only what you need and no more. Make every LOD only detailed enough to keep the general silhouette at whatever distance it triggers. Use as few textures as possible, that are as small as possible, and make use of every last bit of space on the UV map.

SL is full of novice/hobbyist creators, and I'm not trying to throw shade on those who simply don't know, or are misinformed or inexperienced. But I think we really should be trying to improve ourselves and the content we create. Because when more and more people use better optimized content, SL as a whole benefits. Everyone's performance grows by leaps and bounds.

Edited by Fenix Eldritch
  • Like 3
  • Thanks 1
Link to comment
Share on other sites

IMHO LODs are the most important of the three confusing areas you mentioned. If your hair or wine glass or (OMG) pasties (really I had a pair) disappear at a shorter than optimal distance the item is useless.  A lot of the very popular designers that make lovely items do not understand (or do not care) that we need to make GAME ASSETS in Second Life, not models you would use to make a render for a magazine.  

People with high powered machines can still use these items but get enough in a room and even those folks have issues and come to the forums to complain about "the server" or "the viewer" when it has nothing (or very little) to do with either.

So I suggest that you work on REASONABLE (LOL) mesh and optimize as much as you can. Super SUPER low poly mesh will likely not sell as folks want things to look "real", but there is a median point that works quite well and you can find your own with some experimentation and time. 

Edited by Chic Aeon
  • Like 3
Link to comment
Share on other sites

In actual game design, artists are typically given a budget in terms of various resources (ie: polygons, textures, etc). Not every level in a game is the same so you might have a different budget for a particularly high-detail level as opposed to a more simple environment.

In Second Life it's more complicated than that. Since your content will not exist in a vacuum and you have no control over what other content will be in the same environment as yours. Linden Lab attempts to curb the issue via "Land Impact" costs for environmental content, and "Draw Weight" for avatars. Unfortunately, neither system was created with the input of experienced game designers and so neither system is very good at the job they were created for. I do know that Linden Lab has talked about overhauling Land Impact calculations to be more realistic, and to not punish people for making use of LOD the way the system currently does. They seem to be making some positive strides so this makes me hopeful, however I've been in SL since 2005 so I've learned to take a "believe it when I see it" approach.

 In the meantime, this leaves content creators forced to make a judgement call. I'd advise looking to content used in large, open world games, as that's the most similar circumstances you'll find to the SL experience. If you can create content in the same ballpark, with regards to textues and polygons, as content created for games like Skyrim and Fallout 4, you should be good.

Also learn how you can manipulate Land Impact costs via physics. A model where all but the root object are set to "no physics" will sometimes (not always) have a much lower LI cost than the same model with all pieces set to "convex hull" physics. And "prim" type physics  often have the highest LI cost. Playing with this, learning the quirks, can help you a lot.

 And another thing, if you intend to create optimized content for Second Life, use that as a selling point. Explain to your customers how and why using your content will afford them potentially better framerates. As others have already pointed out, most of the SL userbase is entirely unaware of how unoptimized content affects them.

  • Like 1
  • Thanks 1
Link to comment
Share on other sites

There's a couple of things I do.

1: Use the wireframe view. It's a judgement call on the mesh density, but I get good results without the mesh looking solid.

2: Work out how big the polygons look at a distance. I suppose some people are using huge monitor screen with huge pixel counts, but what will you see if a polygon is smaller that a screen pixel?

Since Firestorm introduced the LOD display in the object editor, showing LOD distance and triangle counts, I've been keeping complexity/display-weight well down on the clothing I have been making. As for whether those tiny triangle counts at Low and Lowest LOD, dragging down the complexity, I am not sure it is cheating. You really can't see the detail. These are the number for something I made this week, a pair of long boots.

LOD Level                 Triangle Count                Transition Distance

High                           2408

Medium                     149                                   14.4m

Low                             18                                     57.8m

Lowest                         9                                    119.5m

 

Lowest LOD may be too low, and I wouldn't argue against a higher LOD for Medium. Firestorm defaults to a higher LOD setting than that, doubling the ranges.

Anyway, my monitor is 96 screen pixels per inch, which represents about 8mm at 20m. And you need the polygons to be several pixels across to really see their shape. The Medium number looks a bit small, but when I pull my camera back to 20m, you really can't see very much. (why 20m? That's when the name-tag over your head vanishes.) Classic avatar, complex mesh, or my work, they all look the same at the longer distances.

Anyway, that is the evidence that led me to my choice. Where you decide on is up to you, but those ultra-low LOD numbers aren't a cheat. (A normal height avatar is about 30 pixels high at the transition to Lowest LOD)

 

 

Link to comment
Share on other sites

14 hours ago, arabellajones said:

Anyway, that is the evidence that led me to my choice.

Unfortunately, this is what I mean about LL's current resource management tools being inadequate. While you can greatly reduce the draw weight of rigged items by gutting the LOD, the reason it looks the same at a distance is that rigged items are always displayed at their highest LOD level. Using that trick to create higher detail rigged content with minimal LOD levels is a cheat in that while it may have a lower draw weight cost, it's much more of a drag on performance.

And I'm not criticizing you. You are making very reasonable conclusions if we assume that LL's tools for managing resource use are adequately functional. The problem is they're not, LL screwed up. Hopefully this is something LL will correct in the future, but when they do it will effectively break content created based on the flaws in the current system by giving them more a more realistic resource cost.

Link to comment
Share on other sites

So where is this documented? Has somebody submitted a JIRA on this? Or do we have to picket Battery Street?

I know that from, say, a hundred metres away the avatar is a tiny number of screen pixels.

If it comes to that, Firestorm has added a tool that reports the triangle counts and LOD transition distances. It includes the feature that affects rigged mesh, using the avatar bounding box as the base for the LOD distances, rather than the mesh size. Are those clever programmers wrong too?

I see a lot of rumour, and a lot of crap mesh, and I hear a lot about the Lindens talking about new features. I work on what I can see. You can duplicate what I do.

Where's your evidence?

Link to comment
Share on other sites

1 hour ago, arabellajones said:

So where is this documented? Has somebody submitted a JIRA on this?

Yes: https://jira.secondlife.com/browse/BUG-214736?

There is also a long discussion about it here:

https://community.secondlife.com/forums/topic/419469-rigged-mesh-lod-bug/

and Vir Linden commented on it towards the end of this thread:

https://community.secondlife.com/forums/topic/420864-animesh-updated-limits-and-cost-formulas/?page=2

 

1 hour ago, arabellajones said:

If it comes to that, Firestorm has added a tool that reports the triangle counts and LOD transition distances. It includes the feature that affects rigged mesh, using the avatar bounding box as the base for the LOD distances, rather than the mesh size. Are those clever programmers wrong too?

The clever Firestorm programmer you mentioned (and yes, she is really clever) explains it in detail in the first forum thread I linked to. She's also the one who submitted the JIRA.

Unfortunately, although the porgrammers at LL usually are quite clever too these days, they made on small but fatal mistake with fitted mesh: they got the switch points (or transition points as you call it) wrong. The actual switch points for a piece of fitted mesh is based on the size of the avatar's bounding box and that means, as you say, that the lower LoD models hardly ever - or probably never - are used at all. But the render cost calculation is based on the size the item has when it is rezzed. That of course means that the calculated render weight of an avatar wearing fitted mesh is completely wrong and does not in any way reflect the avatar's actual render cost.

This is such a huge problem that Linden Lab has no choice, they have to fix it. The only two possible solutions are to change the switch point of fitted mesh to match their rezzed size, breaking practically all existing fitted mesh or change the render weight calculation to match the actual switch points, accepting the fact that the whole LoD system for fitted mesh is effectively disabled and increasing the ARC of mesh avatars to match their actual render cost. If they go for the second option - and I think they will - we shouldn't be surprised to see ARC values of several millions.

Edited by ChinRey
  • Thanks 1
Link to comment
Share on other sites

And they call the distances two different things in Firestorm...

"LOD Swap"

"LOD change boundaries".

Why do you smart people try to confuse everyone?

Anyway, Penny Patton wrote " the reason it looks the same at a distance is that rigged items are always displayed at their highest LOD level", which is not what you're describing. You are saying that the distances are set high (which I knew about), but the system works.

As I recall from the JIRA I read, some Linden programmer used a different function. The one based on mesh-size gave a radius-like measure, the one used to get the bounding-box size used something diameter-like, doubling the number used to calculate distance.

Anyway, if I can rely on the numbers Firestorm reports for LOD Swaps, those apparently crazy triangle counts I use for Low and Lowest make sense, and the AVC I get, compared to the avatars around me, is still a valid comparison. It just breaks the relationship between AVC and Display Weight. My avatar will be at 100,000 when most people will be pushing the 1,000,000 mark.

The slider to adjust your AVC limit is going to need fixing. It's already awkward UI design, and distinguishing avatars over about 250,000 is already difficult.

(Firestorm, or the bounding box it's measuring, isn't giving the constant result I'd expect. Same avatar, same attached items, same camera position, the "Object Radius" varies between 3.8 and 4.2  How can I not have doubts about the programmer?)

 

Link to comment
Share on other sites

12 hours ago, arabellajones said:

Anyway, Penny Patton wrote " the reason it looks the same at a distance is that rigged items are always displayed at their highest LOD level", which is not what you're describing. You are saying that the distances are set high (which I knew about), but the system works.

Well, they are set so high that usually they are well beyond any reasonable draw distance at least for the two lowest models so for all practical purposes she is right. There is a trick used by some fitted mesh makers (I have no idea if they do it on purpose) that gives a huge increase of the avatar's bounding box. Beq discovered it and describes it in the discussion I linked to.

 

12 hours ago, arabellajones said:

Anyway, if I can rely on the numbers Firestorm reports for LOD Swaps

Not entirely. Much of this was revealed by Beq while she was working on the table so she obviously took it into account. But she was not aware of the artificial bounding box icnrease trick until later so that factor is not included in the Fs table.

 

12 hours ago, arabellajones said:

those apparently crazy triangle counts I use for Low and Lowest make sense

For now at least. But keep in mind that sooner or later LL will have to fix that bug one way or the other. One of the possible solutions is to change the switch points of fitted mesh to match that of other items and if they go for that one, the lower models wil become very important. An example here: a regular mesh the size of a mesh hair will have switch points at about 3 m for mid, 10 m for low and 20 m for lowest, even with LoD factor set at 2.

 

12 hours ago, arabellajones said:

and the AVC I get, compared to the avatars around me, is still a valid comparison. It just breaks the relationship between AVC and Display Weight

Well, yes but the whole point with Avatar Render Cost is that it's supposed to be an indicator of the display weight. As it is now, it's a completely meaningless and worthless number and you might as well throw a dice to determine which avatars around you should be rendered fully and which should be jellybeaned.

Slightly - but not quite - off topic: I had rather interesting experience a while ago. At a Beta USer Group meeting, @Mazidox Linden told us that he had to set his ARC limit so low he could only render his own and Caleb's avatars - everybody else were jellybabes (except me, but he didn't know that). His own spraycan avatar is in fact extremely laggy and noticeably one of the worst at the meeting (I had to be very careful to keep him out of my view) and Caleb's avi wasn't paticularly low lag either compared to others at the meeting but apparently they were the ones that showed up with nice low ARC figures.

 

12 hours ago, arabellajones said:

And they call the distances two different things in Firestorm...

"LOD Swap"

"LOD change boundaries".

Why do you smart people try to confuse everyone?

I'm not sure if there is an official name. "Switch point" was the only one I knew of until the Firestorm update. I prefer "switch" anyway because Ithink it's the msot descritive word. "change"  and "transition" bot imply something smooth and gentle and so does "swap" to some degree. What actually happens, is anything but gentle, it's a harsh, brutal switch.

Edited by ChinRey
  • Thanks 1
Link to comment
Share on other sites

ChinRey covered it better than I could have, but I did just want to add regarding ARC:

A few friends of mine put together a version of Firestorm which added VRAM managing tools. Basically, the viewer lets you see the texture use of avatars around you, and jellydoll those that use excessive amounts of memory. This is a far more effective use of the jellydoll feature than draw weight. I continue to use this viewer regularly and see a huge FPS boost because of it. Using it I have regularly found many of the avatars using the highest amounts of VRAM have really low draw weight, because LL set up Draw Weight so that textures have a very minimal affect on the number, despite having a big impact on performance.

This is why I've always said LL should hire artists with game design experience. To help develop more practical tools for the users. Anyway, the tools were pitched to both Firestorm and Linden Lab. Firestorm does not appear to be adding in the management features, and their implementation of the texture inspect feature has had its usefulness greatly reduced. Linden Lab loves the features and says they intend to include them in a future release of the official viewer so fingers crossed.

Link to comment
Share on other sites

13 hours ago, ChinRey said:

For now at least. But keep in mind that sooner or later LL will have to fix that bug one way or the other. One of the possible solutions is to change the switch points of fitted mesh to match that of other items and if they go for that one, the lower models wil become very important. An example here: a regular mesh the size of a mesh hair will have switch points at about 3 m for mid, 10 m for low and 20 m for lowest, even with LoD factor set at 2.

Switching to use mesh-object size for rigged mesh is going to be really stupid. The outfit I have been working on has several components, things such as separate pants and boots, and there's about a 4:1 range on mesh-object sizes. The current system miscalculates, doubling the distances by how it measures the bounding box, but having a standard distance applied to the whole avatar makes sense.

Bounding-box size seems to vary, in ways I don't see any reason for, same avatar, same worn items, loaded at different log-ins, but that 2:1 miscalculation would change the base from around 4m to around 2m, which is about the avatar visual size. That wouldn't wreck the visuals. Another 2:1 factor would give usable results, though I'd have to re-import to get adequate visual quality at Nearby Chat range.

In all this, the AVC number needs to be calculated on the distances used. To be honest, it astonishes me that this wasn't picked up in testing and development. One explanation, consistent with what I see of SL and elsewhere, is poor documentation, and I shall extent that to include the initial specification

 

Link to comment
Share on other sites

Wow, Im learning a lot from you guys. Thnx

May I add something? 

Trying to live the more "REALISTIC" experience of a second LIFE, pushes people (consumers) to buy more "realistic" products... (higher polycount, bigger textures)... That behavior causes the pc's hardware market to grow (buying a new graphic card, ram etc...)

Even if game designers are looking for best performance on games, let's take a look on how an old graphic card is obsolete after a couple of years... So... this is a market linked to many other markets on real world too (and hopefully growing)

People (consumers) are looking for "more realistic" AND performance too... Thats why a lot of people upgrades their pc in order to play or live the most realistic experience each year...

To be honest... I dont want to upgrade my system every time that a game or second life is getting "higher"... But... I think that each day, people that wants more realistic experiences are growing...

So... for creators, I think that "we" have a GREAT responsibility (I want to be creator too u ,u) creators must aim to achieve the higher quality for the lowest price ("impact") and, it's ok if consumers are asking for more "realism", cause they are pushing the market into growing. Thats how society, the RL works... RL is not made of low poly stuff.

 

When Im thinking if I want to use my old 2012 pc for playing Seconf Life during the next years, only because I like to make art, have friends, and I dont care about "realism"... I dont care about buying fashion... I just want to create my own art, be myself... then... it's ok to keep everything low, lets just think about performance, stay low, for the people that SL doesnt mean money or realism, It's just a creative space.

Or let the market grow... let the society decide, as always, as in RL... The shirt Im wearing right now in RL... I dont know if the cost is close to the real design cost... I dont know if is environment friendly... I dont know if is good or bad for this RL... Im just a consumer... that behavior works in RL for the market flow and growth... what are we expecting on SL?

 

Link to comment
Share on other sites

2 hours ago, arabellajones said:

Switching to use mesh-object size for rigged mesh is going to be really stupid.

It would have been the right thing to do from the start. With regular mesh, sculpts and prims, the switch distances are determined independently for each part of a linkset. Being able to specify different LoD switch points for different parts of a build is an absoltuely vital feature for anybody who wants to create anything resembling optimized content. But I do agree that it's probably too late for that when it comes to fitted mesh. The LoD system is permanently broken for mesh avatars and it is not and will enver be possible to optimize them for render efficiency. The best LL can do at this point, is change the way render cost is calculated to take this flaw into account.

 

3 hours ago, arabellajones said:

but that 2:1 miscalculation would change the base from around 4m to around 2m,

Oh, it's a lot more than 2:1. There are three factors here, remember. One is that the render weight calculation is based on the nominal size of the mesh, not the avatar's bounding box, the second is the confusion caused by the poorly chosen variable name and the third is the artificial bounding box increase caused by some fitted mesh objects. Add all those factors together and the actual switch distances may well be a thousand times as far out as the calculation stipulates. For the top I'm wearing in the picture right above Beq's bounding box demonstration, it would have been 1311.4877:1 if it was worn by the same avatar as Beq's mesh head. But that's distance one dimention. I'm not sure exactly how this is calculated but I would assume that it's done for three dimensional space so it's the distance cubed. For that top/mesh head combo that would give a 2.25 billions to one miscalculation...

Fortunately it's not quite that bad. There are several other factors that help reduce the render load, factors that the render weight formula don't take into accoutn or underestimates, but the sum of it all is, as I said earlier, that Avatar Render Cost is completely meaningless when it comes to avatars wearing fitted mesh and we have no realistic way to measure or control their effect on gpu load and frame rate.

 

3 hours ago, arabellajones said:

To be honest, it astonishes me that this wasn't picked up in testing and development. One explanation, consistent with what I see of SL and elsewhere, is poor documentation, and I shall extent that to include the initial specification

Poor documentation, poor work routines, inadequate task analyzis and lack of strategic thinking, those were the hallmarks of LL's development work for decade. They are learning now - just look at the time and effort they are putting into animesh and baked textures these days. But things don't change overnight and no mater what happens,we'll have to struggle with the sins of the past for many years to come.

Link to comment
Share on other sites

15 minutes ago, Drake853 said:

let the society decide, as always, as in RL...

Absolutely but it only works if people are reasonably well informed. Fitted mesh comes with a huge hidden cost people are not aware of. Tell them about it and then let them decide whether it's worth it or not.

That being said, if realism is what we want from Second Life, we have the wrong focus. If we want SL to feel more real, like today's state of the art computer games, we want lower polycounts, not higher, because at this stage lag is a far more important illusion breaker than lack of visual details. We also need far better shaders - they contribute more to the overall looks of SL compared to modern computer games than details in the meshes and textures do. And we need a more intuitive user interface because the time we spend fiddling with the controls is time we spend ditancing ourselves from the scene. All of this apply to Sansar too btw.

Link to comment
Share on other sites

I don't believe SL has a drive to be more "realistic" in terms of graphics. Sure, everyone wants better graphics, but SL is far below the graphical standards of modern gaming. If someone really wants realistic graphics, they've long ago turned up their nose at SL.

And if you just want SL to have better graphics, well, optimization is key. Learn as much as you can about optimization, how 3D rendering works and how SL is in some ways identical to videogames in this respect, and how in other ways it is different. Videogame content often looks much better than SL content, despite using smaller polygon counts and much less texture memory. Learn why that is. Let this knowledge inform how you create content in SL.

  • Like 1
Link to comment
Share on other sites

You are about to reply to a thread that has been inactive for 2208 days.

Please take a moment to consider if this thread is worth bumping.

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
 Share

×
×
  • Create New...