I’m creating some game assets for an apartment including vases, bowls, plates, cups, etc…, mostly things to pick up and toss or knock over. Trying to balance their appearance and their performance…
How detailed/how many polygons is too detailed for these minor assets?
I get that some assets like a car or a person is going to have thousands upon thousands of polygons, but for minor, little assets? If I have a vase that has 10 polygons it’s going to look like trash but if I go overboard and use 10,000 polygons for hundreds of tiny objects, will that seriously destroy performance in-engine? Will users even be able to tell the difference between 100 and 1,000 polygons in a finished, textured asset in-game? In other words, what is a typical range of polygons that will allow for a smooth, clean look yet not hinder performance in small object?
The last thing I want is to make a bunch of pretty objects and they become useless because they drop my FPS drastically. If my concern is invalid please let me know, any constructive advice is helpful to me.
Well the short answer would be to use enough polygons to make an object look like it would in a real world condition as the source asset and use a closed edit environment like Unreal 4 to tailor the output as to practical needs. The needs for for VR are different than the needs for PC desktop use and decisions made based on the sum total of the games design as to the targeted player base is the requirement. In other words if you know it’s excessive then make lit less as limitations as to budget requirements is no longer limited in UE4.
The way to think of it is it’s better to have to much as it’s easier to make it less than trying to take to little and make it do more and in general in “NextGen” game design fidelity of asset is a must for other needs that is not performance related.
The second part of the answer the problem of pushing polygons has been solved with the invention of the GPU that continues to improve as hardware tends to do so it’s no longer the surface count that’s the problem but what you add as say a complex PBR type material with hi K textures that you need to keep an eye on. For that matter there are more than a few assets on Epic’s marketplace that LOD’s the material and not the object.
In general the “edit environment” does what it’s suppose to do of optimizing usable assets with out having to build low fidelity assets based on a number that no longer applies. In this case your 10K vases as a perspective would be like spitting into a swimming pool and saying you made the water rise.
Your concern is Valid. But there is no simple right answer. It depends on the target platform.
And it depends on what the budget is for the whole scene.
I would say be conservative but don’t make yourself crazy about it.
A good normal map and PBR texture can make a 300 triangle object look like better than one with 10,000 triangles.
For mobile I would do “Minor, Little Assets” as you described them at 50 - 200 triangles. 2,000 - 4,000 for characters, and 10,000 for Critical Level Defining / Game defining pieces (Boss, Castle, etc)
For PC / and Console 500 - 3,000 for minor little assets. 10,000 to 30,000 for characters, and 100,000 for critical Game defining pieces.
But that is just me and I am sure a bunch of people here will disagree.
So far I have never had an issue where too many polygons slowed down my frame rate.
Plenty of other things slowed it down but never too many polygons.
I have found that Draw Calls, Dynamic Lighting, Dynamic Shadows, and too many huge (4096) textures are much much more expensive
If you are in somewhere close to the range I described and keep your total mobile scenes under 100,000 tris, and PC scenes under 2,000,000
Polygons will not likely be a cause of framerate slowdown for you. You can probably even go higher than those numbers.
I like to keep the count in that range and if I need more use level streaming.
In this way, I can spend the extra resources on better textures, more bones, more enemies, more particles etc.
You do need to watch polygons but these days polygons aren’t usually the frame rate killers unless you really abuse them.
I think one of epics landscape demo scenes has 40,000,000 triangles and was still running pretty smooth on my old PC with an inexpensive Graphics Card.
Apparently a wall will obstruct a scene full of meshes. So for your buildings room, determine how many players can fit (squished) in the room. Get the total poly count. Now you want the room to have at max, 40-70% of that total number. So, the sum of your vases, tables, chairs, etc should equal that number. Also estimate how many people might be in that room as well. Subtract that from the total and flip it for the number of polys in that room.
this works especially if you know what graphics card will be used and what the constraints are with the amount of visible polys