Jump to content

Photo

[Rel] Blockhead

OBSE Plugin Gender specific Head Models Head Textures

  • This topic is locked This topic is locked
203 replies to this topic

#1
shadeMe

shadeMe
  • Members
  • PipPipPipPip
  • Master
  • Joined: 26-June 08
  • 9346 posts
  • Location:In the Great Hall and in the Bladder

Blockhead
Yeah, Blockhead!
version 9.2

Requires Oblivion Script Extender



Download : TESNexus

 
Description
 
Blockhead is an OBSE plugin in its late forties that has had enough of the Oblivion engine’s limitations. Born in a robber button and brought up by a Dachshund named Colin, it learnt the harsh facts of reality early. Only to laugh at its face, tweak its nose and drop ice cubes down its vestments.
 
Over the course of its unnecessarily long and insipid life, it has achieved a great many things, such as:

  • The compulsory serving of asparagus at breakfast.
  • Unrestricted camera movement in the race edit menu.
  • The ability to override the inventory menu’s idle animations.
  • The induction of the word ‘contrafibularities’ in the Oxford English dictionary.
  • The ability to override head and body assets of NPCs on a per-NPC/per-Race basis.
  • The ability to override animations of NPCs on a per-NPC/per-Race basis.
  • Tidyman’s carpets.

 

 

 

Fine Print
 
The camera in the race/sex menu can be controlled with the directional keys (arrow keys and WSAD) and the mouse (while holding down the Shift key). It can be reset to its original position by clicking on the left mouse button and dragging. Movement and rotation speeds can be configured in the plugin’s INI file.
 
Inventory idle animation overriding allows custom idle animations to be applied on the inventory menu’s 3D player model without resorting to replacing existing assets. There are 8 available overrides, from which one is automatically selected by the engine depending upon the player character’s equipped weapon. The override values in the INI file should be set to the filename+extension of a valid KF file placed inside the Meshes\Characters\_Male directory.
 
Blockhead implements a 3-tier override tool for customizing NPC body/head textures and meshes:

  • Tier 1 (Script) – Applied by using script commands. Refer to the command list below.
     
  • Tier 2 (Per-NPC) – Applied by placing assets (textures/models) in the following folder: <Textures\Meshes>\Characters\<Body\Head>AssetOverrides\PerNPC\<ModFileName.ext>.

    Asset naming convention: 00XXXXXX_<PartName>.<ext>, where XXXXXX – FormID of the NPC (without the mod index).

    Auxiliary files such as normal maps, TRI, EGM, EGT files, etc. need to be similarly named, i.e, <FileNameAsAbove>_n.dds.
     
  • Tier 3 (Per-Race) –
    Body: Applied by placing assets in the following folder: <Textures\Meshes>\Characters\BodyAssetOverrides\PerRace\<M\F> (where M\F corresponds to the gender of the NPC).

    Asset naming convention: XXX_<BodyPartName>.<ext>, where XXX – Name of the race.

    Head: Head part asset overrides work differently. Since all head part related paths are defined, by default, at the Race level, overrides are only used to support gender variance. The override file paths are automatically derived from the originals defined in the Race record.

    Asset naming convention: <Original Path\Filename>_<M\F>.<ext>, where M/F – Gender.

    As with Tier 2, auxiliary files need to be renamed appropriately.
     

Valid BodyPart Names:

  • UpperBody
  • LowerBody
  • Hand
  • Foot
  • Tail

Valid HeadPart Names:

  • Head
  • EarsMale
  • EarsFemale
  • Mouth
  • TeethLower
  • TeethUpper
  • Tongue
  • EyesLeft            (Model override only)
  • EyesRight          (Model override only)

 
Order of precedence: Tier 1 > Tier 2 > Tier 3 > Default Asset.
 
Tier 1 overrides do not persist between game sessions and therefore need to be reapplied on loading a save game.

 

Body/Head parts without a pre-assigned asset can also be overridden, i.e., parts that do not have a valid model/texture path assigned in the editor. Tier 3 overrides for such head parts, however, must be placed in the following directory:

