Skyrim

For RaceMenu users (custom face morphs!)
1: Preparation.

First create the face you want your new follower to have in the game. Feel free to use any custom RaceMenu morphs. Once you're done hit 'Z' to use the Export Head function of RaceMenu.
You will find a .DDS file and a .NIF file in your Skyrim root folder under Data/SKSE/Plugins/CharGen named after the date and time you exported the head (for instance: 7-5-2014 18-6-51). Make a note of the location these files are at or store them somewhere you will know this belongs to your new follower.

Next up create an ESM out of The Ningheim.esp using one of the two options below.

  • Option 1: Use Wrye Bash to "ESMify" The Ningheim.ESP. It's an option you get once you right-click on the ningheim ESP in the Wrye Bash load order.
  • Option 2: Load up The Ningheim.ESP in TES5Edit, go to its header and change the line that says "The Ningheim.ESP" into "The Ningheim.ESM". Save the plugin and change the file's extension from .esp to .esm.


Load up the ESM in the CK with all the required masters, and:

2: Follow the video tutorial all the way.

Don't worry about custom face morphs and your follower's face tinting yet.

3: Wrapping up work on the plugin file.

Once you're done creating your follower as shown in the video, and made sure that you've done the final step of the video where you export the follower's Face Data, do the following:
Get TES5Edit, and load up your follower mod with all its required masters in it. Go to your ESPs file header, and manually change the "The Ningheim.esm" line to "The Ningheim.esp". Press the "X" at the top-right of the window to save and quit.
You don't need the ESM anymore after that, and you can take it out of your Data folder. You will only need it again should you wish to edit your follower plugin later on. To do that you can change back the master reference in TES5Edit again as I explained just now.

4: Using the files RaceMenu exported for the final touch.

Have you used non-vanilla face morph sliders? Then get the correct facial structure using the steps in the first part below. Otherwise, you can skip the Face Mesh part and go correct your follower's Face Tinting.

Face Mesh - Applying custom morphs to your follower's face.
Remember how RaceMenu generated a .DDS file and a .NIF file for you at the start of this tutorial? We're now going to put that .NIF to use.
You will need:
  • NifSkope.
  • Very basic knowledge of how NifSkope works. Familiarize yourself with how NifSkope presents you its information and you'll be fine. You'll only be copying and pasting, really.


What we'll do is we'll use NifSkope to replace the head shape data stored in the CK-exported head mesh with the head shape data stored in the head mesh RaceMenu exported. This is to apply the custom face morphs to your follower, since the Creation Kit can't do that.

First, using a text editor, you will need to add a few definitions to the nif.xml file, found in your NifSkope's installation folder, to be able to open the head RaceMenu exported:

<niobject name="BSFaceGenNiNode" abstract="0" inherit="NiNode">
Facegen node object for grouping.
</niobject>
<niobject name="BSFaceGenBaseMorphExtraData" abstract="0" inherit="NiExtraData">
Facegen extra data object.
</niobject>
<niobject name="BSFaceGenModelExtraData" abstract="0" inherit="NiExtraData">
Facegen extra data object.
</niobject>
<niobject name="BSTextureSet" abstract="0" inherit="NiObject">
Unknown
</niobject>


Before we continue here is some basic NifSkope terminology:
Block List: The tree overview on the left-hand side in NifSkope.
Block: A node in the tree that holds mesh data. A block can contain multiple other blocks within itself. Blocks can be of various types, for instance NiNode, listed as Name in the Block List.
Block Details: The list at the bottom of the NifSkope window that shows you information about the block you've currently selected.

Now, go to "data/meshes/actors/character/FaceGenData/FaceGeom/YourFollowerPluginName.esp" and open the .NIF file there using NifSkope. I'll refer to this file as the original head.
  • In the Block List click the arrow infront of "0 BSFadeNode" to expand the list.
  • Click arrow infront of the NiNode "BSFaceGenNiNodeSkinned" to expand the list further.
  • For every expandable block under the "BSFaceGenNiNodeSkinned" you just opened last delete the NiTriShapeData block with Ctrl+Delete, EXCEPT for the ones in the hair blocks (e.g. HairFemaleNingheim01).


