Search Unity

Best Poly-count for NPC enemy in PS4 / Xbox One - -

Discussion in 'General Discussion' started by jbb1979, Aug 12, 2019.

  1. jbb1979

    jbb1979

    Joined:
    Aug 6, 2019
    Posts:
    242
    I have a stupid question, I was wondering what a good poly-count for current consoles in, terms of NPC enemies - -

    One article said it was about 10.000 but, I don't have experience with Unity, Would that make Engine crash - - Are there any official guide-lines ? !

    Sorry if this is placed in wrong thread, I've been googling it but, there's a lot of answers - --
     
  2. GameDevCouple_I

    GameDevCouple_I

    Joined:
    Oct 5, 2013
    Posts:
    1,762
    Better to go by triangle count as a "poly" can be a very simple shape with few vertices, or a very complicated one with many. Poly is just a closed edge shape. So its not good to measure in polys if you want to really know how it will affect performance.

    Here is list of character assets from real games + their triangle counts ,from 2013:

    https://polycount.com/discussion/126662/triangle-counts-for-assets-from-various-videogames

    Here is a more up to date look :

    https://wccftech.com/ryse-polygon-count-comparision-aaa-titles-crysis-star-citizen/


    And here are more chat about it:

    http://forums.cgsociety.org/t/whats-the-polygon-count-for-a-main-game-character/1814426

    https://forums.unrealengine.com/com...h-is-to-high-poly-count-for-a-character-model

    https://www.reddit.com/r/gamedev/comments/61zrap/what_polycount_is_considered_standard_in_video/


    Going by all of those cross refererenced, I would say between 5,000 to 25,000 triangles for an NPC. You will need to do a number of techniques such as high to low / low to high baking to make it look good, but technically using those techniques you could make said NPC look like it is millions of triangles even though it is not.


    EDIT: just read that ellie from last of us remastered is 15k triangles. And looks very very good so thats a good benchmark to use
     
    jbb1979 likes this.
  3. hippocoder

    hippocoder

    Digital Ape Moderator

    Joined:
    Apr 11, 2010
    Posts:
    25,358
  4. Murgilod

    Murgilod

    Joined:
    Nov 12, 2013
    Posts:
    5,762
    It depends on what you need. How many NPCs will their be? What platforms are you targeting? You're basically asking "how long is a piece of string" here.
     
  5. hippocoder

    hippocoder

    Digital Ape Moderator

    Joined:
    Apr 11, 2010
    Posts:
    25,358
    Just get a LOD chain going then you can adjust the parameters on the fly while observing framerates. You don't guess. AAA don't guess. Nobody guesses. Just make a lot of LOD and test. Automate the tests even.

    Cos the numbers will change for every game / hardware platform.

    Bonus? you just added the ability for your game to reach more customers.

    Done.
     
    Ony, Ryiah, BIGTIMEMASTER and 2 others like this.
  6. Billy4184

    Billy4184

    Joined:
    Jul 7, 2014
    Posts:
    4,569
    Forget about subdivision in games, it hardly even belongs in portfolio pieces. Learn how to bake normal maps instead.

    Oops, looks like I didn't actually read the post :D
     
    Last edited: Aug 12, 2019
    jbb1979 likes this.
  7. BIGTIMEMASTER

    BIGTIMEMASTER

    Joined:
    Jun 1, 2017
    Posts:
    2,295
    Whenever you find reluctance to learn something new, stop what you are doing and learn it. Dont wait.

    You'll be a master in no time you make this a habit.

    LOD is simple stuff. Learn to do it manually to understand, then search for automated tools to fit your workflow.
     
    BrandyStarbrite and jbb1979 like this.
  8. jbb1979

    jbb1979

    Joined:
    Aug 6, 2019
    Posts:
    242
    I read link, it seems 5000 is good and, 10-12.000 Is Upper limit - -
     
  9. BIGTIMEMASTER

    BIGTIMEMASTER

    Joined:
    Jun 1, 2017
    Posts:
    2,295
    There is no limit. You are simplifying to avoid learning. Path of failure.
     
  10. SnowInChina

    SnowInChina

    Joined:
    Oct 9, 2012
    Posts:
    205
    there`s not really an answer to your question which can be given like this
    it depends on your project
    for example, if the only thing you see in your game is this one human model, it can be certainly higher on the polycount
    if you are building something like "they are billions", having 10.000 triangles on a single character, would be a bit overkill

    also, the performance of your game depends on so many things, polycount is only one parameter of that
    this is a highly complex subject

    from what i can see you are a beginner, look for a game that's similar to yours and copy them on this subject, but make it half of what they use, since you most likely don't know any of the tricks on how to optimize your stuff
    and from there, read a lot of stuff and build up your knowledge
     
    jbb1979 likes this.
  11. Billy4184

    Billy4184

    Joined:
    Jul 7, 2014
    Posts:
    4,569
    Like others say, it completely depends. Take Star Citizen for example, most vehicles in a game are like 15-30k or something like that, in that game the ships are all hundreds of thousands of triangles, and the carrier even tops a million if I remember correctly. Because they save performance by using a special texturing workflow, and optimize the game around maxing the triangles, they can do that.

    I've heard games that have characters of 100k triangles, even more if there are close-up facials. Use LODs like hippocoder mentioned, and you will have everything you need. Decimation tools are perfectly good enough for far LODs (taking up like 1/2 a centimeter of you screen for example) so that's fast to create.

    If I were you, I'd worry about all this later, when the game is just about done. For now, just take a wild guess, don't add too much detail yet, and when the game is coming along nicely and it's ready for art finalization, re-visit the topic.
     
    BIGTIMEMASTER and jbb1979 like this.
  12. jbb1979

    jbb1979

    Joined:
    Aug 6, 2019
    Posts:
    242
    I sort of said, this is the detail I want and, started working out from chest, and added based on that … I have the model I want now, but it needs tweaking - - Next step is to animated it and, paint the textures - - My Winged demon will have wings folded and, wings opened mode - - and, my game will be if, you get close, they will open wings and, Game over screen - - That's my goal - - My player right now is a ball with, a Nice texture - -

    From there, I will make a better player character ( a Monk ) and, try to build levels with demons, that one has to navigate to, Reach the end . .. $
     
  13. GameDevCouple_I

    GameDevCouple_I

    Joined:
    Oct 5, 2013
    Posts:
    1,762
    Ok I didnt realise you would latch onto those numbers like that. If I had known I just wouldnt have posted the links.

    The reason I posted those links was to show using evidence that every game is different.

    I gave you some super rough numbers but they are based on other games. You need to determine this for your game, there is no real way to measure against other games unless your copying their art style and general features.

    The point of triangle limits is that it is based on your performance budget.

    So basically rule of thumb is: dont just pick a number, work it out by a combination of profiling your game, testing various levels of quality (in terms of stuff like asset fidelity + complexity, shader complexity, and post processing quality/intensity etc etc), and continuously testing and refining that analysis.

    Eventually youll come up with some limits that are based on your actual games performance, and as such it will be a lot more exact rather than a guestimation based on games made by vastly different teams and potentially engines.
     
  14. AndersMalmgren

    AndersMalmgren

    Joined:
    Aug 31, 2014
    Posts:
    4,685
    Modern GPUs even on console have no problem with lots of tris. With sensible LODs you can have pretty high detailed models up close. In our game hero objects are actually the weapons and items in hand (VR game with high level of interaction). The items have about 40-100k tris LOD0. LOD3 have around 500.

    We use simplygon to automate our LOD creation.
     
  15. hippocoder

    hippocoder

    Digital Ape Moderator

    Joined:
    Apr 11, 2010
    Posts:
    25,358
    Also having lots of LODs would classically increase draw calls.

    Draw calls are far from being the problem these days, with SRP batching schemes, because it doesn't really matter if the meshes or even materials are different- it will batch by shader.
     
    jbb1979 likes this.
  16. GameDevCouple_I

    GameDevCouple_I

    Joined:
    Oct 5, 2013
    Posts:
    1,762
    Sorry to derail but: Sweet jesus is that a thing?

    I had no idea that was what SRPs brought to the table. Are you telling me that by switching to SRP I get more intelligent (aka not ****y) batching?

    If so, this massively changes how I weigh up the shortcomings of the SRPs being in flux all the time vs what they add to the equation in terms of usefulness!
     
    jbb1979 likes this.
  17. hippocoder

    hippocoder

    Digital Ape Moderator

    Joined:
    Apr 11, 2010
    Posts:
    25,358
    Yeah the binding of resources happens on GPU now. It's not as fast as doing Draw Mesh Instanced Indirect (because nothing is faster than telling the GPU to go draw a million of the same mesh at once) but it's the next best thing for everything else ;)

    It is a pure CPU saving mostly though like instancing; it just removes the material / mesh from being the dividing issues.

    I raved over SRP Batching when it came out for these reasons. It's really great but is one of those features that might not show how great it is until your project would've otherwise been bound by draw calls and state changes.

    So in a more-full real world game it really shines :)
     
    jbb1979 and GameDevCouple_I like this.
  18. AndersMalmgren

    AndersMalmgren

    Joined:
    Aug 31, 2014
    Posts:
    4,685
    If LOD3 fulfills

    It will be batched on classic pipeline too

    Edit: but the material needs to be same. So SPR basicly have automatic texture array support?
     
    jbb1979 likes this.
  19. hippocoder

    hippocoder

    Digital Ape Moderator

    Joined:
    Apr 11, 2010
    Posts:
    25,358
    xVergilx, jbb1979 and GameDevCouple_I like this.
  20. GameDevCouple_I

    GameDevCouple_I

    Joined:
    Oct 5, 2013
    Posts:
    1,762
    Ok this is flat out amazing. Consider my jaw on the floor at time I have wasted optimising things that would have been optimised for me had I just fully bought into SRP.

    Yet again, I will be switching from built in to SRP this weekend on some hobbyist projects to try this stuff out and profile against what I was doing before.

    DrawMeshInstancedIndirect is great and I use it a lot, but its a pain in the *** sometimes when you just want to handle something as a gameobject for sake of using components such as during prototyping, which I do believe this SRP batching stuff will help with!
     
    jbb1979 likes this.
  21. GameDevCouple_I

    GameDevCouple_I

    Joined:
    Oct 5, 2013
    Posts:
    1,762
    @jbb1979 I know I and others must have said this a dozen times now, but please edit your previous posts instead of making new ones if there are no new comments from other users.

    There is no reason to post a comment-per-minute if no-one has replied to you since your previous comment. Just edit your previous one. Otherwise it comes across as spamming even if your not meaning to.
     
  22. zombiegorilla

    zombiegorilla

    Moderator

    Joined:
    May 8, 2012
    Posts:
    7,784
    THIS. Please don't just post single line posts that don't actual add anything new to the the conversation.
    --
    Also, do not post off-topic posts or derail the topic. I have removed some of your (the op) posts that were unrelated. This topic is about about poly count in general, not a thread to continually post updates on whatever you are doing. If you have a WIP thread, post your progress there, that is what it is for.
     
    GameDevCouple_I and jbb1979 like this.