<Textures\Meshes>\Characters\HeadAssetOverrides\PerRace\<M\F> (where M\F corresponds to the gender of the NPC)

…with the following naming convention: XXX_<HeadPartName>.<ext>

 

In addition to the aforementioned head parts, Blockhead adds limited overriding support for the following:

  • Hair – Hair assets can be assigned gender-specific files by adding a ‘_M’ or ‘_F’ suffix to their filenames.
  • Age Overlays – Age textures can be overridden on a per-NPC basis through script commands or custom assets placed in the following folder: Textures\Characters\AgeTextureOverrides\<ModFileName.ext>.

    File naming convention: 00XXXXXX_YY.dds, where XXXXXX – FormID of the NPC (without the mod index), and YY – Age. Script overrides supersede the latter, do not persist b’ween game sessions.

 
NPC animations can be overridden on a per-NPC/per-Race basis too. Animation overrides are implemented as special animations internally. All animation files need to be placed in the following directory: Meshes\Characters\_Male\SpecialAnims.

  • Per-NPC – Override files must use the following naming convention: <Filename>_BLKD_PERNPC_XXX_00YYYYYY.kf, where XXX – Name of the mod file name + extension, YYYYYY – FormID of the NPC record, without the mod index.
  • Per-Race – Override files must use the following naming convention: <Filename>_BLKD_PERRACE_XXX_Y.kf, where XXX – Name of the race, Y – Gender (M/F).

    The first part of the filename must follow the same naming convention as the vanilla game’s, e.g., BowIdle_PERRACE_Nord_M.

An NPC can be affected by more than one override at the same time – The engine has the final say on which animation file gets used (the actual mechanics of the picking logic is yet to be discovered/understood).

 
The plugin’s INI file is generated after first run (in the same folder as the DLL file) and contains options to toggle its features.
 
It is recommended that Blockhead be used in tandem with the NPC Tex Tweak plugin, which offers users more avenues to customize NPC textures.
 
 

Compatibility 
 
This plugin is compatible with every other OBSE plugin there is. Should you find a discrepancy, please report it through the contact avenues as stated below.
 

Animation overrides will not work on NPCs that use non-standard file paths for their skeletons, i.e., skeleton meshes must be placed in the Meshes\Characters\_Male directory. Special animations added using OBSE’s ToggleSpecialAnim script command may be superseded by Blockhead’s overrides occasionally. Overrides for some animation groups (such as Cast) may not work consistently. 



Credits

Special thanks to :

  • Ian Patterson, Stephen Abel and Paul Connelly (The OBSE Team) – For keeping up the Oblivion Modding spirit and providing the modding community with TES4 Oblivion's Elixir of Immortality
  • LHammonds – For his Readme generator
  • nuska - For keeping me occupied on a Sunday.
  • scanti – For the NPC Tex Tweak plugin and his pioneering work in the field of engine extension.

The Rest of the Modding Community – For the inspiration I needed to start modding and all the wonderful mods which I use.
Bethesda – For providing a rather malleable game.

 

 

 

Change Log

Spoiler

Edited by shadeMe, 08 February 2014 - 02:54 AM.


#2
shadeMe

shadeMe
  • Members
  • PipPipPipPip
  • Master
  • Joined: 26-June 08
  • 9346 posts
  • Location:In the Great Hall and in the Bladder

Nexus is up.



#3
Sigurd Stormhand

Sigurd Stormhand
  • Members
  • Pip
  • Curate
  • Joined: 11-May 06
  • 628 posts
  • Location:UK

Nexus is currently down - but let me be the first to pat you on the back, Kudos.



#4
Spirited Treasure

Spirited Treasure
  • Members
  • PipPipPip
  • Diviner
  • Joined: 22-November 11
  • 2165 posts
  • Location:Suran, Gypsy Wagon, Morrowind

You have made the one mod in all these years that will have me using OBSE. Thank you. :icecream:



#5
saebel

saebel
  • Members
  • PipPipPip
  • Diviner
  • Joined: 12-February 11
  • 3020 posts