Keep the file you just edited open in NifSkope and open the .NIF RaceMenu gave you at the beginning of this tutorial alongside it. I'll refer to this file as the RaceMenu head.
  • Expand the BSFaceGenNiNode "BSFaceGenNiNodeSkinned".
  • In that block you'll find the exact same blocks as in the original head file. Make sure you see this.
  • Open the first block (e.g. FemaleHeadNingheim) and copy its NiTriShapeData using Ctrl+C while having it selected.
  • Go back to the original head, find the block with the same name (again e.g. FemaleHeadNingheim) and hit Ctrl+V while having it selected to paste the NiTriShapeData from the RaceMenu head into the original head file.
  • You'll probably see it end up at the bottom of the list, instead of the block you're trying to add it to. If so, click on the block you're trying to add it to (again e.g. FemaleHeadNingheim) and in its Block Details scroll down to the record called "Data" and change its value to the number that was assigned to the NiTriShapeData you just pasted. You can do this by double-clicking the value field, typing in the number and pressing Enter to confirm.
  • Repeat this for every block in the original head where you deleted the NiTriShapeData.
  • When you're done replacing the NiTriShapeData blocks, save the original head file to overwrite it and keep the changes.



Having replaced the NiTriShapeData blocks in the original head file with those from the RaceMenu head your follower will now have the exact same face shape you created when you exported it in the game.

Face Tinting - Fixing the exported FaceTint of your follower.
The Creation Kit doesn't handle exporting your followers' face data well when it comes down to the tintmasks (facial feature colours, make-up, warpaint, etc.). It can only handle low resolution 256x256px textures, while The Ningheim comes with high resolution textures.
To get your follower's face looking the way it's supposed to look use the .DDS file you made RaceMenu create at the beginning of this tutorial to replace the .DDS the CK generated in "data/textures/actors/character/FaceGenData/FaceTint/YourFollowerPluginName.esp".

That's it! Your custom race follower is now done. =)




For non-RaceMenu users
1: Preparation.

To begin with, create a ESM out of The Ningheim.esp using one of the two options below.
  • Option 1: Use Wrye Bash to "ESMify" The Ningheim.ESP. It's an option you get once you right-click on the ningheim ESP in the Wrye Bash load order.
  • Option 2: Load up The Ningheim.ESP in TES5Edit, go to its header and change the line that says "The Ningheim.ESP" into "The Ningheim.ESM". Save the plugin and change the file's extension from .esp to .esm.

Load up the ESM in the CK with all the required masters, and:

2: Follow the video tutorial all the way.

3: Some more preparation.

Before we continue, please write down the tintmasks your follower uses. You can find them in your follower's Actor record under the Character Gen Parts Tab. Tintmasks that your follower uses can be recognized by checking which of them have an Interpolation value of more than 0.0. Also, write down their RGB color values, and the name of the colour setting only for vanilla colour presets. Do the same for the skin tone. We'll use this data at the end.
Once you're done doing that, and made sure that you've done the final step of the video where you export the follower's Face Data, do the following:
Get TES5Edit, and load up your follower mod with all its required masters in it. Go to your ESPs file header, and manually change the "The Ningheim.esm" line to "The Ningheim.esp". Press the "X" at the top-right of the window to save and quit.
You don't need the ESM anymore after that, and you can take it out of your Data folder. You will only need it again should you wish to edit your follower plugin later on. To do that you can change back the master reference in TES5Edit again as I explained just now.

