Whenever we post a new model for Overgrowth, a comment we often get is "there's no way that can go in the game -- there are way too many polygons!" That is true. However, we can simulate it pretty well using normal mapping. I'll save the technical details of what a normal map is exactly for another blog post, but the basic idea is pretty straight forward: we make a lower polygon model and simulate the missing geometry with a normal map.
Here's an illustration of why this is important, using the new character I'm working on (with a few of the changes people suggested in the last post). On one side is the normal-mapped game character and on the other side is the sculpted version. It gets kind of hard to tell them apart in this view, even though one is highly optimized.
Although, when looking at the wireframe it's not hard to tell at all.
You may be thinking the one on the left doesn't look much like a wireframe, but you just have to zoom in.
The sculpted version has about 10 million polygons, but I couldn't load it in 3DS Max to display it, so this version of the sculpt is only 4 million triangles. The game-resolution version has fewer than 5000 triangles, but has most of the detail of the sculpted version.
Thanks for all the feedback on this character! His outfit is inspired by African tribesmen -- what other sources could we use for inspiration?(permalink)
Track us on ModDB (visit our page)
What size texture map are you using? Can we see the texture map? Some of the detail didn't transfer over very well. Either the uv's are not utilizing space very well or the texture isn't big enough. Also what was used to bake, the default max bake or xnormal?
I'll ask Aubrey about the texture map and his tools, thanks for the feedback.
OMG on the 2nd pic. i was like theres no way thats wireframe. but then on the third on you could tell, but barely. Could you possibly bump map the textures for your model (when you do apply the textures) giving a more higher quality look to it? Not saying it doesn't look amazing already. And i wouldn't think you would see a drop as far as optimization.
optimizing polycount as much as posable without loss in quality is of course important but your real enemy is not polycounts its draw calls
please read this... Boards.polycount.net
heres a quote from kevin johnstone "I spent a solid few months of optimizing polys, lightmap UV channels, collish meshs for everything in UT and the act of
stripping 2million polys out of a level generally improved the FPS by 2 or 3 frames."
Cool link. :) I am sure Aubrey is aware, he is a regular on polycount.
yea, i first saw this on polycount a couple weeks ago i think
10 million polygons could possibly melt your brain. If not your computer.
lol i think people are still a bit lost here :P... bake seems ok imo... not 100% perfect but imo its good enough!
thats alot of polygons :O
You must have a very very powerful PC to be able to display that high poly model.. When ever I try to get anywhere near those numbers my i7 crashes out.
Just incredible quality right there..
(buried)
that's what beowulf clusters are for son
but yeah, normalmapping has been common place since 2003, don't know what this news article is about here other than showing off a standard rendering feature as new.
Overgrowth isnt showing normal mapping as something "new", they always explain features ingame even if they are common in other games. Its just how they share their development i guess.
It looks good. Though I think you could have stretched to telling us what a normal map is in this article. Not that I don't know already.
And wow 10 million polys. My computer has a heart attack when I reach around the 4 million mark.
Hasn't Pacman got 10 million polys?
pacman has over 170billion polys :P
How big is the texture size for the normal map? would it be possible to change the performance settings ingame to use a model with double the size of that texture? The high poly version looks very good, but the ropes on the normal mapped model are pretty blurry. I'm just a beginner at this kind of stuff, but as willy-wilson said maybe the UV's just need to be utilized better. Would love to see the texture map.
Haha, people in the comments don't know what they're talking about. xD
It's a nice article and the model is awesome.
now when a game engine can support good displacement maps the fun will relay start :D, nice post :)
with that 10 million poligons you can make cool renders in HD :D
Yay normal mapping to save the day!
Looks very nice.
May I suggest using parallax mapping (or some other displacement technique) as well?
It would give even better sense of depth, and probably allow you to reduce the poly count even further.
doesn't work that good on round objects
Very nice. It's good to sse some poeple like what they do.
For inspiration, think of some Greek warriors or Roman-Byzantine soldiers. For a more babrbarian outfit, use reference from celtic and germanic tribes
I'm kind of a noob to this, but... did you have to make all 5 million polygons 1 by 1? I would hate to be a modeler...
Nah, that would take years! Here's a timelapse of what it looks like: Youtube.com
That many polygons, just blowed my mind
well for anyone interested heres the polycount thread i have to say it looks a lot better ingame than just in the bake shown above.
Boards.polycount.net
I understand all mister "sabelotodo", only I commented not always the model save a game, sometimes the textures make a good job and sometimes much better than the models. But sometimes, not always.
Man, 10 million polygons is even more than I want to start to think of! Yet, I have to say that the sculpted looks better than the normal mapped one to me. So, for posters, game boxes, etc., I'd use the sculpted, but for the actually game, I'd definitely used the normal mapped one.
That would be awesome to have a game box :)
yeah, please make a gamebox cover if you have some time
Wow, it's crazy how much these technical aspects can be broken down. Really interesting comparison, makes me wanna give modeling a shot. Well either way I think the result will be nothing short of inspiring :).