Jump to content

Questions re: Skyrim Texture formats


eronel55

Recommended Posts

ok, I feel really embarassed posting this but - i am having so many issues and not finding any answers and it is obvious that most are not having trouble so --- here goes.

 

When i installed the game back on 11.11.11 one of the very first things i did was to extract all of the textures and meshes from the master bsa files. from what i have been able to gather, it appears that the textures are saved in one of at least 3 formats - DXT1, DXT3 and DXT5. The textures in the characters\female\folder show that all 3 of those formats are used- it seems to depend on several factors -- whether or not the texture has an alpha channel, and 'maybe' the image size --- i stress maybe -- i am guessing. So, one of the first things i wanted to do was to change the eyes. Some of the eyes are in DXT1 format -- those that have no alpha channel. Some are in dxt3 - for instance the human eyes that require an alpha channel for the lashes. and some such as the high elf are in DXT5. ( Fyi the method by which i am detecting the format is hovering the mouse over the dds file in an open window. The Sage Thumbs plugin is responsible for the detective work. I am assuming that it is reading the file header. I don't know how else it would be able to display the info. Also im on Windows 7 professional using Photoshop cs2 and the nvidia dds plugin to create dds files))

 

I went about working using the textures i had used in fallout 3 and NV that i had become fond of. after i finished pasting the iris into the vanilla texture (128X128 -- i was quite shocked!) i saved the eye text as a dxt3 and it worked. I was not crazy about the texture size tho and so began work converting to a higher size 512X512. I did the same thing - pasted in the iris -- this time using an updated background texture given to me by a fellow modder. The alpha channel was intact. I saved it as a dxt3 again. This time the eye is completely black in game! I attempted saving as a DXT5 and an 8.8.8.8 unsigned - to no avail - the texture does not show i8n game -- the eyes are a solid black orb. I used a texture from my friend - same background , same alpha channel, and his worked --- although it does vary in brightness depending on the camera position. if you simply pan around the character , there is a spot at about 1 or 2 oclock (noon being straight on the characters face) where the eye texture suddenly appears about 50 times brighter! move the camera back a tad and it jumps back to the normal appearance. Very strange.

 

What i cannot determine (due to my limited knowledge of texture formats and THIS game's method of display - idiosyncracies) is if there is a problem with the format i am saving as (perhaps ther is an issue with either the mip mapping or possibly the alpha channel? guessing here) or of this is some sort of 'glitch'. i assume operator error is the cause since i have been unable to find other reports of this phenomena. I MUST be saving the file incorrectly, yes?

 

And today, i discovered an issue while i was attempting to make a new hair texture for use with the default female hair meshes. I was attempting - what i thought would be very simple -- like the eyes - to do a similar thing -- take the default hairlong.dds file and paste a new hair texture into the rgb channel - leaving the alpha untouched. I completed the texture - saved as a dxt3 and then attempted to view it on the mesh in nifskope (the latest version 'rc4'). For this it appears there is an issue with the alpha interpolation. The game hairs are composed of 2 meshes 1) a scalp mesh -- that conforms the the scalp - an underlying hair texture to keep the bald skin from showing through the transparent parts of the 2) main hair mesh lying on the outside of the 'scapl' piece. the 'main' mesh was transparent but the 'scalp piece showed underneath. as i zoomed in on the mesh, the closer i got the more the main mesh texture began to appear - as if materializing. I noticed this same phenomena when i opened the uv editor in nifskope - the texture was 'invisible' until i zoomed in -- and the closer i got the more of the texture i could see.

 

Thoughts?

 

Obvously nifskope is still in a testing phase - sort of. i think they have sorted most of the data but not all of it. But i dont hink it is the issue -- for the hair example - reloading the vanilla texture or the cool hair retext that is up on the nexus results in a normal looking mesh. Obviously I am the problem. Can anyone giv me clear info on the texture formats or advise me of your process so that i may trouble shoot my faulty set up? This is most frustrating - saving out the textures should be a very simple task - it is not an issue i have ever had before with fallout or NV.

 

-eronel55

Link to comment
Share on other sites

How do people manage to make things more complicated than they really are? LOL.

 

 

Q: Is there is a problem with the format i am saving?

 

Looks like you could benefit from a bit of wisdom.

 