In the game your follower will appear perfectly fine, save for his/her tintmasks being of low resolution (256x256). That means any warpaint, make-up, and related face tintmasks will always appear at a resolution of maximum 256x256 pixels. The Ningheim has 2048x2048 warpaint and other high-res tintmasks, so the result so far is lacking. That's when you can do this trick.

4: Use NPC Editor to export full-resolution tintmasks.

You may be thinking: "NPC Editor??? But that doesn't support custom races!". And you're totally right.
You aren't going to load The Ningheim in it, but instead you will...

  • First, make sure you know which tintmasks your follower uses. If you followed the tutorial to the letter you already have this information. If not, they're easily found in the CK in your follower's record or by looking at the exported FaceTint (data/textures/actors/character/FaceGenData) if it doesn't contain many overlapping tintmasks.
  • Replace vanilla tintmasks of the same type with the ones you need for the follower.
  • Make sure you know the colour values/names for the tintmasks AND skin tone your follower uses. Should you need to look them up, TES5Edit can show you those RGB values under the follower's Actor record. Have them written down somewhere.
  • Load up NPC Editor, start it up with the basic Skyrim ESM, and apply the tintmasks (w/Appropriate colours) and skin tone to whatever NPC you like. Keep "Save to BSA" off, and instead use "Save as new plugin". Once you're done, save it and find the FaceTint you're looking for under "data/textures/actors/character/FaceGenData/FaceTint/YourNPCEditorPluginName.esp". Use that to replace the FaceTint of your own plugin in "data/textures/actors/character/FaceGenData/FaceTint/YourRealFollowerPluginName.esp".

That's it! Your custom race follower is now done. =)

Article information

Added on

Edited on

Written by

Seren4XX

