Jump to content

Script functions to get race's texture and face data?


Recommended Posts

Does anyone know if there is a way for a script to read any of the data in the two pictures below (it's a race's body textures and face models and textures). What I am trying to do is get the contents of these entries into string variables that I can then feed into Blockhead to override an NPC's body and head data. However, I looked around and haven't been able to find any functions that do this, even in OBSE and Blockhead. The closest I found was the GetModelPath and GetTexturePath functions, which look like they were designed for more simple records that have only one model and texture.

 

 

Link to comment
Share on other sites

Load an ESP that has NPCs in TES4Edit and then select an NPC (so that the right hand pane shows the NPCs info). Scroll all the way to the bottom of that report in the right pane and you'll see three things listed under FaceGen Data ... FGGS, FGGA and FGTS.

 

TES4Edit is able to access that data ... now there must be a way. Maybe that will give you an avenue to look for more info (or we can wait for DrakeTheDragon to pop in ... who will no doubt have the answer right at the finger tips).

Link to comment
Share on other sites

Load an ESP that has NPCs in TES4Edit and then select an NPC (so that the right hand pane shows the NPCs info). Scroll all the way to the bottom of that report in the right pane and you'll see three things listed under FaceGen Data ... FGGS, FGGA and FGTS.

I can't check this until I'm back in front of my PC this evening but I'm sceptical that this would help. The data I'm looking for above (models and textures used by a race's body and face) is stored on the Race records, not NPC and I don't think an NPC's FaceGen data contains this info. I also can't find any OBSE functions that can fetch an NPC's FaceGen data either. But thanks anyway.

Link to comment
Share on other sites

Hmm, sadly I also don't know of any ways to get the texture slots or models of a "race" like that. I haven't yet found any means to edit or even create a race record itself while in game either. There's also no function I know on how to obtain race-based attributes like texture slots and body part models from an actor/NPC.

 

Blockhead can apply several overrides of multiple such attributes on an actor/NPC through script, but even Blockhead can only retrieve what overrides are currently in place and not what those attributes are without an override.

 

 

However, depending on what exactly this all is meant to achieve in the long run, there may be different means to go about it.

 

For example, a while ago I managed to create a working shape shifting, or I should better say "race" shifting, approach myself with just a few simple tricks. I can change the race of my player character (or any character for that matter) on the press of 1 of many buttons, including hair style and eye textures. Switching race will switch skin textures, head mesh, tail, voice, etc., and will even trigger race-based script recognition from other mods. I can for example run around as a Breton and nothing will happen, but as soon as I switch to one of my dragon races, their scripts will kick in.

Blockhead, too, will kick in as usual and apply all overrides configured for the race.

 

It will "not", however, give racial abilities or spells and the like as when you started the game "as" said race!

 

The trick is quite simple. I have a set of reference NPCs stacked away in a remote holding cell, which I use as source for several "Copy..." OBSE function calls. Namely "CopyRace", "CopyEyes" and "CopyHair" will work really nicely with this. If you copy eyes and/or hair before copying the race, the latter will even trigger a render-update and the visuals will immediately change.

 

 

I haven't yet found "any" means to also copy FaceGen data in any way though. Well, apart from age that is.

Link to comment
Share on other sites

  • Recently Browsing   0 members

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