Search Unity

Mobile Friendly 3D Model Creation Rules

Discussion in 'General Discussion' started by siddharth3322, Oct 26, 2020.

  1. siddharth3322

    siddharth3322

    Joined:
    Nov 29, 2013
    Posts:
    1,049
    Basically, I am confused about rules regarding 3d models designing for mobile games.
    I knew we require to design low poly 3d models for mobile games otherwise it takes too much load and there is a huge performance loss in the game.

    In this, we required to explain this to 3d models designers who may or may not be related to the gaming field.
    So they mostly design in high quality that becomes useful for PC games.

    At present, I want some guidance related to game main player 3d models like a human player for 3rd person shooter game, player car in a racing game etc..

    I have these questions:
    1. how many vertices and triangles limit required to put?
    2. any kind of texture size limit?
    3. how many types of textures allowed? like, albedo texture, normal map texture, height map texture etc...
    4. please advice me regarding my basketball player model designed by the designer, I have attached the wireframe and shaded wireframe images, I think its too much high detailed 3d model.
    5. how to check the number of polygons and triangles for the 3d model?

    Basketball Player Wireframe Image
    basketball player wireframe.png

    Basketball Player Shaded Wireframe Image
    basketball player shaded wireframe.png

    I am asking these questions so I can guide 3d models designers to design models that are compatible with mobile games.
     
  2. xVergilx

    xVergilx

    Joined:
    Dec 22, 2014
    Posts:
    3,296
    From practical POV for android:
    1. About 100k verts in total from your camera view. Its game specific so use "Stats" window to determine how much verts there are in the view. (If your intention is to support wider range of devices (and users), otherwise double that for high-end)
    2. I'd say there isn't, but generally you shouldn't go beyond 4k. Lesser - better. Also, make sure your textures are power of two. Also note that texture size affect build size. And you can't go over 150MB with AAB. Keep in mind.
    3. Albedo + Normal (where required). Rest is an overkill, and you won't be able to bundle it w/o OBB.
    4. Its too dense.
    5. Select model file in project view. Drag up preview (at the bottom of the inspector), tris / verts should be available there.

    Another thing, draw calls are also a major concern in mobile.
    Make sure to abuse Dynamic Batching (with <300 verts per mesh + single material) if you're using dynamic objects (although that might not be available for the skinned characters), or use static batching. Alternatively, for higher dynamic object count - instancing.

    Total approximated drawcalls to support low-end mobile is about 50.
    Use Frame Debugger to profile & determine how much you have atm.
     
  3. BrandyStarbrite

    BrandyStarbrite

    Joined:
    Aug 4, 2013
    Posts:
    2,076
    How many polys are in that model? It looks like there are too many of them.
     
    Last edited: Oct 27, 2020
  4. Antypodish

    Antypodish

    Joined:
    Apr 29, 2014
    Posts:
    10,769
    I think you always should test on your target device.
    Debug using profilers and look for GPU / CPU / Ram bottlenecks.

    For mobile, this model looks far too detailed.
    If not for numbers exactly, I would go for minimum number of vertices / pligons, that make model acceptable.
    Mind Mobiles got rather small screens. You will not see many details. So optimise it down, until it will start look lower quality. Textures and shaders can make low poly models, to look smoother and higher quality.

    Of course, you may want to look in LOD. That gives you plenty of flexibility, in case the performance start to stutter.
     
    Joe-Censored likes this.
  5. neginfinity

    neginfinity

    Joined:
    Jan 27, 2013
    Posts:
    13,566
    Unity has articles.
    https://docs.unity3d.com/Manual/MobileOptimizationPracticalGuide.html

    The general advice is that you need to profile often and locate bottlenecks. And you'll need to profile on target hardware.

    Regarding the model.

    Polygonal density on your basketball player is quite high. For example, take a look at this image:


    And compare number of polygons to your character. You could probably reduce number of triangles by factor of 8 or more.
     
    Moonjump likes this.