Jump to content

Body textures(and UV maps) confusion


Lethys90

Recommended Posts

Hello everyone,

I've been using the BAB body replacer for a long time now, and never felt like switching to hgec(too much hassle, and I don't care about most of the outfits anyway). However I recently found some really cool armors on the internet and decided to install them even though they are made for hgec. As expected, my female character's skin looked messed up wherever it was visible, especially on the legs. I quickly learned that making a conversion is beyond my skills, but messing around with nifskope gave me another idea, and this is where it gets interesting :turned:

 

Basically, I downloaded some hgec body textures(ozmo's), renamed the footfemale.dds files, and put them in the various race folders alongside the bab textures, then changed the texture path on the upper and lower body(in the armor mesh) to point to the new textures. Well I was sure it would work, but, as the more experienced modders will have guessed, I just simply Failed (lol), because in game the skin shader overrid my changes. The best I could do was change the material in the mesh so it would not be treated like skin in-game(found this on Google :tongue: ), but that made the armor incompatible with all races except dark elves (my character's race).

 

However I remembered a mod I had seen on the nexus a while ago (SetBody 2ch-edition Tspec). I downloaded and tried it yesterday, hoping for some ideas, and found that it contains a bunch of scripted, equippable hgec-textured bodies of all shapes and ages.... Plus Robert's Female, which is incompatible with hgec textures. In the main package of the mod it works just like my armor, by changing the material property in the mesh(so imperial texture only); but the author also provided two (better) alternatives: one paths the equippable Robert's body mesh to upperbodyfemale.dds, the other to legfemale.dds, which is exactly what I had tried to do with my armor, and the strange thing is, it works!!!

 

I have no idea how that's possible, though, and I couldn't find anything either on google or by looking at the mesh in nifskope. I suspect it may have to do with UV maps, but I don't really understand how they work, or where to find them...

So I hoped some of the expert modders here would know the answer! It's not even about getting the armor to work for my char anymore, it's about understanding how it works :tongue:

Sorry for the huge post, btw!

Edited by Lethys90
Link to comment
Share on other sites

No need to apologize for a long post, far too many people with game issues post too little information (which is far more frustrating than reading a longer, more detailed post). Here is the problem that I think you are facing, however there are people out there that are far more experienced than me at this, so my word is far from final. Basically, any time you try to bring a specific type of body and armor made for a different body type together you are going to run into issues. If your .esp that adds the armor is not loading close to the end of the list you are guaranteed to have issues. I haven't had this problem as I have only gone from exnem to hgec, and even these two use similar mapping.

 

As far as the SetBody mod, I think I understand your question. Basically a mod like that force "equips" a certain body type on the player or NPC. When these meshes are forced by script to be applied to your character's body, the related textures are used. I'm not 100% sure however what you are trying to figure out at the moment about this. Probably just me, but you mind being a tad more specific what your current goal is?

 

Also, if you are trying to get the armors to work and look good, why not just use the SetBody mod to teporarily change your character to have a HGEC body type and then use the armor? Then you could change it back when you are done. Sorry if this isn't the information you are looking for, hopefully in the next posts we can get this figured out to a t.

Link to comment
Share on other sites

Well, as far as I understood the workings of those mods, they use all 4 slots a race can have texture assigned to. You were actually on the right track with making the body meshes use a different bodypart texture, like "legs", but this can't be done the way you we're going about it.

 

In Oblivion for a mesh to be treated as an actual bodypart, that is using the texture of the individual race and adapting in skin tint and color to the settings done in CharGen, several conditions in the NIF need to apply.

 

For one the material name has to be "skin" (case doesn't matter). This is an engine keyword making the game ignore any material settings you might have done in the NIF (that's why there's no glowmaps possible on bodyparts, as the emissive property gets reverted by the engine).

 

Then the "name" of the NiTriStrips/Shapes has to include another engine keyword, telling which body slot's texture to use. The keywords I know are "upperbody"/"arms", "lowerbody", "hand", "foot" (again case-insensitive). The ":" serves as a "remark" indicator in that everything coming after it doesn't get taken as part of the keyword. So names like "Foot:Legs" are not uncommon in bodymods. This one tells the engine to use the "foot" texture for the mesh and tells the user reading the NIF that this is meant to be the legs.

 

Using material name "skin" but without a proper keyword in the name of the NiTriStrips/Shapes can lead to unwanted results, as the engine fails determining which body slot to use and errors.

Using a keyword in the name but with material name "skin" just turns off the bodypart function of the mesh and makes it work the regular way, that is no texture assignment on race basis and no adapting in skin tint and color to the settings done in CharGen. It is a regular mesh and uses the texture assigned to it in the NIF as usual.

 

Very important to keep in mind is that although the engine uses the texture defined in the plugin for bodyparts, it still checks the texture assigned in the NIF! So if you assign a file that doesn't exist or a texture which doesn't have a normalmap ("..._n.dds"), you will still encounter the missing normalmap error indicator, pitch-black or invisible mesh, ingame!

 

I learned this the hard way back then and couldn't find it documented anywhere up to now, so I'm spreading knowledge of it whenever I can.

 

I hope this sheds some light onto it.

 

edit: And the SetBody mods only work with the bodyparts coming with them, as textures used are defined on a per-race basis, whereas texture mapping is specific to the NIF. As all bodymods' clothing and armor items contain meshes named "foot", they will always be using the same texture. Texture file used by a race can't be changed on-the-fly, so this will not work for existing equipment but just for the specifically edited bodyparts coming from the SetBody mods.

Correct me, if I'm wrong though, as I'm not too knowledgeable about the matter of said mods.

Edited by DrakeTheDragon
Link to comment
Share on other sites

Thank you Drake for your great answer! Kudos to you :thumbsup:

It seems what I was missing was the "keyword" part in the NiTriStrips name, as I was trying to direct the game to load the leg texture instead of the foot texture, but I only edited the texture path!

Now that I think of it, all the meshes I looked at had Foot in their body parts' names, but I just never made the connection :biggrin:

 

As for the set body mod that i tried, its purpose was to change what body shape the npcs(and the pc) had when they were naked. It would use the foot texture for all hgec compatible bodies, and the leg for robert's, so as to work with all races. And of course equipping any clothes would revert the changes, if they were not made for the same body type in use. A very neat mod imo, but very limited.

Link to comment
Share on other sites

  • Recently Browsing   0 members

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