Jump to content

Can't get the game to use a custom headback/scalp model and texture : \


Septfox

Recommended Posts

Trying to make a mod to separate the player art assets from everything else. There're a few out there already that partially accomplish this, but I want to go all the way; including head textures.

 

Unfortunately, I've hit a brick wall when it comes to the back of the head. Regardless of what's set in the player race or player NPC, the game keeps pulling the vanilla headback.

The only way I've found to force it to use what's actually set is to check "Override Head Parts List"...which does what it says, overrides all the headparts with what's set in the Race/Face Data list. This would be fine if not for the nasty side-effect of forcing the hair model to stay on the one set in the parts list, too. I doubt anyone wants to use the Default Generic Mom hairstyle forever...I know I don't.

 

To be clear, I have:

* Made a unique copy of the vanilla headback and textureset for it (extension of how CBBE goes about it)

* Set it in the custom playerrace's Race/Face Data

 

And tried:

* Creating a different Formlist for the player race and assigning assets to it

* Changing the base player NPC to the created player race and made sure the assets were assigned

* Using the custom-skeleton anti-crashing method (assigned the new headback to HumanRace and having the player race use the vanilla one); same problem, HumanRace ignored what was set and pulled the vanilla one too

 

 

So what stupid, obvious thing am I missing?

Link to comment
Share on other sites

If you post your plugin, I can probably help you. I actually got it to work a while back (at least for a new texture, don't remember if a custom mesh was involved or not) when I was trying to figure out a way to allow you to choose a different body texture using the in-game looks menu (sadly, it looks like it will require expired figuring out how to add it with his LooksMenu mod, it is just impossible with what is available in the base game/with the CK). I ended up having to set one of the presets (which are basically just NPC records that are linked to the Race record) to use that texture instead of the regular one, but it worked. The framework might actually still be in my mod, I'll have to see.

 

Hmm. Now I've got a possible idea now for a way I might be able to bash it into working so that you can change body textures. It won't be elegant, and whatever expired eventually comes out with (once F4SE has the required functionality and he has deciphered what Bethesda has done differently with body meshes compared to previous games) will be far, far superior, but it just might work. It involves combining what I did with those presets and the way that Unique Player works, and might not work with the way I want it to work, but I'll see.

Link to comment
Share on other sites

No go, in my case. Obviously I've skipped a step somewhere, but I'm not sure where.

 

I even went and messed with the material path on the headback and gave it a unique, modified file, since I had some problems with a piece of armor until I realized how things deviated from Skyrim's way of doing it. I'd imagine that what's set in the CK overrides it anyway (or should), but eh, worth a try.

 

The plugin (older version without any changes to humanrace, presets and no extra formlist), textures and meshes are uploading, I'll PM you a link in uhhh...16 minutes. Yay for DSL and substandard upstream speeds \o/

Link to comment
Share on other sites

Have you looked at texture sets?

First thing I did. I derived what I was doing from how CBBE went about "patching" it, after all (since CBBE textures don't have a provision for scalp/headback).

 

This all went on via PMs, putting up in the thread for future generations:

 

 

Strictly speaking, all that's needed to get a different rear of the head texture is to use the rear head part and texture set you made, and in one of the presets change out the headpart used from FemaleHeadHumanRearTEMP to your new rear head part. As far as I know, changing the rear head part without resorting to a preset will require expired to add the functionality into Looksmenu.

 

If all you wanted to change was the back of the head, you wouldn't actually need to do any race record edits, though if you want to use new textures for the rest of the face you would.

 

The only way I know of right now to apply a new headpart to your current character appearance is to use Looksmenu to make a preset of your current character, then replace "Fallout4.esm|04D0E9" (the vanilla female rear head part) with "xxxx|yyyy", where xxxx is the name of your plugin and yyyy is the formid (excluding the 1st two digits) for that head part. So for your mod as it was set up when you sent it to me, "playertest.esp|000FA1".

 

I'm sure LooksMenu will eventually have a way to change it more easily in-game, but until then you can do it manually.

 

The only reason I can see for changing the race/making a new race record is if you didn't want to conflict with other mods that do so, and while it would prevent the actual records from conflicting, it would prevent you from using anything added by those other records (and would require you to change the specified race in the Player (00000007) record, and you could just set the Skin in that NPC record instead of a different Race record.

 

Hmm.

I'd changed the preset I was trying to the custom race, and counting on the game to apply the headparts set in the race as the defaults; that's how the CK presents it as intended behavior.

Looking in FO4Edit, I see that it actually cleared the headpart list. One would think that would mean that it would indeed start pulling the race defaults, but I suppose it starts pulling the default defaults instead. Looks like an engine bug to me.

 

I didn't think to check saved presets, because saving headparts aside from the hair seems redundant...expected behavior is for it to refer to the race for the headparts array. Given how vanilla and LooksMenu store presets, I guess it's safe to assume that the player is stored in the savegame as an NPC record/"preset" and its headback reference is the vanilla one, overriding whatever is set in the race.

 

Kind of a pain, but...I can see how it potentially opens up some modding possibilities.

 

 

 

The original reason for using a separate race was using a complete set of unique assets. While I see now that it should be possible to go without if I just want to change the textures and body, there are other things too that I'm reasonably sure are race-reliant; skeletons for example.

I've also found that modifying the movement ranges for the facial bones (to, if we were in Skyrim, "increase the slider width") will wreck faces for everyone of that race who have been touched by showlooksmenu - for reasons of which I'm unsure, it looks like the bone positions are recorded as I'd expect.

Just look at what happens to poor Curie if I stick my changes into HumanRace:

 

 

609350d0a0.jpg

 

 

Making a new race and giving it its own set of "slider" files confines this to...well, that race.

 

 

TL;DR assigned headparts are stored in a small dictionary in the NPC's data, including the Player's modified NPC that's stored in the savegame, and LooksMenu presets also store the headpart dictionary. I was expecting everything to be pulled from the race as Skyrim does it.

 

So to change the headback, you have to create a plugin with the new headback, then assign it by editing a saved preset (easiest way would be to use a LooksMenu preset since they're plaintext, NPC presets have to be poked with FO4Edit).

 

Thank you to VlitS for showing me what needs to be done with the currently available tools.

Link to comment
Share on other sites

You can have it pull from race data for some things by changing the race in the base player record (00000007), but to change the head back you do have to use a preset (vanilla or LooksMenu) for now, as all the headparts are stored in a modified record as Septfox said. Hopefully that is a functionality that will be added at some point by LooksMenu.

Link to comment
Share on other sites

I was looking at what scripts are available for modifying NPC records (trying to figure out a way to edit the Skin field in-game so you can swap between body textures), and I saw:

ScriptName Actor extends ObjectReference Native Hidden

 

with

 

Function ChangeHeadPart(HeadPart apHeadPart, bool abRemovePart, bool abRemoveExtraParts)

  • Change or add this HeadPart to the actor

So it might be possible to use scripting to change the back of the head/neck, instead of presets. Of course, this assumes that it is available in Fallout 4 and not just Skyrim, that would require some testing.

Link to comment
Share on other sites

Of course, this assumes that it is available in Fallout 4 and not just Skyrim, that would require some testing.

 

Ugh, I haven't done scripting since Oblivion...and I understand that whatever Oblivion used and Papyrus have various differences.

 

Guess this is as good a reason as any to pick Papyrus up. Even if the function doesn't work, it wouldn't hurt to bring myself up to speed anyway. Thanks for bringing it up.

Link to comment
Share on other sites

  • Recently Browsing   0 members

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