Love that you picked "Blockhead" for the plugin name.  Hilarious on so many levels.



#6
Arthmoor

Arthmoor
  • Members
  • PipPipPipPipPip
  • Patriarch
  • Joined: 02-April 06
  • 17766 posts
  • Location:Keld-Nar

Any chance for an alternate download site? Oblivion Nexus appears to have taken a header and can't serve up files.



#7
saebel

saebel
  • Members
  • PipPipPip
  • Diviner
  • Joined: 12-February 11
  • 3020 posts

Any chance for an alternate download site? Oblivion Nexus appears to have taken a header and can't serve up files.

Arthmoor,

You can download it from the UK servers.

 

Shademe,
On another note, could you provide a little more detail on what this part means?
"Additionally, because I had nothing better to do, it allows NPC records in ESP plugins to use pre-generated face textures."

 

Thanks!

 

saebel



#8
Sigurd Stormhand

Sigurd Stormhand
  • Members
  • Pip
  • Curate
  • Joined: 11-May 06
  • 628 posts
  • Location:UK

I can't get UK servers to work, and I'm in the UK.

 

I think only the Premium servers are working from what I have heard.



#9
Leonardo

Leonardo
  • Members
  • PipPipPipPip
  • Master
  • Joined: 17-May 10
  • 7615 posts

Funny...  I don't know if you're aware of this, but blockhead is also a member on here. :wink:



#10
Arthmoor

Arthmoor
  • Members
  • PipPipPipPipPip
  • Patriarch
  • Joined: 02-April 06
  • 17766 posts
  • Location:Keld-Nar

I've tried both of the UK servers, they're in the same boat as all the others. No dice. It appears to be a pretty widespread problem with Oblivion Nexus according to the multiple entries on the bug tracker for it.



#11
saebel

saebel
  • Members
  • PipPipPip
  • Diviner
  • Joined: 12-February 11
  • 3020 posts

Well, I just now downloaded it from the Kent premium servers.



#12
shadeMe

shadeMe
  • Members
  • PipPipPipPip
  • Master
  • Joined: 26-June 08
  • 9346 posts
  • Location:In the Great Hall and in the Bladder

Any chance for an alternate download site? Oblivion Nexus appears to have taken a header and can't serve up files.

Added a mirror to the OP.

 

 

Arthmoor,

You can download it from the UK servers.

 

Shademe,
On another note, could you provide a little more detail on what this part means?
"Additionally, because I had nothing better to do, it allows NPC records in ESP plugins to use pre-generated face textures."

 

Thanks!

 

saebel

Ah, yes - These posts should provide the clarification.



#13
Sigurd Stormhand

Sigurd Stormhand
  • Members
  • Pip
  • Curate
  • Joined: 11-May 06
  • 628 posts
  • Location:UK

Well, I just now downloaded it from the Kent premium servers.

 

As noted - Premium servers appear to be working fine.



#14
shadeMe

shadeMe
  • Members
  • PipPipPipPip
  • Master
  • Joined: 26-June 08
  • 9346 posts
  • Location:In the Great Hall and in the Bladder

Version 2.0 released. OP updated.



#15
kyoma

kyoma
  • Members
  • PipPip
  • Disciple
  • Joined: 09-November 06
  • 1549 posts
  • Location:Barneveld - Netherlands

Another one!?! How am I suppose to keep up if you continue to crank out plugins one after another. :dry:



#16
saebel

saebel
  • Members
  • PipPipPip
  • Diviner
  • Joined: 12-February 11
  • 3020 posts
Does the 2.0 CSE version prevent the the NPC face from resetting on the basic face generator or is that a CSE specific thing? And if it is a CSE specific thing, (which I think you said you fixed), is there any thought as to when that might be available?

I'm not in a rush since I'll be waiting for Nuska's next pass, but with several hundred NPCs to go through it will be a big time saver. I often have to go back and forth to compare values between different characters, and when the data resets automatically, there is no method for me to know what the original values were.

#17
shadeMe