DDS textures have different file formats because we want the ability to optimise file size and image quality (just like when saving JPEG images you can adjust Quality in order to control file size). DDS textures are essentially two images in one (an RGB Image and an Alpha Channel Image), so it's even more important to be able to optimise file size. DDS Textures will always use an RGB image, but you don't always need an Alpha Channel image. Additionally, alpha channel images can vary from primitive gradients of gray, to very detailed grayscale images. As far as I understand it, since the needs of the Alpha Channel vary, different formats exist. No matter which format you choose however, the RGB image is always saved at maximum quality:

 

  • Saving a DDS texture at DXT5 will save the texture's Alpha Channel at maximum quality.
  • Saving a DDS texture at DXT3 will save the texture's Alpha Channel at an intermediate quality.
  • Saving a DDS texture at DXT1 will save the texture's Alpha Channel at lowest quality.
  • Saving a DDS texture at DXT1 without Alpha Channel will (usually) have the smallest file size because the Alpha Channel image is removed altogether.

 

When deciding on which format to use take the needs of your Alpha Channel into consideration more than anything else. The following sets of pictures should help illustrate the point:

 

SET ONE:

I often save Specular maps at DXT5 because they are often very detailed black and white versions of the actual RGB image, and have the most detail to them. Saving these kinds of alpha channel images at one of the lower quality formats can result in substantial losses in image quality. The differences between DXT5 and DXT3 isn't that great, but a general rule of thumb is that deterioration is most evident in areas of low contrast/or areas that have smooth gradients; such as the area marked with the red arrows. If that area wasn't there, you could quite happily save the texture at DXT3 (and possibly enjoy a smaller file size)

 

http://www.favoredsoul.com/images/TESV_2012_12_24_21_28_00.jpg

 

SET TWO:

On the other hand, Alpha Channel maps that control Transparency are usually very basic, often consisting of very simple, flat areas of black white and/or gray. Alpha Channels like these look identical whichever format they are compressed under. While there is no aesthetic difference, the file size if it were DXT5 or DXT3 is twice that of DXT1.

 

http://www.favoredsoul.com/images/TESV_2012_12_24_21_46_42.jpg

 

That pretty much covers it. Texture formats have nothing to do with methods of display or other idiosyncrasies, they're more a means of optimising file size. Do be aware though (though it seems you've already discovered this for yourself), file size doesn't always change between formats.

 

 

Q: Thoughts?

 

  • Forget that DXT1 and DXT3 exist. Just save as DXT5 with Interpolated Alpha, or no alpha at all when you don't need an alpha channel.
  • Make sure when saving texture images at any format other than DXT5 to make sure the alpha channel image doesn't look all pixelated like in the image above; it can and does affect the in-game aesthetic.
  • Make sure the images in your alpha channel are the same size as the RGB image. You said you went from 128 to 512 resolution. What if that 512 map you made is using a 128 alpha map? That can and does affect the in-game aesthetic.
  • I've never heard of a situation where saving a texture resulted in nothing but blackness when previewed. Whenever things go that far south I just start from scratch and make sure I make no mistakes. Sometimes its just something totally silly we do and then overlook that can turn otherwise perfectly good things to piss.
  • Don't use Nifskope to test / preview 3D models and textures; its not reliable. Use the game or an actual application designed for displaying and viewing 3D meshes and textures such as Marmoset. I never look at the viewport when using nifskope; what's the point?. Nifskope is a properties editor more than anything else.

 

GL :)

Edited by FavoredSoul
Link to comment
Share on other sites

Don't use Nifskope to test / preview 3D models and textures; its not reliable. Use the game or an actual application designed for displaying and viewing 3D meshes and textures such as Marmoset. I never look at the viewport when using nifskope; what's the point?. Nifskope is a properties editor more than anything else.

 

GL :)

Yeah nifskope is a nif block editor and the viewport isn't any game engine that is true.

checking in Marmoset is about as handy as checking in nifskope though, because the engine and shaders are still completely different, marmoset won't load a nif, so your shader that you create in there is basically irrelevant. Either can be used to previs textures on the mesh fine, but it's not in game. once the CK is released it'll likely have a model viewer like the GECK does, and all you need to do is rclick the nif and previs it in games model viewer and you will see the shader working. There are other reasons for the viewport, it's not just for checking shaders and materials (which are inaccurate imo, I ended up tweaking them) like vert or face normals, checking vert color, animations.. so it is very useful. even for texturing I would say it's useful and saves time, it does an ok job displaying diffuse and normal maps.

Link to comment
Share on other sites

Many thanks Ghogeil and Favored Soul. It is often very difficult to find GOOD practical information on these subjects as too many times the guides or 'tutorials' are written by someone who actually has no grasp of the technical side. Yoou know those guides that basically say push this button and select this menu choice and save -- not helpful. This was most helpful. - the issue was not the alpha map size - but ALL of your info, favored soul, was most enlightening and i thank you for all of it.

 

At the risk of displaying my ignorance again - here is what i discovered.

 

