Wednesday, March 08, 2006

Micro Details

I was admiring our rifle model today and remembered a very neat trick Jeff figured out some time ago. If you look closely at the details on the rifle, you'll see it has been normal-mapped from geometry for larger details like screws and grooves. These macro-details were actually modeled into the high poly reference model, before they were baked into the normal-map for the low poly one.

The rifle also has micro-details on it's surface, such as wood grain and grit on the metal. These details are not modeled into the high resolution reference, but are instead tileable normal-maps composited with the macro-detail normal map. What Jeff figured out was how to combine these two normal-maps into one, allowing artists to add fine details to surfaces without having to model every single scratch and dent.

Here is an example of a barrel. The barrel was first modeled as a high poly reference model, then as a low poly in-game model, and a macro-detail normal-map was generated. Then the low poly barrel was textured with a tileable wood grain normal-map. The wood grain normal-map was unwrapped to match the texture coordinates of the macro-detail map, and finally combined in Jeff's tool.

macro-detail normal-map of a barrel baked from a high-resolution model


micro-detail normal-map, created from tileable normal-maps, and unwrapped to match the baked macro-detail normal-map


final, combined normal-map


The combining process is not as easy as "adding" the two normals together, but it's not too bad either. It involves using one normal-map as a reference surface and marching over it pixel by pixel, peturbing each normal some more. It's a very handy tool, and if someone wants to know more about the algorithm, I can post it. I also haven't heard anyone else mention this technique before, perhaps we invented something new?

9 Comments:

Anonymous Anonymous said...

Cool! This is what I wanted.

Could you e-mail me the equation between two pixels in two normal maps?

My e-mail address is...

rlawkdkrjp@yahoo.co.jp

7:17 AM  
Anonymous Anonymous said...

Hi! I am doind a school project and i really need your help! Its with regards to maya modelling and i need help in rendering and applying textures to the models i have already created and i need a model of an insect!

Regards,

John
bigwalabig@yahoo.com

12:11 PM  
Anonymous Anonymous said...

Hi! I am doind a school project and i really need your help! Its with regards to maya modelling and i need help in rendering and applying textures to the models i have already created and i need a model of an insect!

Regards,

John
bigwalabig@yahoo.com

12:13 PM  
Anonymous Anonymous said...

nicely done! seems a bit vague on the details- but a very nice effect, I haven't heard of that one before-
Thanks

2:03 PM  
Anonymous Anonymous said...

"Could you e-mail me the equation between two pixels in two normal maps?"

same here, please! :)
porkkanamies(-at-)yahoo.com

5:27 AM  
Blogger Patapom said...

I'm very sorry guys, you didn't invent anything : this is simply detail normal maps, pretty much the same as detail diffuse maps.
I believe it's quite used in the game industry, anyway we use this at my company...

6:28 AM  
Blogger Retro Game On said...

That looks really great when its done like that, anymore examples?

10:28 AM  
Anonymous Printing in Pasadena said...

Very Nicely explained and it looks great like that.

8:55 AM  
Anonymous DMDI said...

That looks great and very well explained also.

9:03 AM  

Post a Comment

<< Home