shadeMe
  • Members
  • PipPipPipPip
  • Master
  • Joined: 26-June 08
  • 9346 posts
  • Location:In the Great Hall and in the Bladder

No, that's a CSE specific issue. It'll be fixed in the public release of v6.1 (you are probably using one of its eta builds) which I hope to release before the end of the month. Until then, you can revert back to v6.0 - The face gen control bug doesn't affect that version.



#18
Spirited Treasure

Spirited Treasure
  • Members
  • PipPipPip
  • Diviner
  • Joined: 22-November 11
  • 2165 posts
  • Location:Suran, Gypsy Wagon, Morrowind

No, that's a CSE specific issue. It'll be fixed in the public release of v6.1 (you are probably using one of its eta builds) which I hope to release before the end of the month. Until then, you can revert back to v6.0 - The face gen control bug doesn't affect that version.

What is CSE and do I also need it for this mod to work? I too will be going through checking all my npc's



#19
gep5

gep5
  • Members
  • Adept
  • Joined: 02-January 11
  • 354 posts
  • Location:UK

Would it be possible for this plugin to be able to apply texture 'layers' upon the base head texture or even the base body texture? This would be useful as it would allow for things like tattoos and scars to be stored as entirely separate textures to the base texture, removing the need to use the age slider for tattoos.

 

This might work something like this for a body texture

 

footfemale.dds - base body texture

 

footfemale_L_M.dds - The M signifies the sex, in this case male while the L tells the game it is a layer texture.

 

In the case of a head texture, it could be something like this

 

headhuman.dds - The base texture

 

headhuman_L_M.dds - Layer texture

 

As there tend to be mulitple base head textures for a race corrosponding to different ages, like headhumanf10.dds, The layer texture would somehow have to be applied collectively.


Edited by gep5, 09 July 2013 - 11:44 AM.


#20
shadeMe

shadeMe
  • Members
  • PipPipPipPip
  • Master
  • Joined: 26-June 08
  • 9346 posts
  • Location:In the Great Hall and in the Bladder

What is CSE and do I also need it for this mod to work? I too will be going through checking all my npc's

The CSE is an OBSE plugin that enhances and fixes bugs in the Construction Set. Blockhead can be used as a standalone plugin - It doesn't require CSE.



#21
shadeMe

shadeMe
  • Members
  • PipPipPipPip
  • Master
  • Joined: 26-June 08
  • 9346 posts
  • Location:In the Great Hall and in the Bladder

Would it be possible for this plugin to be able to apply texture 'layers' upon the base head texture or even the base body texture? This would be useful as it would allow for things like tattoos and scars to be stored as entirely separate textures to the base texture, removing the need to use the age slider for tattoos.

 

This might work something like this for a body texture

 

footfemale.dds - base body texture

 

footfemale_L_M.dds - The M signifies the sex, in this case male while the L tells the game it is a layer texture.

 

In the case of a head texture, it could be something like this

 

headhuman.dds - The base texture

 

headhuman_L_M.dds - Layer texture

 

As there tend to be mulitple base head textures for a race corrosponding to different ages, like headhumanf10.dds, The layer texture would somehow have to be applied collectively.

Not easily done, if at all possible. I'd have to investigate at any rate.



#22
Spirited Treasure

Spirited Treasure
  • Members
  • PipPipPip
  • Diviner
  • Joined: 22-November 11
  • 2165 posts
  • Location:Suran, Gypsy Wagon, Morrowind

The CSE is an OBSE plugin that enhances and fixes bugs in the Construction Set. Blockhead can be used as a standalone plugin - It doesn't require CSE.

This sounds very useful to me too. Thanks.



#23
lonewolf_kai

lonewolf_kai
  • Members
  • PipPip
  • Disciple
  • Joined: 24-September 08
  • 1455 posts
  • Location:In the Forest, solo

I'm going to go ahead and come up and apologize for my ignorance, which seems to be increasing of late in concerns with Oblivion, which is ironic, considering the name of the game.

 

Anyways, I don't understand what exactly this does.  Could you explain it in more laymen terms?

 

