Search Unity

Poly count for character?

Discussion in 'Getting Started' started by scottland, Feb 10, 2013.

  1. scottland

    scottland

    Joined:
    Dec 12, 2012
    Posts:
    42
    Im working on some characters for a PC game and im not quite sure what to shoot for for a poly count. My current model (which is only a head right now) is a little under 6,000 tris with no sub surf. is that high? Low? Good? should i use a sub surf?
     
    BrandyStarbrite likes this.
  2. Myhijim

    Myhijim

    Joined:
    Jun 15, 2012
    Posts:
    1,148
    What my team does is always make a high poly version of a model, then create another version of the model using Blender's Decimate tool which we bring the polly count down to half.

    The high polly we then make a normal map of and apply to the low poly version....

    Just how we run :)
     
    BrandyStarbrite likes this.
  3. scottland

    scottland

    Joined:
    Dec 12, 2012
    Posts:
    42
    How high for the original? i have a sculpt with about 1.7 mil verts (level 7 multires in blender), then i retopoed it down to what i have now. should i normal map the sculpt and apply it to the retopo?
     
  4. TylerPerry

    TylerPerry

    Joined:
    May 29, 2011
    Posts:
    5,577
    It depends on the type of game and target platform.
     
  5. scottland

    scottland

    Joined:
    Dec 12, 2012
    Posts:
    42
    turn based RPG, PC
     
  6. TylerPerry

    TylerPerry

    Joined:
    May 29, 2011
    Posts:
    5,577
    how many characters will be onscreen at once? and what age of PC would you want it to run on (IE 2008)
     
  7. scottland

    scottland

    Joined:
    Dec 12, 2012
    Posts:
    42
    2-5 character mostly, maybe 2010
     
  8. Myhijim

    Myhijim

    Joined:
    Jun 15, 2012
    Posts:
    1,148
    For a boss we got up to something ridiculous like 40,000, then we decimated down to 6,000
     
  9. scottland

    scottland

    Joined:
    Dec 12, 2012
    Posts:
    42
    if 40,000 is ridiculous what does that make 1,700,000? anyway should i apply a normal map of the sculpt to the retopo?
     
  10. TylerPerry

    TylerPerry

    Joined:
    May 29, 2011
    Posts:
    5,577
    In my opinion 6k tris should be fine.

    And yes if I were you I would bake the detail from the high poly version in using a normal map(or, if you want to get fancy a height map with Dx11 tessellation)
     
  11. scottland

    scottland

    Joined:
    Dec 12, 2012
    Posts:
    42
    for the entire character? im at 6k with just the head

    Also i cant do dx11 im on mac
     
    Last edited: Feb 10, 2013
  12. TylerPerry

    TylerPerry

    Joined:
    May 29, 2011
    Posts:
    5,577
    Oh, No just for the head it way to much, 6k -10k for the whole character would be my suggestion
     
  13. scottland

    scottland

    Joined:
    Dec 12, 2012
    Posts:
    42
    Guess ive got some work to do then
     
    Last edited: Feb 10, 2013
  14. Myhijim

    Myhijim

    Joined:
    Jun 15, 2012
    Posts:
    1,148
    This was 40,000 pollys

     
    BrandyStarbrite and calmcarrots like this.
  15. scottland

    scottland

    Joined:
    Dec 12, 2012
    Posts:
    42
    This is about 3 MILLION ( i may have gone a little crazy sculpting)

    $untitled.jpg
     
    calmcarrots likes this.
  16. Myhijim

    Myhijim

    Joined:
    Jun 15, 2012
    Posts:
    1,148
    Going to need a computer from NASA to run that crap xC

    Just decimate it when your finished till you get it to a reasonable High polly level
     
  17. scottland

    scottland

    Joined:
    Dec 12, 2012
    Posts:
    42
    lol yeah my computer pretty much stops if i try to apply the multires
     
  18. Myhijim

    Myhijim

    Joined:
    Jun 15, 2012
    Posts:
    1,148
    A view of the decimated version




    It retains the same shape so I would highly recommend Blender's decimate modifier
     
  19. scottland

    scottland

    Joined:
    Dec 12, 2012
    Posts:
    42
    it keeps the shape but it destroys the topology
     
    zombiegorilla likes this.
  20. Mr.T

    Mr.T

    Joined:
    Jan 1, 2011
    Posts:
    546
    If its for the PC, then yeah what Tyler said 6-10k per character (as long as its not some kind of RTS or similar.). Sculpt, add details etc in High Poly, then bake the normal map to low poly and use low poly in your game. That is what is usually done

    EDIT: Noticed that OP explicitly mentions PC. Somehow missed that.
     
    Last edited: Feb 10, 2013
  21. Mr.T

    Mr.T

    Joined:
    Jan 1, 2011
    Posts:
    546
    Never tried decimate though. Does it screw up the UV maps?
     
  22. superpig

    superpig

    Quis aedificabit ipsos aedificatores? Unity Technologies

    Joined:
    Jan 16, 2011
    Posts:
    4,195
  23. Myhijim

    Myhijim

    Joined:
    Jun 15, 2012
    Posts:
    1,148
    Just need the same Co ords I believe
     
  24. b-joe

    b-joe

    Joined:
    Sep 7, 2009
    Posts:
    48
    Judging from the numbers and the screenshot you posted I guess you are making a mistake common among modellers who have no experience working for games: You are not considering the size your character will be seen on screen during gameplay.

    During Modelling you mostly work in extreme close-up and you want your model to be smooth, so you are using way to many polys. Zoom back often so you see your model in a size it will show up in the game. If your mesh is so dense that you can't see individual polys your polycount is way to high. You should be able to see individual polys and your shape should be clearly defined.
     
  25. Mr.T

    Mr.T

    Joined:
    Jan 1, 2011
    Posts:
    546
    Ah, I see thx :)

    Excellent point. I would like to believe that I myself am in the process of transition from rookie to semi-rookie and I have made this mistake many a time. Sometimes one gets so immersed in the modelling, that one forgets that all those great fine details that are being modeled might never be of practical value when the model finally lands in the game.
     
  26. KRGraphics

    KRGraphics

    Joined:
    Jan 5, 2010
    Posts:
    3,975
    Well, 10,000 tris is good for a character...in my case, my in game models are about 45,000 tris (including hair and accessories). Usually my character bodies are about 30-35k tris, mainly since it is for a fighting game on a 2D plane... and I chose that so I would have some room to create...
     
  27. AlphaD1

    AlphaD1

    Joined:
    Aug 20, 2012
    Posts:
    2
    Well, I had made a little game during my free time and I decided to implement a 10, 600 vert character into the game. The character is then implemented with ragdoll physics and the game just runs smoothly. However, there are some weird glitches happening to the model, such as disappearing completely from the screen.
     
  28. KRGraphics

    KRGraphics

    Joined:
    Jan 5, 2010
    Posts:
    3,975
    Check your cameras clip distance...
     
  29. Max_Bol

    Max_Bol

    Joined:
    May 12, 2014
    Posts:
    117
    The amount of polygon should actually be counted as vertex count instead. (Since the term polycount include both triangles and squared faces which include 2 triangles. It break the whole calculation which is why whenever vertex are not mentioned, it's in tris or triangles)

    Now, the most productive way of counting how many triangles or vertex you can have is by first completing the following list :

    - What specs will this be released on?
    While this already been answered (PC), there is still things that are needed to be considered. The amount of RAM, VRAM available, the amount of cache used by the game, the operation system (32 bits and/or 64 bits), the OS's limitations, the sound card (it's part of the processes so it need to be heavily considered), etc.
    Why all of this is affecting the number of vextex if it's mostly managed by the RAM? Because, by the end, the player's Motherboard make uses of the RAM as its temporary memory to manage everything. (It's a roadway on which everything pass. If it get too much cramped, by the end, it will affect the rendering speed)

    - How much can be calculated as once?
    Note that this isn't just about what is seen by the render process (textures) but also what is not seen, yet still present. For example, if you make uses of the Occlusion Culling, you actually only save on the GPU since things that are not seen are still calculated. While, for the performance budget it's not affected by it that much, it's still part of the memory management process.
    This also include about if you make uses of a proximity management system or really just bring on the whole scene while most of its asset's render pass is turned off. (What I call a proximity generator is simply a script that not only turn off the render pass of everything out of its proximity, but turn off all scripts and individually related things to them like position, animation, states, etc. and only keep the bare minimum. Any big open world game always do it and that explain why things seems to "reset" when you travel back to an area previously visited. It also explain why games like Cities XL reach unstable resources consumption.)
    Is there a LOD system in place? Can you see some asset from so far away that you could reduce their amount of triangles without affecting much of its look?

    - Have you though about the texture size vs rendering distance ratio?
    This is something way too often forgotten or ignored. Why would the texture affect the amount of triangles? It's really a basic and simple reason : By the end, the amount of details shown on screen will be based on both the texture and the mesh equally. The mesh is needed for the engine-related operations (casting and receiving shadows from other meshes, light ray collision, animation, etc.) and the texture is there to add more detail without adding more triangles. On the other side, having things always flat (even with a cool bump/normal map) is not always desirable depending on the direction which the player see the meshes. So, there is this line between the mesh and texture which directly involve the triangle budget.
    This is an example :
    You got a humanoid character which is wearing clothes. You got a limited amount of material which you can place on him. You know that this character will be seen or might be seen up-close on the camera/render (so one the screen). Will you risk it by using a 1K-2K texture just for his face, which then will become a big waste of VRAM once the character is seen 30 meters away or will you use a dynamic texture (like a substance) and script the switch so that the texture can change from 2K to 0.5K depending on the distance? (At the risk of having artifacts and maybe having problem with the cache if things are not managed correctly). Maybe those aren't the best thing and you could just use the LOD to your convenience by making 2 version of the character which change upon the distance between the camera and the character. Doubling the drawcall upon about 1 sec, but managing the amount of detail.

    For me, the best way I found to manage everything in a game so that it allow me to not bang my head too much on the wall is this (for PC):



    I always manage 3 possibilities for everything in the scene (via scripts). Even if you don't have big scenes (like an open world), you can still manage this kind of things based on needs and priorities. (I just use the LOD as an example)

    With this, if you know that the game is in 3rd person view, so you always see a character and you know that this character will have other character entering its short distance view (in this case LOD 0), you can divide the amount of triangles between each assets by the % they take in the screen. For areas which doesn't make uses of the LOD2 (like interior), it mean you can boost the amount of smaller assets and detail while either keeping or reducing the texture qualities. Ideally, you have to have some of the asset "constant" on their resources (a.k.a. the player's character and the enemies)

    Where I'm trying to bring you in this is as followed : Before counting your character's triangle budget, you should first and all calculate the overall budget and, then, calculate how much is given to the background so that it can actually be as great as you want (the background is always above 50% of the filling in the screen after all.). Then you divide the rest based on distance priority.

    If you want to know the overall budget you might have, it can be touchy since it depend on the shaders used, the amount of materials and draw calls, etc. Yet, again, why making things complicated? You want to make sure things will work and have numbers behind to back them? Why not creating them yourself in less than an hour or two?

    There's how you can find more precise numbers and stats :


    1) Create a scene in Unity.
    2) In your 3d software, create a series of cubes.
    3) For each cubes, subdivide them until their amount of triangle reach what you guess should be okay for different kind of assets. If you're still unsure of about what I mean, this is an couple of examples :
    - Make a cube with X triangles. Than add to it an humanoid armature (or CatRig) or whatever you're using for a character. Make sure to skin the mesh to the armature. Then, make it do anything as long as all the part of the rig moves. (It will be glitchy and buggy, but we don't CARE!) This will represent your main character.
    - Do the same on another cube, yet instead, use the amount you think would be alright for a mob.
    - Make a couple of cubes' meshes subdivide into the amounts your think would be okay for background props. (no animation this time)
    4) Export those meshes into Unity and add the kind of shaders you would use if they were real assets.
    - Same for materials. Create as many empty material as you think you would need. (you don't even have to name them!)
    5) Fill those materials(&shaders) with basic textures maps made with the resolution which would represent the actual assets. (You don't have to do the textures. Just pure white/black texture with an alpha channel for some)
    6) Put everything in the scene in a way you think would represent the game (in terms of rendering). Make sure animated things are automatically animated. (Even the Occlusion Culling, baked lights and other stuff you might uses).
    7) Run the scene in the average rig(PC) of your choice and check the stats. If you don't have access to an average rig or if you can't install Unity on a mid or low-end PC, you'll have to guess with the values given.
    8) Based on the given stats and how the it goes (FPS, drawcalls, etc.), stop the scene, go back in your 3d software and adjust the amount of triangles in the meshes and the textures size/amount until you reach what you thin would be ideal.

    Don't worry if you start with killing numbers or even crash Unity a couple of times. This is a tech test for you to find your optimal result in performance and not for having the best visual result (yet). The best way of starting is by giving above-what-you-think amounts of triangles and asset so that you can see if you were right (in your prevision) or simple not right. With the first result, you'll be able to know if you have to upgrade or reduce the assets' triangles or even texture quality.
    At the end of this, you'll have an precise approximation of the number (amount of triangles) you can go with and, on top of that, you will have a great idea of how many asset of that quality you can bring in and how you should manage the asset instantiation and calculation based on the results.
    The reason why YOU have to do it for your project is because the amount of assets, the amount of textures and the skill of everyone is different. Also how they manage the scene can really affect results of this test. For one, doing for example a fighting game, the results of the test done for a RPG or a FPS will be a lot different. That is why this test is a necessity for anyone with doubts.
     
    Aurore, superpig, Ryiah and 1 other person like this.
  30. Deon-Cadme

    Deon-Cadme

    Joined:
    Sep 10, 2013
    Posts:
    288
    @Max_Bol - I guess that it is a good idea to leave information around but the last post in the thread was from Feb 2013...
     
  31. BrandyStarbrite

    BrandyStarbrite

    Joined:
    Aug 4, 2013
    Posts:
    1,164
  32. BrandyStarbrite

    BrandyStarbrite

    Joined:
    Aug 4, 2013
    Posts:
    1,164
    Note: In case anyone was wondering.
    I am not the guy who made the Assassins Creed characters. :p

    If you need more info on character polycounts etc. or you want to see pics of how the Japanese and others etc,
    make their character models for various games, check out Beyond 3D Forums.

    I'm on the Beyond 3D Forums too. So hail me out!
    :D

    They have pics of models from various types of games including Bullet Witch, Bayonetta 1,
    DOA 5
    and Virtua Fighter 5.
    And Lost Planet.
    The Lost Planet ones are amazing.
    Serious amount of polys for their enviroments. GASP!! :eek:

    The DOA 5 models seem to use subdivision surface.
     
  33. OneShotGG

    OneShotGG

    Joined:
    Nov 16, 2012
    Posts:
    225
    If you are making a game for PC,Xbox One or PS4 the average polygon count for this new generation is probably going to be between 70,000 and 120,000 for main characters. Most of these polygons will be found in high detail areas (like face and armor) and hair.

    For enemies you have to weigh how many are going to be on the screen at the same time with your scene polygon budget this can mean 20k or 100k depending on the encounters.

    If you are making a mobile game (or a top down game) I would keep polygon counts under 10,000 for main characters.

    If you are bringing subdivided models into Unity you are doing it wrong. Subdivided models should be used to create your high rez model for normal maps and thats about it.
     
    Last edited: Oct 20, 2014
  34. Max_Bol

    Max_Bol

    Joined:
    May 12, 2014
    Posts:
    117
    Well, the reason why I posted it here was because I did search for this kind of answer before and as I was wishing to share the information, this post is actually the first page related to forum.unity3d.com which is related that appear on the result on Google. In other words, this is the most probable page people will move on when looking for the answer (if they search "Unity Polycount average" on Google.)

    Allow me to give a link to an tech demo with specs : http://www.dualshockers.com/2013/06...echnical-specs-unveiled-and-a-little-mystery/

    This is really informative even if the engine used is different.
     
    Last edited: Oct 28, 2014
  35. vfxjex

    vfxjex

    Joined:
    Jun 3, 2013
    Posts:
    76