Jump to content

HOW many polygons in a dress?


Charlotte Bartlett
 Share

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

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

Recommended Posts

So I have been dabbling in clothing for a change of scenery and am working on a floor length gown with a level of detail that works for Second Life.  I don't want to start on the wrong foot by making a 500,000 K poly gown that crashes the grid, so as part of my learning experience I have been asking a lot of questions to find the right balance.  I won't be perfect but I do want to aim to be a good citizen with my designs.

I have read a lot of threads here, plus google searches and the wiki and Jelly Babies information etc.

What I found interesting and compounded by a question I asked to designers on Facebook was I couldn't find a general guideline for "what is being a good citizen in SL versus not", in terms of polygon usage on clothing.  I read the Mesh/Technical Overview on the SL wiki for example, and unless I missed the information, I couldn't see anything about what to aim for like other platforms/devs provide.    I could be just looking in the wrong place, but it had me even as somebody experienced in SL scratching my head.

Drongle wrote some interesting posts here that helped me on the way but I have more questions haha ;)

I know a few of you that post here are fantastic in this area of optimisation so what would you guide new clothing makers to aim for.  I am talking quad polygons here before uploading.

Floor length gown - some comments noted 40,000, 50,000, 75,000 polys. When I compared this to game dev assets it's shockingly high.  I rezzed a few designer's gowns also in SL to look and suspect those numbers I quotes may have been LOW for those - the mesh was so dense I have no idea how it even renders without blowing up my laptop.    However, we deal with the fact that SL doesn't support PBR materials at all, and the implemented normal map well I have had mixed results so will be interested to see how that operates on clothing...    So what is a GOOD quad polygon count that (a) is efficient and (b) still allows the item to look decent enough to sell??? (c) any other optimisation practices we can apply (LODS obviously but can we take this even further?) using the example of this gown.  Let's assume the gown as a few lovely folds in the skirt, some scalloped edge detail with pleats on the top and a belt.     What range would you set as a guideline?

