Home Technical Talk

How do they smooth objects for games?

madstylesnz
polycounter lvl 9
Offline / Send Message
madstylesnz polycounter lvl 9

Hi does anyone know much about how they smooth for games? At the moment I'm modeling a minigun and I wanted to do a low poly version of it for gaming and if I smooth it as I need to for example to make the barrels smooth it's going to push the polycount too high.

I can use the smooth edges but it's still going to look quite jagged from the front:


I know about normal maps but that's not going to smooth out the edges of my barrels, or would that work for that?
Like if you look at this chaingun for Doom 2016 the barrels look very smooth around the edges:


Any help much appreciated.

Replies

  • varkatope
    Options
    Offline / Send Message
    varkatope polycounter lvl 9
    From what I can see (on my tiny phone screen) the barrel cylinders are about 16 sides around, and the very tips of the barrels that look so smooth are likely a separate piece of geo either with more sides and a texture baked from the high poly, or even maybe just a flat plane with the baked tip applied to it and the surrounding area of the plane set to transparent using the alpha channel. Basically, round shapes are the hardest to pull off with limited geometry, so if you need to use more geo to pull off the look you want, then by all means do so. There are usually opportunities to skimp on the more angular surfaces. Also, there are sometimes ways to cheat as in the superimposed tips (I think). Also, this isn't so much a "low poly" model as a mid poly one, so you can add more geo if that's the look you're going for. They're likely using bevels and face-weighted normals (search around Polycount for an explainer), which adds to the poly count.
  • BlueFlytrap
    Options
    Offline / Send Message
    BlueFlytrap polycounter lvl 9
    As it just so happens I'm the fellow who made that render you posted. Disclaimer: I ripped it from the game.

    To answer your question id Software did two things for the barrels. The first is that all the rounded edges are normalmapped on. There are no bevels. The second is that the barrels are floating geometry. Which to their credit I did not notice ingame.


    Each barrel is 20 sided and for whatever reason displaced slightly. Cutting apart the model like this doesn't hurt performance as it's done along where uv seams would already be.

    The reason I suspect they broke it up like this is for the normalmap. It left the bake with little to no distortion along the cylinders as well as keeping most of the flat surfaces clean.


  • madstylesnz
    Options
    Offline / Send Message
    madstylesnz polycounter lvl 9
    As it just so happens I'm the fellow who made that render you posted. Disclaimer: I ripped it from the game.

    To answer your question id Software did two things for the barrels. The first is that all the rounded edges are normalmapped on. There are no bevels. The second is that the barrels are floating geometry. Which to their credit I did not notice ingame.


    Each barrel is 20 sided and for whatever reason displaced slightly. Cutting apart the model like this doesn't hurt performance as it's done along where uv seams would already be.

    The reason I suspect they broke it up like this is for the normalmap. It left the bake with little to no distortion along the cylinders as well as keeping most of the flat surfaces clean.


    Man it's getting complicated was hoping for a simple fix feel like I've opened up another can of worms. I was wanting to do a low poly version of a minigun and high one for a showreel, I was thinking I'd just hit the old smooth preview in Maya but then I noticed it multiplied my polycount by like 20 and apparently it's just a preview anyway so can't be used in other applications, d'oh!
    BTW do you happen to have any idea what the polycount of that Doom gun would be?
  • BlueFlytrap
    Options
    Offline / Send Message
    BlueFlytrap polycounter lvl 9
    Man it's getting complicated was hoping for a simple fix feel like I've opened up another can of worms. I was wanting to do a low poly version of a minigun and high one for a showreel, I was thinking I'd just hit the old smooth preview in Maya but then I noticed it multiplied my polycount by like 20 and apparently it's just a preview anyway so can't be used in other applications, d'oh!
    BTW do you happen to have any idea what the polycount of that Doom gun would be?
    The chaingun is 33906 tri and somewhere around 27k verts.
    Excluding padding it uses six textures with alpha at 3840x3840. 3 for the body and 3 for the weapon mod.
  • madstylesnz
    Options
    Offline / Send Message
    madstylesnz polycounter lvl 9
    Man it's getting complicated was hoping for a simple fix feel like I've opened up another can of worms. I was wanting to do a low poly version of a minigun and high one for a showreel, I was thinking I'd just hit the old smooth preview in Maya but then I noticed it multiplied my polycount by like 20 and apparently it's just a preview anyway so can't be used in other applications, d'oh!
    BTW do you happen to have any idea what the polycount of that Doom gun would be?
    The chaingun is 33906 tri and somewhere around 27k verts.
    Excluding padding it uses six textures with alpha at 3840x3840. 3 for the body and 3 for the weapon mod.
    Geez that's huge or maybe that's standard for games these days, maybe I can add more detail than I thought. Cheers for your help (:
  • oglu
    Options
    Offline / Send Message
    oglu polycount lvl 666
    Bethesda had a while ago some highress screens online. Here is a crop.

  • Eric Chadwick
    Options
    Offline / Send Message
    A couple of the Stickies up top in this section offer ideas for how to deal with this kind of problem. Worth a look!
  • another caveman
    Options
    Offline / Send Message
    another caveman greentooth
    smoothed support edge loops usually do a good job, and can even replace normal maps... letting you texture with tileable and vertex blends in most cases, reducing drawcalls and improving quality for some assets..

    if it goes in some game...You do gain triangles but its 2019..also make a good use of LODs ;)

    Same geo for both meshes but one has a single smoothing group

  • sprunghunt
    Options
    Offline / Send Message
    sprunghunt polycounter
    smoothed support edge loops usually do a good job, and can even replace normal maps... letting you texture with tileable and vertex blends in most cases, reducing drawcalls and improving quality for some assets..

    if it goes in some game...You do gain triangles but its 2019..also make a good use of LODs ;)

    Same geo for both meshes but one has a single smoothing group

    I've used this technique before and after a while I came to the conclusion that you may as well just bevel the edge. 
  • madstylesnz
    Options
    Offline / Send Message
    madstylesnz polycounter lvl 9
    smoothed support edge loops usually do a good job, and can even replace normal maps... letting you texture with tileable and vertex blends in most cases, reducing drawcalls and improving quality for some assets..

    if it goes in some game...You do gain triangles but its 2019..also make a good use of LODs ;)

    Same geo for both meshes but one has a single smoothing group

    I've used this technique before and after a while I came to the conclusion that you may as well just bevel the edge. 
    Hi what do you mean by smoothed support edge loops?
  • Thanez
    Options
    Offline / Send Message
    Thanez interpolator
    madstylesnz said:
    Hi what do you mean by smoothed support edge loops?
    See how there are two loops of edges going around the cylinder that don't add anything to the shape? When they're flat against the surrounding edges like that they constrict the smoothing, allowing you to have all the polygons in one smoothing group and have them smooth nicely. This is usually used along side a smoothing modifier for generating the highpoly for baking, and will also be constricted by those edgeloops.
    Just leaving your lowpoly like this lets you get pretty much the same smoothing as a normal map would be used for, but affecting your polycount limits instead of your memory limits.
    What sprunghunt was talking about was this: https://polycount.com/discussion/154664/a-short-explanation-about-custom-vertex-normals-tutorial/p1

  • sprunghunt
    Options
    Offline / Send Message
    sprunghunt polycounter
    Thanez said:
    madstylesnz said:
    Hi what do you mean by smoothed support edge loops?
    See how there are two loops of edges going around the cylinder that don't add anything to the shape? When they're flat against the surrounding edges like that they constrict the smoothing, allowing you to have all the polygons in one smoothing group and have them smooth nicely. This is usually used along side a smoothing modifier for generating the highpoly for baking, and will also be constricted by those edgeloops.
    Just leaving your lowpoly like this lets you get pretty much the same smoothing as a normal map would be used for, but affecting your polycount limits instead of your memory limits.
    What sprunghunt was talking about was this: https://polycount.com/discussion/154664/a-short-explanation-about-custom-vertex-normals-tutorial/p1

    Actually I meant that you could just do a bevel with 3 edges instead and it comes out to the same amount of vertexes/faces and gives you a slightly better looking profile on the model. 
  • Eric Chadwick
    Options
    Offline / Send Message
    Wait, that's three loops already, the one on the right. Did you mean something different? 
  • sprunghunt
    Options
    Offline / Send Message
    sprunghunt polycounter
    Wait, that's three loops already, the one on the right. Did you mean something different? 
    The example on the right is a 90 degree angle with two extra loops. I meant a proper bevel with two 45 degree angles. 

    Like I said - it's the same geometry just a proper bevel.

Sign In or Register to comment.