Like I said earlier, I'm sorry for my dumbness.  :confused:  :blush:



#24
Sigurd Stormhand

Sigurd Stormhand
  • Members
  • Pip
  • Curate
  • Joined: 11-May 06
  • 628 posts
  • Location:UK

I makes it possible to have different face textures and head models for men and women - and some other cool stuff.

 

In Layman's terms.



#25
saebel

saebel
  • Members
  • PipPipPip
  • Diviner
  • Joined: 12-February 11
  • 3020 posts
In slightly less layman:
Default Oblivion uses same mesh models / textures for the head for both men and women of the same race.
(which is why when you hit the random face generator, even if the NPC is flagged female you can get very male shapes).

This mod allows you to provide different head meshes/skin textures by appending _m/_f into the naming conventions.

The plugin checks the sex of the NPC, and then looks for any files with _m or _f accordingly. If it doesn't find them, it will go with the default file without the extension.

That means the base skull for female orcs can be totally different than male orcs if desired.

#26
lonewolf_kai

lonewolf_kai
  • Members
  • PipPip
  • Disciple
  • Joined: 24-September 08
  • 1455 posts
  • Location:In the Forest, solo

I makes it possible to have different face textures and head models for men and women - and some other cool stuff.

 

In Layman's terms.

 

 

In slightly less layman:
Default Oblivion uses same mesh models / textures for the head for both men and women of the same race.
(which is why when you hit the random face generator, even if the NPC is flagged female you can get very male shapes).

This mod allows you to provide different head meshes/skin textures by appending _m/_f into the naming conventions.

The plugin checks the sex of the NPC, and then looks for any files with _m or _f accordingly. If it doesn't find them, it will go with the default file without the extension.

That means the base skull for female orcs can be totally different than male orcs if desired.

Ahhh okay.  That makes sense.  Didn't realize that was how it worked.

 

Thanks to both of you.



#27
shadeMe

shadeMe
  • Members
  • PipPipPipPip
  • Master
  • Joined: 26-June 08
  • 9346 posts
  • Location:In the Great Hall and in the Bladder

Version 3.0 uploaded. OP updated.



#28
kyoma

kyoma
  • Members
  • PipPip
  • Disciple
  • Joined: 09-November 06
  • 1549 posts
  • Location:Barneveld - Netherlands

I'm curious as to how you implemented it, I just discovered how to replicate the 'fly camera' behaviour using like 5 lines of code. :whistling:



#29
shadeMe

shadeMe
  • Members
  • PipPipPipPip
  • Master
  • Joined: 26-June 08
  • 9346 posts
  • Location:In the Great Hall and in the Bladder

I'm curious as to how you implemented it, I just discovered how to replicate the 'fly camera' behaviour using like 5 lines of code. :whistling:

I manually update the scenegraph camera's transforms. I'll push the code to GitHub in a bit. What did you discover?


Edited by shadeMe, 18 July 2013 - 08:56 AM.


#30
kyoma

kyoma
  • Members
  • PipPip
  • Disciple
  • Joined: 09-November 06
  • 1549 posts
  • Location:Barneveld - Netherlands

I manually the scenegraph camera's transforms. I'll push the code to GitHub in a bit. What did you discover?

The two functions that toggle and handle the regular free camera.

void Player::UpdateFlyCamera(void); // 0x006643A0
bool Player::ToggleFlyCamera(void); // 0x006669F0

I can toggle the free camera in the race menu and then hook RaceSexMenu::UpdateCamera (0x005C2BF0) to call UpdateFlyCamera each frame. It's not completely usable out-of-the-box because the initial camera position doesn't face the player and the scrolling/moving goes way to fast for close-ups (it goes in increments of 10). Either things are relatively easy to fix and definitely easier than doing things manually (for me at least). I literally discovered and tested it a minute before I saw your post. :tongue:

 

Edit: But you've already coded it so there's little point changing it now. Like they say: "If it ain't broken, don't fix it". :)


Edited by kyoma, 18 July 2013 - 09:02 AM.



0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users