Jump to content

Understanding Skyrim Texture Maps


MaelstromDesign

Recommended Posts

I've been searching for some reliable info regarding how texture maps (diffuse, specular, normal, and otherwise) affect models ingame so i can better understand my texturing abilities, but so far, my searches have remained in vain. Can someone explain to me, hopefully in detail, how the diffrent textures work in the engine? Also, what is the proper order for putting textures in the BSTextureSet in NifSkope and what do the diffrent endings of each texture mean, such as _emit, and _e.
Link to comment
Share on other sites

I'll quote myself from another thread:

A glow map works kinda the specularity (alpha) channel of the diffuse map (texture) but it allows the texture to glow with some color. A good vanilla example is the Daedric Armor, ingame its kinda dark and red, but if you opened the texture, you'd notice that the base texture has no red at all. That red glow is achieved with the glow map.

 

Environmental maps are what Dragten said they are. They're used for fake reflections on models like shining armors. If i recall correctly, they resemble a disassembled cube, so its in fact a cubemap. A texture that retains 6 interior faces of a cube, which ingame is assembled and projected into the armor to fake reflections.

 

Real time reflections are very hard on hardware, since most effects are applied not globally, but just taking in account from the camera/players perspective, a reflection would require to render the scene all again from the perspective of the object that is reflecting the scene each frame. So environmental/cube maps are applied to fake reflections very widely on games, though there are better implementation of cubemaps that do resemble the scene they're rendered by making the cubemap on the spot instead of being a completely unrelated texture painted over the model.

 

You can find examples of these in the cubemaps folder in the textures bsa :)

 

Backlight mask... i think i read somewhere that it was used for objects that are thin and supposed to let some light pass, like some forsworn fences made out of skin that you find on their camps. They're there to fake translucency.

Normal maps aren't textures but vectors stored in a texture format. From the RGB values of each pixel, a vector is constructed, and that vector represents how "warped" the texture looks in that direction when lighting is applied in game. It is a pretty clever technique for faking detail when pumping up the poly count of a model isn't viable (pretty much, never lol).
Link to comment
Share on other sites

I know there is some documentation on this somewhere, but I don't remember off the top of my head.

 

The basics are these. Defuse map has all your color information in it, as well as some baked in shadow info (IE, go ahead and paint in ambient occlusion and any static shadow effects you want, just like you would with most other game engines). The alpha channel of the defuse map is the actual transparency of that texture. An alpha property object will need to be in your NIF file if you use opacity of any kind. Just copy one over from another nif that uses transparent textures.

 

Almost all textured objects have a normal map too (_n). This has your run-o-the-mill normal map in the color channels, and a grayscale image in the alpha channel which defines specularity. Specular is just as you find it in any other engine. For more advanced shinyness, you have an environment map (_en I think). This is a grayscale image that specifies how much of the cube map is reflected per pixel (White is shiny, black is not).

 

You should never have to worry about what order these go in. Make sure you are copying over material properties from an existing NIF that uses all the features that you wish to use. Then you'll just be replacing textures one by one, and don't have to worry about slots.

 

There are many more types of materials, including glow maps and sub-surface scattering. Its all about looking through nif files from the game and figuring out how they work.

 

Update: From a user named Ghogiel over at the NifTools forum

_n - normal map

_msn - Model Space Normal map/Object Space Normal map

_g - glow map

_p - parallax map- these are parallax maps, however I haven't actually found a nif that has one hooked up to double check it's in the right slot and to see the shader set up...

_e - environment cube map.

_em/_m/_envmask/_envmapmask - environment mask map.

 

Link to comment
Share on other sites

That is great and thorough info from both of you, especially you AurelTristan, this anwsers many of my questions. But i have one more, i've made a custom model for a weapon and managed to get it ingame, but i'm suffering from some kind of texture (probably) problem that baffles me. When i'm very close to an object, in first person, the weapon begins to become semi-transparent. It's barely noticeable outside, but indoors the problem is exaggerated to an enormous degree, especially in caves and ruins. I have all the texture settings exactly as the iron war axe, have a normal map with specular, a dif with completely white alpha, and a _m that blacks out the wooden handle but registers the axe's head.

 

Here's a pic of the problem (You have too look closely, as i'm outside, but you can see the window's lacing through the axe's head and it's handle):

 

http://i433.photobucket.com/albums/qq55/KnightOfAmmo/TESV2012-03-1217-34-20-80.jpg

Link to comment
Share on other sites

the first thing is the obvious one, is there any alpha channel in the diffuse map, nialphaproperty, or alpha setting in the objects material?

 

the second thing, seeing it's a custom model, would be to check all the transforms, normals, and update tangent space ect..

 

I'm not sure what that is, could be a shader flag, I just had the same thing in another engine the other day, I had 'decal' enabled in the shader parameters, but nothing in the opacity settings cept fully opaque. So just double check those.. :unsure:

Link to comment
Share on other sites

  • 8 months later...

I know this thread is ancient, but I may have an answer for the randomly transparent objects while close to something in first person . . .

The first person hands and weapon models always remain in the same position relative to the camera, and the skyrim engine prioritizes the first person meshes so they never appear to clip with the environment . . . so when you get close to something like a wall you'll always be able to see your sword or axe even if it should be clipping through the environment meshes

the random transparency comes in with screen space ambient occlusion (SSAO)

I've only noticed this when I had an ENB with SSAO enabled, and I'm not sure exactly how it all works together to go transparent, but I haven't noticed it any other way

Link to comment
Share on other sites

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...