Search Unity

Low Polly 2021

Discussion in 'General Discussion' started by jeroll3d, Apr 1, 2021.

  1. jeroll3d

    jeroll3d

    Joined:
    Nov 6, 2010
    Posts:
    249
    hi all

    First of all, a usefull link: https://docs.unity3d.com/Manual/ModelingOptimizedCharacters.html

    Here I am talking about games that are not considered 'triple A' (or AAA) but a relatively simple game, 3D, third person control + point and click - not isometric - where scenarios are designed to maximize performance (this is the attempt, replacing models by plans and alpha; working textures, normal, occlusion, bumps, etc).

    In a scene with an environment of few polys or 'triss', a humanoid character, where can I 'abuse' within the limits of the number of polys? In other words, what would sound relatively good for a character in terms of 'number of polys' (disregarding clothes, just body, understood as: body, eyes, simplified hair - rare plans and bones)?

    - an example, chatacters with about 80 thousand polys *

    I appreciate the help (sorry my english, guys)
     
  2. Murgilod

    Murgilod

    Joined:
    Nov 12, 2013
    Posts:
    10,144
    We can't tell you if we don't know things like how many characters will be on screen or what hardware you're targeting.
     
    jeroll3d likes this.
  3. jeroll3d

    jeroll3d

    Joined:
    Nov 6, 2010
    Posts:
    249
    Really, sorry about. For now, in a 'demo', only one character on scene - small scene, just supose something with same amount of polys, few light's - working more with shader light, few shadows (work with texture to produce 'fake shadows'.

    About scene - have really few polys, but i ll 'exagerate here to get more informations* (i can considerate some performance improve like Occlusion Culling, etc + scene/light's/fake-shadows, etc).
     
    Last edited: Apr 1, 2021
  4. Ryiah

    Ryiah

    Joined:
    Oct 11, 2012
    Posts:
    21,157
    Be aware a few lights can be heavy, especially if you're working with shaders, to the point that you're completely undoing any performance advantage you might have gained by going low poly. The Universal Render Pipeline has a low number of maximum active lights for exactly this reason.
     
    NotaNaN and jeroll3d like this.
  5. jeroll3d

    jeroll3d

    Joined:
    Nov 6, 2010
    Posts:
    249
    My option would be the reverse, having a character - just one - 'medium poly' - and I really think of something like 80 thousand polys - compensating for that by shaders, fake light, fake shadows, Occlusion, etc ... (literally , painted, as the idea is to use the so-called 'toon shaders' where the detailing of objects will also, literally, be drawn 'by hand').
     
    DimitriX89 likes this.
  6. DimitriX89

    DimitriX89

    Joined:
    Jun 3, 2015
    Posts:
    551
    80 000 polys is honestly too much for hand-painted character. With such upper limit and some modeling skills, you can make lots of details, such as muscles and clothing folds, with "honest" geometry. How you are going to make it? Model it yourself or use some character generator?
     
    jeroll3d likes this.
  7. neginfinity

    neginfinity

    Joined:
    Jan 27, 2013
    Posts:
    13,566
    Ahem.

    Take a look at this:
    667 triangles.

    This is also related:
    https://www.reddit.com/r/gamedev/comments/61zrap/what_polycount_is_considered_standard_in_video/

    Basically, there are different definitions of "high/low/medium" poly, but I believe 80k currently would likely be a "hero piece" and "high poly".

    And "low poly" is something between 1k-2k triangles.

    Again, I'm old fashioned in that regard, and would prefer to think that "low poly" is "less than 1k faces", but this doesn't seem to mesh well with current reality.
     
  8. MDADigital

    MDADigital

    Joined:
    Apr 18, 2020
    Posts:
    2,198
    Isn't urp using a variant of forward rendering where pixel lights is expensive.

    On a deferred pipeline pixel lights are far less expensive
     
  9. Joe-Censored

    Joe-Censored

    Joined:
    Mar 26, 2013
    Posts:
    11,847
    Correct, and although Unity says deferred rendering for URP is on its way, there doesn't appear to be any movement on that for a couple years.
     
  10. MDADigital

    MDADigital

    Joined:
    Apr 18, 2020
    Posts:
    2,198
    I wonder how Half Life Alyx solved it they have plenty of mixed mode lights. I guess they just make use of clever level design were more than 4 lights never intersects, but the lighting is pretty much on par with a deferred game.
     
  11. jeroll3d

    jeroll3d

    Joined:
    Nov 6, 2010
    Posts:
    249
    Good morning to everyone. First of all, I would like to apologize for being absent from the forum for the past two days. I work in a 'Publisher' (books) and I was busy editing videos (something I don't like very much).

    Here is my model (handmade or sculpted in Zbrush). Retopology, I used Russian software, it automates retopologies. The software is called 'R3DS Wrap'. The model on screen is 39k Tris, will not use any other accessories such as clothes, Hair, etc. In this case, I will work on the textures (the context of the game allows). I believe it is possible to further reduce the number of faces / polys, but I am looking for ways to automate the composition process.

    When I work on something, I always think: 'what is the most effective way to do this or that given my limitations (from hardware to software)?'

    I believe that this year, at least until the end, Unreal will launch its new engine, pulling Unity with respect to 'number of polys on screen' - mere speculation, but I think we will have new technologies both at Unreal and Unity.

    My focus is the 'in game' narrative, I think some things are essential, one of them, a good composition of characters (I speak of the technical and artistic aspects here).

    - my HIGH model (i dont use in game) have near 400k Tris (but is just to 'bake', etc)


    Here a print, from Maya (i use Maya to produce UV's, hardmesh's etc) M_01.jpg
     
    Last edited: Apr 3, 2021
  12. MDADigital

    MDADigital

    Joined:
    Apr 18, 2020
    Posts:
    2,198
    On a modern desktop and even mobile poly count isn't that important. 80k can work for a hero character. I wouldn't use that much for random NPC that can be plenty of on screen but with LOD in place that shouldn't be a problem either.

    We find setpass calls and batching be a far greater problem. And when you have optimized that fill rate is the next big problem at least for us that are VR game with high resulotion headsets and relative high requirement for frametimes.

    Edit: I hope nantite push unity to automate more of the LOD workflow.
     
    jeroll3d likes this.
  13. neginfinity

    neginfinity

    Joined:
    Jan 27, 2013
    Posts:
    13,566
    This is an opinion.

    That's high poly.

    This is low poly.
    Although this is a specific style. Another way to do it is what I posted earlier - low number of polygons, detailed texture.

    Basically, one of the reason to pursue low poly is not "Reducing number of triangles on screen so the engine can draw the scene", but "lowering production cost". Because the engine can draw quite a lot of triangles.
    An ultra detailed model will take long time to develop, and in the end you may arrive at situation when you only have that one model in your game and nothing else to show.

    By reducing number of polygons, level of detail, you increase number of models you can produce and can focus on narrative, plus you'll be able to express your own visual style. Also, in the time it'll take you to make one detailed character, a low poly artist would be able to build a kingdom.

    Pursuing high level of detail will slow down your production and will limit your options. You'll have to resort to either outsourcing or using model repositories like Quixel and in that case the scene will start losing your "personal touch".

    So, basically, you're free to pursue whatever level of details you want, but if you're aiming too high, chances are you simply won't have the budget to pull it off. For example, the model you posted on the screenshot is unfinished.
     
    Socrates, NotaNaN and jeroll3d like this.
  14. MDADigital

    MDADigital

    Joined:
    Apr 18, 2020
    Posts:
    2,198
    Low poly can refer to low poly versus high poly. Pretty sure that what OP means since he talks about retop
     
  15. jeroll3d

    jeroll3d

    Joined:
    Nov 6, 2010
    Posts:
    249
    My focus is exclusively on the PC and something for the end of 2022 (I am a single person, I need to think a lot, but very small). My 'demo' (this is my idea, a 'free playable demo') will deal with the limitation of 'world', pass in an 'apartment' (just and I aim for something that is accessible to me with what I have today) although it contains, in itself, an important part of the mechanics of character interaction. It is a 'Sci-Fi' genre, inspired by the Manga / Anime Ergo Proxy and Blame (as for the theme or plot). Point and Click + 3rd View (I will not use isometric cameras and elements like these, we find in the unity Store itself and extremely cheap and efficient commercial models - although retrofitting). As for 'design', I think of something revolutionary launched by CCP Games in 2003. I am talking about 'inspirations' here and not about 'copies'. Buildings, distant, seen from a window, are mere painted plans; lights, pixel (do not produce shadows, most are painted). Elements such as particles fill in the voids and do not weigh much in the processing (rain, leaves from possible trees, fog / smoke - planes and alphas - I don't know yet).

    Why do I speak of 'revolutionary'? Because CCP Games knew (extremely efficiently) how to compensate for technical limitations of their time using 'design'. Each element used in your game (EVE) was developed based on this assumption: limitations.

    But why do I talk about this specific game? As I have extreme limitations, I think about 'running away from them' or 'hiding them' by design decisions.

    You had mentioned 'npcs', populations (Crowd). I'll have to get away from it. The context will be used for this purpose. My project (which is already being produced) is minimalist. Even so, the screen (scenery) gives the feeling that there is something 'populous'. There are ways to create that feeling.
     
  16. MDADigital

    MDADigital

    Joined:
    Apr 18, 2020
    Posts:
    2,198
    Sorry to break it to you but if you are a single person doing both game domain and art you will most likely not be able to make that until end of 2022. Art asset is a huge part of game Dev time.

    You can save time by using asset store for generic items and only create the hero assets yourself
     
    jeroll3d likes this.
  17. neginfinity

    neginfinity

    Joined:
    Jan 27, 2013
    Posts:
    13,566
    Given that you have a day job and given the level of detail on your model, it is quite likely that you'll fail to finish the project in the timeframe you specified.

    The techniques you listed are not revolutionary, they're common place. Distant objects that player isn't supposed to approach are quite frequently low detail in modern games - to save production cost. Except that they're boxes and not planes. However, there's one important thing there- hand painted lights are not a time-saving measure. That's because if you move something, you'll have to repaint everything by hand again. And when the lights aren't hand-painted, you can experiment with them however you want, and even if you want baked lighting, you can simply rebake the scene.

    In regards of production cost, the wizard I posted earlier was done in a few hours (3 or 4, I forgot). That's from nothing to game-ready state with skeleton and animation. It is limited (reduced animation set), and that's not the fastest modeling speed in the world, but I highly doubt that your model can be completed in that amount of time, given that it'll definitely require larger number of animations and on top of that you'll need texturing work and facial morphs.

    I would advise to start at extremely low detail version of the final thing - literally untextured boxes, prototype the mechanics and see if it works out. You can always increase level of detail later if you need it. However if you start at high detail level since the beginning, you risk sinking more development time into it than you can afford.
     
    jeroll3d likes this.
  18. jeroll3d

    jeroll3d

    Joined:
    Nov 6, 2010
    Posts:
    249
    Thank you very much.

    Producing characters, for me, is something extremely easy and fast with what I've learned, with what I've produced in the last 30 years (I'm from version 2.5 of Max - I'm kind of old already). Aspects such as modeling, texturing, animation, I am not concerned. This is the relatively easy part for me. We currently have or rely on free and extremely efficient software such as 'Make Human', Krita (texturing and, in particular, hand-painted things). I only have Maya (I paid for it) and Maya is very complete software for modeling, texturing, animation. Zbrush, it was given to me by a friend a long time ago, my version has limitations, but I can do good things with it. In terms of 5 or 6 hours, my time, I manage to produce a high poly (without accessories). Retopology, as I said, there is a way to mitigate the composition time (if you don't use Maya which is also efficient in that) using sofwtares like 'Retopo' (paid) or R3 (paid). Of course, I'm talking about relatively 'cheap' software for small studios. Adobe has Substance Painter / Designer (there are prices - for small consolidated studios). My brother has a 'book publisher' in my country. I was lucky. I don't think of anything like or from Quixel. I will use shaders produced by myself and one, specifically, from the Unity store itself (I will use the cartoon / anime style of shaders to get away from the details, relief, etc. - all of them, literally, hand drawn, as well as lights - 'pixel ligh '). As I mentioned earlier, I think small - in an extremely limited demo regarding the scenario and the project for the end of 2022 (something playable).

    I understand your words, I thank you.
     
    neginfinity likes this.
  19. jeroll3d

    jeroll3d

    Joined:
    Nov 6, 2010
    Posts:
    249
    Sure, i have sure about this. We have a rich and lovely work on Store.
     
  20. neginfinity

    neginfinity

    Joined:
    Jan 27, 2013
    Posts:
    13,566
    Well, having professional experience and skills changes quite a lot of things. In that case you'll have a better chance.

    Few minor details:

    I'd advise not to rely on "painted lights" too much unless you have AMAZING artist on your team and are going for a comic book look. Something like this, for example (a comic made for VR):

    Software like Daz and Makehuman can produce easily recognizeable specific model look that is often associated with lower quality software and games. Especially Daz, which has several stock models that are frequently used unmodified. This is something you might not want.

    Aside from that I do not believe I have anything else to add. Starting with a box version of a level is still a good idea though. Unreal had documentation on level building process ( https://docs.unrealengine.com/en-US/Resources/ContentExamples/LevelDesign/index.html ), it applies to unity too.
     
    jeroll3d likes this.
  21. DimitriX89

    DimitriX89

    Joined:
    Jun 3, 2015
    Posts:
    551
    Good, if you know how to model by hand, you'll have more options. In the best case, I'd advice you to start over, since if you plan to use hand painted textures, they'll look ridculous on such detailed model. Poly model a new body using old as reference. I believe in using traditional poly by poly modeling for anything that isnt hyper realistic, such as cartoon or anime. In your case, by starting in Zbrush you've introduced the problem (absurd polycount) which you later trying to solve. I support everything that was said about low poly previously; in our days, it is less the performance requirement and more a tool to reduce your own workload. In short, use the least polycount that looks good.

    But in case that you do not want to get rid of this model, commit to what you already have. Model real mesh clothes, accessories, etc, because hand painting them wont give much performance advanatge. Automatic optimization, such as Decimate, will do more harm than good at this point.
     
    jeroll3d likes this.
  22. jeroll3d

    jeroll3d

    Joined:
    Nov 6, 2010
    Posts:
    249
    Thanks

    I dedicated my life to the arts, my college / university, Piano (Music). I worked for years as a designer, 3D animator and non-linear editor on a local TV and some advertising agencies. I didn't want to get too far from the initial idea of the topic. but I think that everything in a game is 'interconnected'. Art and design decisions are directly related to technical and coding decisions. The same goes for scripts or 'whatever you want to tell'. I believe that every element on screen, be it static or dynamic, must be related to everything else. I don't think about a light, for example, if it has nothing to do with the environment and engine code (here about performance). UI decisions, another example, and so on. Everything must have reasons to exist, to exist in a certain artistic and mainly technical (engineering) context. If a static object is on a wall, for example, it is for technical and then artistic reasons. I don't know if I can express what I think (my English doesn't help).

    When I think of a character, number of polys, I also think of animation (technique) and 'player control' (coding). But I need to think about aesthetic elements as well, because it is they or him that links the player to the environment. There needs to be identification and it doesn't just tell us about 'gameplay'.

    I believe that Unity and current computers can handle or run a lot of 'in game' elements. We have ways to mitigate this, the most diverse, from textures / shaders, to camera 'tricks'. another important factor or factors tell us about the dynamic elements in the game or in any scenario. AI, for example, what is or is not animated, how is it animated, what function does it perform, animation loop, something responsive ?! etc...

    So my initial question: is it possible, exaggerating numbers, to have models with 50 / 60k Polys (120k) 'tris' in relatively simple environments (static scenario that has a certain number of polys / tris. I know that here involve several things, many , but, literally, I speak of a hypothetical static environment, not responsible, only with inanimate objects)?

    If the answer is positive, I think I will be able to better visualize my idea.
     
  23. DimitriX89

    DimitriX89

    Joined:
    Jun 3, 2015
    Posts:
    551
    In short, yes, it is possible; more important question is how well how performant it will be. There will be many factors other than polycount influencing it. Number of bones in the skeleton and complexity of your shaders, to name a few
     
    jeroll3d likes this.
  24. jeroll3d

    jeroll3d

    Joined:
    Nov 6, 2010
    Posts:
    249
    Perfect, thanks. I was thinking about it too. I have not yet delved into the topic (specifically about 'Rig'). I want to study or need, the impact of this on the engine and how it happens. but that will be a step forward. For now I am attending to modeling and Shaders (studying ways / ways / how to mitigate performance, etc.). The retopology of the models is an important part of this, since joints (according to the general design idea) need to be in conformity ('what moves', such as joints of arms, legs, eyes, mouth, etc.). After this stage is over, there will be 'bones', IKs, 'controls', etc.
     
  25. jeroll3d

    jeroll3d

    Joined:
    Nov 6, 2010
    Posts:
    249
    And I think my next question will have to do with LOD in the player character. Is there, where the idea is a small distance from the camera (controllable, limited)? I understand LOD in static and even dynamic objects, as possible NPCs. I need to understand how they still work (I will have a lot to study, despite the fact that the study material exists in English, which makes things a bit difficult here). An example, NPC A (humanoid, character) whose movements are limited to animation loops, with respect to 'model', A, 'X' polys, B, some distance, '1/2' of these 'X' Polys , greater distance, '1/4' of these 'X' polys ... etc. These are things that I still need to dedicate myself to studying, although I have a very general (and poor) idea about.

    I will have work to do. :)
     
  26. neginfinity

    neginfinity

    Joined:
    Jan 27, 2013
    Posts:
    13,566
    One possible interpretation of LOD is that triangles should be bigger than onscreen pixels when rendered. If they become smaller than pixels, the model MIGHT start looking "noisy". So if you move the model far away, at the point where the triangles become too small, you dial detail level down.
     
    jeroll3d likes this.
  27. MDADigital

    MDADigital

    Joined:
    Apr 18, 2020
    Posts:
    2,198
    Also micro triangles (triangles smaller than a pixel) are supposedly more expensive to draw.

    For fun i tried to disable LOD all together in one of our larger scenes and this was the result (nvidia 3090 / AMD 5950x)

    With lod:

    Highest Frametime: 3.283628
    Lowest Frametime: 1.918912
    Avg framerate: 2.40894

    Without (ForceLOD(0))

    Highest Frametime: 2.850576
    Lowest Frametime: 2.015992
    Avg framerate: 2.323839

    Edit: above numbers are taken from a prerecorded path in scene, I remove top and bottom 1 procent frametimes

    edit: 684 lodgroups so not an insane amount if you ask me

    upload_2021-4-4_12-33-28.png
     
    Last edited: Apr 4, 2021