4
votes

I am making a 3D game with Unity for Android. In the game there is a main character and up to around 10 opponents possibly on the screen at the same time, all using the same model (prefabs for "opponents" differ only in one material for other colors).

The model was designed using MakeHuman and Blender.

On PC (since rendering is a lot faster) there are no problems, but when testing it on an Android device, the rendering time drops the frame rate to around 25-30 FPS when there are 3-4 or more bodies on the screen, creating a really "laggy" feeling (I am expecting a frame rate of about 60 FPS).

http://i.imgur.com/PfWtZe4.png

Before importing the Blender model I used placeholder spheres and there was no such behavior. Since this is the first time I am using Blender and such 3D models, I am not sure whether my model is within the expected sizes for a mobile game. My current model consists of: 5,956 Verts, 10,456 Faces, 10,819 Tris with a file size of around 6.5 MB (it was generated even larger by MakeHuman at first, but I managed to compress it and optimize it significantly, but still without major effects).

I attempted different solutions, including merging all meshes in the model into one, turning off shadows, using as least materials as possible, etc. All attempts were with no or very limited improvement.

Any ideas are welcome. Cheers!

2
The resolution of your model (5,956 Verts, 10,456 Faces, 10,819 Tris with a file size of around 6.5 MB ) seems to be ok for PC, but for a mobile platform you should aim for a tenth of that amount (about 500-600 per character model). If you aim at having more on your screen than just a few, then you need to go even lower (which will be ok since your camera will be further away too).Raimund Krämer
Depending on how big your world is, LOD could help a lot.Seb B.
My world is relatively small, it is supposed to be quite congested at times. Decreasing the model to around 900 verts solved the problem in general (although, as suggested, getting 7-8 instances on the screen causes some lag).Martin Doychev

2 Answers

1
votes

My current model consists of: 5,956 Verts, 10,456 Faces, 10,819 Tris with a file size of around 6.5 MB

Sounds like way too much to me.

Also, keep in mind that if you're doing anything such collision calculations, every extra complexity takes exponentially more time

1
votes

for a mobile game I would suggest you to remesh the model (even though its not a nice work, but the results are much better than the decimate-modifyer for example) an than bake normalmaps for it from the high-res model.