First let me say that my knowledge of the function of Mip Maps is decidedly limited - mostly what i have inferred from reading. My understanding is that mip maps are graduated lower quality versions of the texture that are stored in the texture file and used to display at distance -- no need to load the full texture if the object is so far away that it only takes up the space of a few pixels on screen, right?

 

What i do not understand is when do you need 10 or 12 or 8? and how does this affect the performance in game etc?

 

The solution to my issue was to save the texture without mip maps. I have never given thought to this before because , as i stated previously, i have never encountered this issue before in both fallout games and have always used the default settings in the nvidia plugin -- and i 'thought' those default setting were to create mip maps. Perhaps the default was to not create mip maps and not include in the texture file. -- i am not certain. So -- after i edited the texture (eyes) and set up the alpha channel then saved without mip maps, everything displayed perfectly in game. (btw i made my own _sk map for the eyes. i observed the existing eyebrown_sk.dds is an inverted black and white version of the diffuse - little higher contrast - so i made one from the eye texture i made. I t works quite well - the eye appears more normal - balanced lighting - than when i used the efault _sk. of course without the creation kit it is impossible to see what is being used in the texture sets - the _sk is linked in the human eye nif - and it does affect the appearance)

 

So - is there a change in the mip maps in skyrim?

 

I thank you for the information

 

-eronel55

Link to comment
Share on other sites

Many thanks Ghogeil and Favored Soul. It is often very difficult to find GOOD practical information on these subjects as too many times the guides or 'tutorials' are written by someone who actually has no grasp of the technical side. Yoou know those guides that basically say push this button and select this menu choice and save -- not helpful. This was most helpful. - the issue was not the alpha map size - but ALL of your info, favored soul, was most enlightening and i thank you for all of it.

 

At the risk of displaying my ignorance again - here is what i discovered.

 

First let me say that my knowledge of the function of Mip Maps is decidedly limited - mostly what i have inferred from reading. My understanding is that mip maps are graduated lower quality versions of the texture that are stored in the texture file and used to display at distance -- no need to load the full texture if the object is so far away that it only takes up the space of a few pixels on screen, right?

 

What i do not understand is when do you need 10 or 12 or 8? and how does this affect the performance in game etc?

 

The solution to my issue was to save the texture without mip maps. I have never given thought to this before because , as i stated previously, i have never encountered this issue before in both fallout games and have always used the default settings in the nvidia plugin -- and i 'thought' those default setting were to create mip maps. Perhaps the default was to not create mip maps and not include in the texture file. -- i am not certain. So -- after i edited the texture (eyes) and set up the alpha channel then saved without mip maps, everything displayed perfectly in game. (btw i made my own _sk map for the eyes. i observed the existing eyebrown_sk.dds is an inverted black and white version of the diffuse - little higher contrast - so i made one from the eye texture i made. I t works quite well - the eye appears more normal - balanced lighting - than when i used the efault _sk. of course without the creation kit it is impossible to see what is being used in the texture sets - the _sk is linked in the human eye nif - and it does affect the appearance)

 

So - is there a change in the mip maps in skyrim?

 

I thank you for the information

 

-eronel55

You should be saving with mipmaps. Anything like 6-8 would be fine for 1024 or 2048s At that point the lowest mip is like 16x16 pixels or something lol. You wouldn't notice after..

 

Basically if you don't use mips you are forcing the game to resample a massive texture just to figure out what color a few pixels are on screen, and it constantly does this. it actually increases texture draw time and taxes the cpu and gpu. It's surprisingly unefficient not to use them. Plus the game engine is s*** compared to an image editor when it comes to sampling. Photoshop down samples will be much more accurate than ones created in realtime by the engine. And you get a really noticeable LOD pop in when the full res texture ins displayed from the extra crap downsample version the engine is creating. Also there is a shimmering artifact that presents itself on many textures wihout mips. Anisotropic filtering, or any texture filtering helps to reduce this effect but it's still doesn't look right if you know what you are looking at. I wish I could find that youtube video of the effect as shown in a MW scene...

 

 

 

these display the shimmering I am talking about

http://www.youtube.com/watch?v=JGspd1D11to

 

 

Nope Skyrim uses mips in the expected fashion. the vanilla eye _sk texture has mips, I think the problem is probably on your end somewhere.

Edited by Ghogiel
Link to comment
Share on other sites

  • 1 month later...
I'm also having troubles with the texture files. Figured out to use dxt5 format for the alpha, but for some reason when I save the file the image is cut in half. Anyone know what I'm doing wrong? I'd like to get more into modding but it's frustrating being a noob.
Link to comment
Share on other sites

  • Recently Browsing   0 members

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