Now textures.  This gown as a corset underlying piece, a lace overlay, a belt then a long gown so 4 materials. so is 3 x 512 for the gown and 1 x 256 for the belt?  Or if 1 x 1024 for the 3 materials combined (that's where my brain is going) and 1 x 512 for the belt (256 it starts to look a bit rough as the belt combines metals, silks and has a normal map for the detailing on the buckle so I may need to push it up a little).  I am baking at 4096 x 4096 but then optimise down the final texture in photoshop using the sizes above.     

I used the above as an example as (a) that is my first piece of clothing so frankly I could make this thing 200,000 polys haha but luckily my experience in houses has taught me to optimise as much as possible, and (b) I can then use a % based on the body coverage from it.

Really interested to get opinions and input on this as I learn my new craft!  It may also then help other "new" clothing designers who find this post too.

Thanks

Charlotte 

Edited by Charlotte Bartlett
typo
Link to comment
Share on other sites

7 hours ago, Charlotte Bartlett said:

Floor length gown - some comments noted 40,000, 50,000, 75,000 polys. When I compared this to game dev assets it's shockingly high.

Oh yes. To get a "normal" SL polycount, take the highest number that can possibly be regarded as sensible anywhere else and multiply by ten. :P

Joke aside, I tend to think in terms of active triangles, that is the total number of triangles the computer has to draw on the screen at any given time - each moving tri counting as about 1.25 static ones and shape changing ones (flexiprims, fitted mesh etc.) as two regular ones. That is not what you are asking about of course but it can still give a rough idea.

There are lots of other factors influencing render load of course but as a rough guideline, with no more than 200-300 unique texture pixels per triangle and not too much else loading the gpu down:

  • Any computer today should be able to handle 100,000 active static triangles with no problems worth speaking of and 200,000 with tolerable performance loss.
  • An "average" laptop should handle 150,000 triangles well and 300,000 with not too much problems
  • An "average" home computer: 200,000 without problems and it might manage 400,000
  • A high end game computer should easily manage 400,000 triangles and may handle 800,000 at a pinch
  • Any computer that is asked to handle more than a million triangles all at once, should seek immediate help from the nearest Crisis Center for Abused Computers

That is for Second Life. Higher polycounts may be acceptabe in other 3D environments with lower texture densities and more performant shaders.

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

Since I can get a medium sized house on two 1024 textures (one inside, one outside and that includes trim et al) then I suspect you should be able to get your dress on one 1024 including belt. If you are using Cycles Render then bake at a high resolution like 400 or 500 if you can. If you are using Blender Render that may be tricker so I will keep my mouth shut there LOL.

I think better than having a benchmark to weigh against, a more logical and "better practices" method would be to find the lowest number of tris that will still do the job and look smooth enough for your project. If you are making a SATIN dress, it will likely need more than if you are making a TWEED WOOL jumper. So some experimentation will be called for. 

I have actually seen clothes made without ENOUGH vertices (hard to imagine but true). I would aim for a middle ground. And check your avatar complexity when wearing -- there will be a hint in there also. 

And remember that you dress or other garment will not be the only thing worn or likely the only thing someone sees (think club) so low is good and if you can make the textures do most of the work === that helps too. 

That was my NON technical thinking. 

 

  • Thanks 1
Link to comment
Share on other sites

On 2/2/2018 at 7:37 PM, ChinRey said:

That is for Second Life. Higher polycounts may be acceptabe in other 3D environments with lower texture densities and more performant shaders.

Not at all, UnrealEngine4 refuses to load assets with too high polycounts (due to how it manages assets import) and it's documented that it's best to work on shaders rather than geometry whenever possible. In SL, the exact reverse is happening. Since we don't have a fully featured shader to work with, much detail needs geometry to actually pop, ie height maps using parallax displacement rather than a tessellation based one, would sensibly increase performance and perceived detail depth without actual geometry on the object, within certain extents of course.

In my opinion, modeling garments for SL should be very similar to the high definition games of the past, where only blinn materials were used and the height maps weren't an option yet. Model a high resolution version of the clothing, add some sculpting on top and when all the details look as intended, perform a retopology.

Here, my own criteria to determine when "it's enough" is by observing the main details' silhouette , say a jacket folding. When i get a very spikey representation of the original silhouette, i add one subdvision level. I also try to combine overlapping pieces on the high res model into one retopoed surface, so to avoid the fuss of intersecting pieces (and hidden geometry) wherever it's possible. Then baking the normal maps should take care of the main detailing rounder shades (some geometry + normal map) as well as those too small for affording dedicated geometry. Frome here, all texturing work, either it be realtime material or a pre-rendered (baked) just adds the baking time to the procedure.

The only thing that changes a bit from the old gen workflow is that in SL we can't afford to remove too much geometry on the areas between the joints (the bending areas), even if they aren't actually needed for the deformations. (Blendshapes/Shapekeys were normally used to define the shapes for different character models, thing that SL doesn't support, resorting to collision volume bones.)

Why? Because of the fitmesh system: collision volume bones need geometry to affect the general shape and aren't intended nor placed near the bending points on an avatar. So a last cleanup that would otherwise be performed, here just drops.

Also, consider that the sliders/collision volume bones would inflate/deflate the clothing vertices, giving again a spikey look. And that's where optimization falls apart for clothing rigging. It requires one more subdivision level, meaning newPolyCount = currentPolyCount * 4... and doing so polycounts just skyrocket.

However, even with this extra subdivision, if i worked wisely, i don't get any way near the half those enormous polycounts i read from the other posts. So depending from the complexity and how many highres parts you'd be joining into one retopo surface, you could get a varying range between  10k and 30K triangles for a full outfit (keeping the numbers very loose here, assuming the max model roundness possible). Again, if you want to catch all the 20 meters of folded fabric around a 1 meter circumference, you will need many more triangles and the fewer you have, the more jagged its silhouette edges will look. Here it's your call.

Edited by OptimoMaximo
  • Thanks 3
Link to comment
Share on other sites

You are about to reply to a thread that has been inactive for 2262 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...