20 comments

  1. Luciferia
    Luciferia
    • premium
    • 1 kudos
    So, I'm stuck between stage 1 and 2. Can't load the .esm into CK at all.

    Any tips on getting this to work with Mod Organizer (or in general)? I'm running into errors in the CK whenever I load the .esm--whether I have it in the /data directory, or if I'm trying to use via MO.

    When using MO;
    -Instant error.
    "MASTERFILE: LOCALIZATION: Lookup failed for ID: 0x00012584 from file: STRINGS/Skyrim_ENGLISH.DLSTRINGS"

    When not using MO;
    -Get to 54% then crash.
    "Assert
    File: ..\TES Shared\misc\BGSLocalizedString.cpp

    Line: 2871
    LOCALIZATION: Error opening or reading strings file."

    I've gone through a few different threads and tried the fixes, made certain the lines in the .ini were spelled/capitalized correctly, but still no dice. :/
    1. taoxue
      taoxue
      • premium
      • 146 kudos
      works fine for me lol. i use mo too. course i used nifmerge lol
    2. DesertDancer
      DesertDancer
      • member
      • 0 kudos
      I am having the same problem. It wouldn't load all the esm, says something about no strings and just crashes. Nifmerge isn't going to help as that is to path the texture. You have to use the creation kit in order to make custom follower mods and for some reason, it isn't working when it comes to custom race mods.
  2. FoxyFullmoon
    FoxyFullmoon
    • member
    • 10 kudos
    I got everything to work correctly, but I'm getting the grey face bug on all my NPCs. This is normally solved by exporting the facegen data, but what do you do about it when you're using custom nif and dds files in place of the facegen data?
  3. Velexia
    Velexia
    • member
    • 79 kudos
    I've hit a wall at part 3.
     
    I am attempting to create a custom follower using a custom race.  At the moment the custom follower is the correct race, and exists in the world and I can interact with it.  However, the head is wrong (mostly, I imported from spf, but the eyes and hair and morphs aren't correct).
     
    When using Ctrl + F4 on any other NPC, it works, but when I use it on my custom NPC, I get all of the dialogue, but nothing is actually exported.
     
    I am using RaceMenu, and I have NifSkope and I'm all set to swap in the right head (I have an export from race menu)... But I can't get the nif =(
     
    I've tried both inside and outside of Mod Organizer to no avail.  Any ideas?
     
    Edit: Found the issue, I had a trait checkbox ticked that should not have been. relating to FaceGen.  So now I have the exact right face, but the hair, and the eye texture are still wrong... So close... so close.
     
    Edit2: Managed to get the hair, eyes, eyebrows correct (still lost on tattoos and other overlays) by changing certain esm files to esp files temporarily.  Followed every step explicitly, went back into the esp for my follower, made sure to add in every single esp/esm I used as a master (because it was CTDing).  Load in... Follower is not where I placed it.  Used console to place the follower on me.  Instant CTD.
     
    ;-;
     
    Edit3: Now I can get the hair, eyes, and eyebrows correct, with the correct race... without a CTD, But the game refuses to load the .nif file.  it just uses some hideous default face instead...  So... frustrating.
     
    Edit4: Completely remade the mod, left out the hair, eyes, and eyebrows I wanted.  No CTD, correct face.  Used TES5Edit to add the hair/eye/eyebrow esps as masters, then added 3 HeadParts (hair, eyes, eyebrows) and once again I have a default face instead of the exported and edited nif...  If I remove them, I get my face again.  What the hell =(
     
    Edit5: Many hours later.... I have the face, hair, eyes, and eyebrows I wanted.  Basically, I had to copy over the specific parts I wanted in TES5edit from the various esps to my esp, then copy other assets to the mod folder (I'm using Mod Organizer) and THEN apply everything... export from the CK a final time, edit in the RaceMenu morphs a final time... and then, huzzah, it worked (it didn't work before because CK kept erasing any esps from my required master list, leaving only esms, which it will not allow if there are too many... bloody shenanigans!!!).  Now I need to figure out face/body tattoo overlays -_-;
  4. scivirus
    scivirus
    • member
    • 2 kudos
    their is no the ningheim.esp line in file header and why is the nignheim necessary for  racemenu creations
    1. Aart
      Aart
      • member
      • 3 kudos
      It's necessary so you don't need to do all the background stuff that goes in with making a follower use custom files rather than vanilla stuff. And yes there is a line in TES5Edit that says "The Ningheim.esp" which you can change into "The Ningheim.ESM"
  5. Pitrus
    Pitrus
    • supporter
    • 15 kudos
    Is it at all possible to export data related to the hair, particularly the color? For some reason (most likely my inaptitude in dealing with the creation kit) I can't change the hair color of my follower in the creation kit. It is almost certainly related to the fact that the hairstyle I want to use (inphyhair) is difficult enough to colour correctly in the racemenu let alone the Creation kit.
    1. Aart
      Aart
      • member
      • 3 kudos
      Read the color code (A R G B) from RaceMenu and then make a new haircolor in the CK and give your follower that new haircolor. That's what I did.
  6. Skylaskyrim
    Skylaskyrim
    • premium
    • 674 kudos
    When I use Tesv Edit to change the file from .esm to .esp it never saves even when I exit out. Help!?
    1. Seren4XX
      Seren4XX
      • supporter
      • 371 kudos
      Oh, that's odd. What version of TES5Edit are you using?
  7. jeyoon
    jeyoon
    • premium
    • 3 kudos
    Extremely helpful, thanks very much!!!!
    1. Seren4XX
      Seren4XX
      • supporter
      • 371 kudos
      You're welcome.
  8. Gamertech100
    Gamertech100
    • member
    • 0 kudos
    I'd just like to say thank you for the Ningheim race, their without doubt my favourite characters in Skyrim, and sorry about the waffling on about problems creating an Npc I've just found it a bit frustrating.
    1. Seren4XX
      Seren4XX
      • supporter
      • 371 kudos
      No problem. Glad you're enjoying the race.
  9. Gamertech100
    Gamertech100
    • member
    • 0 kudos
    Just noticed the normal res tints. lol Thank you for providing those.