Tuesday, January 10, 2012

Mapping

I think this day and age it is pretty safe to say that No one learns on their own. I am lucky enough to have one of my best friends be a 3d artist for a game company. Naturally, over the past few weeks we've increased our communication. If you remember in the last post I modified the textures to bright red and yellow. But as you can see in the image, it still looks actually kinda good. It has some sort of reflection and looks 'bumpy' and generally 3d'ish (if that's a word).

The 'bird' with my awesome modifications, still looking 3d'ish.

I've just been continuing my DirectX studies when I finally asked my friend about all of these other DDS files that are clearly not simple color textures. Now, I've played enough games and talked to my friend enough to have heard terms like 'bump mapping' and 'height maps'. But I never knew what the hell they looked like or how the data stored. Turns out this ASS game stores them in individual DDS files. So let's go back to our 'birds' character folder and see what other map files it has.

All the texture files for the bird character.

After opening each texture in GIMP and trying my best to explain what I was looking at to my friend, I realized it would be much quicker to just send him the stupid file. The file I sent him was 'bird_body_e.dds' and he explained that these textures are subjective and could be created entirely for a specific effect. He also explained that some people abide by a naming convention. You'll notice that each part has either a '_d','_e','_n' or '_s' suffix. This (in some cases) denotes the type of texture. Apparently these four types are the basis of any model. Let's take a closer look at each one.

Diffuse texture map, this is used for defining the colors of the texture.

Normal map, this is used for defining the 'bumpiness' of the texture.

Emissive map, this is used for areas that will be lit up/glow.

Specular Map, this is used for showing the 'shininess' of the object.

If you want a bit more of an explanation with some samples check here. The emissive map didn't really make sense to me until I realized it's the same thing as a self-illumination or glow map. Normal maps are by far the most important (for 3d art anyways) because that's what makes the object look 'real' by giving the model some depth. Normal maps are apparently the way of doing bump mapping these days. There's a great image that shows the importance of Normal maps taken from wikipedia:

A complex mesh, then a simplified mesh with normal mapping applied. (image from wikipedia)

Do you see those numbers in the caption? 4 MILLION TRIANGLES to generate that first image. It is then reduced down to 500 triangles and has the normal map applied to it. That's 3,999,500 LESS triangles your CPU/GPU has to compute, all because a normal map is applied and makes it look like it has proper depth and shadows.

So I want my modified model to glow red so it's much easier to find on the screen. My next step will be figuring out how to create or modify the emissive/glow map. Also I'll probably try to modify the normal map to make the character look boring and have no depth or shadows, that should also make it easy to spot. Until next time!