How many triangles is appropriate for a FPS skeletal mesh on iphone4/5/6?

Hi friends:
Currently our modeler just gave me a very detailed first-played warrior mesh with 90000 polygons(150000 triangles after triangulation)! And I’ve skined it, and animiated it in maya, then imported those skeletal meshs and anims into UE4.4.3. Currently on my Mac, the program runns pretty fast in PIE mode, while since PIE mode in UE4 has been so smart to adapt your computer’s performance… But I really wonder if an iphone, let’s just say, iphone5, can it render all those triangles in real time? I think it will be crazy…As Michael Noland has montioned in this thread: IOS limitation - Mobile Development - Unreal Engine Forums

  " it is rare to end up vertex bound on iOS (shadowing skinned meshes can be, but static geometry will probably never be bottlenecked here)."

I haven’t got it test on iphone yet, can someone (Michael, help!) tell me,

1 typically on iphone5, how many polygons should be good for a FPS style skeletal mesh?
2 If I have to render all of those triangles, what kind of optimization should I use?
3 How did the PIE mode runs so fast? how do I apply the same optimiazation it uses in production (even it will decrease render quality…)?


btw you can see a snapshot for this skeletal mesh, it is a samurai.


Hi WaveMarch,

According to our documentation here:

The currently limit for mobile devices is 65k polygons. To be able to utilize your model you will have to remove roughly 25k polygons.

That’s way too much, at least for the older devices. Just for reference, the main character model in Uncharted for the PS3 had 25K triangles.

In Unreal 3 we ran into issues with SkeletalMesh’s being over 15k verts because of 16bit address limit for vertices. Turns out that for each bone influence you apply in your animations to the skeletal mesh and then limit in the engine (we limited to 2 bone influences per vertex) you use up a register. The hard limit is 65k vertices in the register, and if you have 3 bone influences per vertex, you’ve now cut this to 33% of 65k. I haven’t tested any of this in UE4, but I assume the same issues apply. It should be noted though that you will run in to performance issues long before you hit the hard limit of 65k verts, so hopefully you should not run into this problem if you are aware of performance on device early on.