Home Technical Talk

Modelling/Texturing for New Gen Consoles

locater16
polycounter lvl 8
Offline / Send Message
locater16 polycounter lvl 8
So a lot of modelers on here, those learning or even working in the games industry, have a lot experience for modelling and texturing for last gen games. Which was all well and good for those consoles, and similar ideas can apply to modeling for art directed games as well as mobile stuff.

But with this new generation of consoles, PS4 and Xbox One, all that new power lets you do quite a few new things. And so far there seems to be a tendency not to know where to spend all that, often sticking to "the old ways" for some objects while others get ridiculous polycounts.

So as someone with modeling experience, and being a graphics programmer with knowledge of how this hardware works, I'd love to share some thoughts on how to go about building that fancy next gen game.

A note on Physically Based Rendering:

Yay! Ok, we graphics programmers love the idea of this, which is why most every engine out there will say they do it in some fashion or another. But the main points are usually energy preserving materials, which will mean all your materials should work well with HDR, and most often expanding material types to include metals.

Metals are non dialectric materials, at a full "metalicity" or whatever the engine wants to call it parameter your material isn't going to have a diffuse reflection, I.E.

wip1.jpg

Looks really cool right? Yay metals! But it can be quite easy to abuse metals, especially pure/clean/smooth metals, to the point where it starts to look weird.

Screen%2BShot%2B2015-02-26%2Bat%2B11.08.31%2BPM.png

Not only are you not going to see metals that smooth and clean almost anywhere around you in the real world, but it's also going to highlight that engines actually aren't super great still at the whole reflection business. So not only does dirty/rough/scratched metals more realistic, but they also help hide that the reflections aren't necessarily perfect to begin with. Example of well controlled materials and metals is the gorgeous The Order 1886

Screen%2BShot%2B2015-02-26%2Bat%2B11.10.34%2BPM.png

No glaring reflective surfaces that don't quite look right at the same time there, everything just seems to go together and sit in the scene.

Side note, "material parameters" aren't necessarily done being added to this generation either. Anistropic reflections look great, but are also pretty hard and so will take time to add. Specific material models for hair and cloth are also possible to add, but are hard enough to take time to add, so learning how to control these parameters will probably come up more and more as time goes on.

Modelling

Onto the main point of this post, modelling. The previous generation of consoles had a thousand and one things to think about and constrain, so naturally spending polys where it was most important and making everything else as low poly as could reasonably be gotten away with was important.

But with this next generation of consoles the hardware simply chews through polygons without problem, and memory limits, while still there, are large enough that models aren't nearly as huge a concern for filling up memory.

The result is that the old methods of spending all your polys in the "important" places and items while limiting everything else as much as possible is no longer smart, nor looks terribly good. I'll give a common example. Here's a forest shot of trees someone made in Cryengine

2gRyjK.jpg

What you're seeing is what was usually done with trees, less than ten thousand polys, and that was at the absolute maximum. Keep it low memory, low poly, low impact. You can clearly see all the leaf planes involved, how straight and billboardy everything is. Now here is Far Cry 4, already a shipped game:

FarCry4_Path.jpg

Far more leaves, far less of a billboard effect, even the tree trunk is more obviously twisted and bent, less straight and more rounded. These models have around 100,000+ polys at max, with 5,000 polys alone for the main trunk. Yet here it is in an open world shipping game with hundreds of trees visible. And admittedly Far Cry 4 has a very nice LOD system built just to handle this.

But Epic's latest UE4 demo has trees with a similar 100k polycount running just the same:

maxresdefault.jpg

Not to mention Ryse, son of Rome's 150k polycount for its characters, and on and on.

ryse%20-%20cinematic%203%20-%20jpg.jpg
Arrr, I be having all the polys, and somehow a pirate accent!

Explanation:

An explanation is in order, as to how this is affecting performance and etc. The main thing to understand with polycounts is that modern GPUs will chew through models with ease, so long as each individual triangle is just slightly larger than a single pixel.

But as soon as you get into subpixel triangles, especially multiple triangles occupying the same pixel, then rendering time starts to get exponentially longer. So for modelling it ends up being more important to avoid areas of ultra dense polys that can end up throwing several polygons into one pixel, which also causes flickery geometry aliasing.

Meanwhile you don't have to worry as much about saving polygons in areas of your model where you polys are already large, go ahead and make that vase/round thing smoother if you want, as it won't really hurt any.

And this goes for all models. Keeping everything roughly the same quality and detail for modelling will also stop any obvious mismatches in the detail of the world, as can happen if you fill your nature scene with a hundred thousand blades of grass and a hundred thousand polycount character, and then have >10k trees and super low poly props right next to them.

There is of course, always concerns. When models areas viewed side on you'll inevitably get subpixel triangles, overlapping models (yay jaggie aliasing) and etc. etc. But the idea being a uniform poly size, just like a uniform texel density, is actually more desirable now and comes without an unduly huge impact on performance.

Replies

  • sushi
    Options
    Offline / Send Message
    great post! Thank you
  • Neoekamp
    Options
    Offline / Send Message
    Neoekamp polycounter lvl 5
    Really well thought-out post! Really good general info and shall keep in mind.
  • dzibarik
    Options
    Offline / Send Message
    dzibarik polycounter lvl 10
    I'm finishing my set for Unreal Marketplace which has a lot of cylindrical shapes in it and I've spent a lot of times trying to make 12 sided cylindes look good. In the end I just ditched them and opted out for 24 sided cylinders.

    Then I tried to add some minor props to the set without normal maps and again only 12 sides and... they still look like shit so again I double polycount, bake normal maps and so on but... I still think I'm doing it wrong. Why? Because there are a lot of people who make mobile games. And VR games will need a lot of stuff to render so most available resources will be eaten up by resolution and high framerate.

    Still I can't force myself to make even a little prop look "minor". I know if there was some technical art director to reign me in I would produce props within desired limits and I already did but I can't make commit myself to lowering polycount if I'm on my own.
Sign In or Register to comment.