Poly Count limits

Okay I have seen a number of answers to this question so I am a bit confused. Is there a limit to the poly count when bringing in static mesh? I have seen answers like “20k to 100k for characters and less for basic objects” and I have also seen “After the beta for ue4 there is no limit”. Can somebody please give me a solid answer lmao.

In UDK there was a limit of 65536 vertices in an imported mesh. In UE4 the limit is much much higher. Though you shouldn’t be getting very high.
The other stuff is just recommended mesh poly counts.

There is a limit but nothing that affects anybody’s business since this isn’t a sculpting software. All you need to care about is your targeted platforms/systems. Those character poly limits are suggestions as to what is good performance wise.

The last time I checked mobile still used 16-bit index buffers so you will still have the limit of 65536, but that may increase to 32-bit at some point. PC is already using 32-bit buffers already so your theoretical limit is about 4 billion which shouldn’t be a problem for anyone any time soon.

All of the above are correct that there is no limit that you’ll ever get close to. The highest poly count I’ve imported, as a stress test, was 2.5 million tris. You wouldn’t want to use something that is high poly like this for run-time performance reasons but it’s possible, especially if you’re patient as it could take a while depending on your system specs for something that high in poly count.

That being said, Mobile does have a limit of 500k tris for any view. If you’re focused on mobile this can be found in the documentation here.

You didn’t specifically ask about what should your model poly counts be for everything but just to cover all bases this is a very subjective question. The real answer there is “It Depends.” This depends on the style of game you want and what your ultimate goal is and your modeling skill level and a ton of other factors. The main thing is remembering that you need to find the balance between what works for your style and performance. A lot of times, by using good LODs and textures you can get away with less modeled geometry. Sometimes this is not the case.

I hope this helps! :slight_smile:

Tim

Several mobile devices also have a limit of 64k per section, but I think that the mesh will already be repartitioned and hide this from you when cooking, but it’s worth knowing that meshes with more than 64k verts will cost an additional draw call.

Cheers,
Michael Noland

That is good to know. Is this for mobile only or all platforms?

The 16 bit index buffer limit is only for some mobile devices (ES2 allows 32 bit index buffers but does not require it, and many Android GPUs don’t support them), but I don’t know 100% about the repartitioning. I’ll ask someone to confirm. Honestly, it should be extremely rare to want to draw a single mesh/material combo with more than 64k verts on mobile…

Cheers,
Michael Noland

Heya,

It turns out that we do not repartition the mesh. Instead, the index buffer will be repacked with truncated indices (so part of the mesh will render but not all of it) and it will emit a warning to the log.

UE_LOG(LogStaticMesh, Warning, TEXT("%s] Mesh has more that 65535 vertices, incompatible with mobile; forcing 16-bit (will probably cause rendering issues)." ), *Parent->GetName());

We’re working on getting in-editor mobile preview going, so this sort of thing will be caught and displayed right in the editor.

Cheers,
Michael Noland

Thanks again, Michael. That sounds like what used to happen with UDK; import a mesh with more than 64k vertices and you get an abomination. :stuck_out_tongue_winking_eye: But as you pointed out it is an extreme case for mobile anyway.

I was trying to import large meshes. I found that anything at or under around 2 million faces, it would import reasonably well. Once I got over that number, 3-5 million, it took VERY long to import. Some were successful, some I gave up, since I didn’t have all night. I find that 2 million is a realistic end point for any single mesh. Not that you should be using that many faces, but there you go;)

Andrew

I’ll mention, I have a 6.8million poly car interior chunked up into roughly 2-million poly pieces running at around 60fps on my gtx 780. It’s nothing amazing, but it was a fun stress test.

Does anyone know if there are static mesh limits with foliage? I have a field i’m doing and when I hit a certain number of foliage actors, they disappear and you can just see their shadows…any help would be great, because I’ve encountered this before.