Wednesday, 21 October 2015

ECE Character to create NPC/Follower tutorial

This will be a very long post, it is a step-by-step process to create an NPC based on an Enhanced Character Edit (ECE) 1.4 preset.

Topics:

Part 1 - Export the correct face files
Part 2 - Creation Kit Face import
Part 3 - Making the NPC Standalone
Part 4 - Make the NPC a Follower
Part 5 - Adding custom default armor and weapons to follower
Part 6 - Remove Masters/dependencies, create body variations, packing the files for backup/distribution and optimize the Mod files.
Part 7 - Common Problems and solutions
Part 8 - Credits and thanks

What this tutorial will teach/cover:
1 - How to export the needed ECE files to recreate the face;
2 - How to import the ECE face into Creation Kit;
3 - How to make the NPC standalone (independent of any mod setup);
4 - How to set up the basic traits to make the NPC a follower and place it in the Skyrim world;
5 - How to remove unneeded masters, create additional body types variants and pack the files to share your custom follower;
6 - Common problems and solutions;

What this tutorial will not cover but provide links:
- How to install and set up Creation Kit to load multiple master files;
- How to install ECE and is requirements;
- How to install any of the tools used;
- Racemenu or Racemenu workarounds to work with ECE;
- Use or create custom Races;
- A deep info about NPC customization (add custom armor/spells/other assets to your NPC);

Tools Needed:
- Creation Kit tweaked to load/work with multiple masters; get the working .ini files here.
- Nifskope; Get Nifskope here.
- ECE installed and working in your Skyrim game. Get ECE here;
- TES5Edit for clening the file and remove dependencies; Get Tes5Edit here;
- SMCO (Optional, for texture/BSA optimization); Get SMCO here;

Please read instructions in each Tool page for correct installation and use.


Part 1 - Export the correct face files

Let's start then. The first thing you will do is to open the console and type

showracemenu

then close the console. You should be facing your character customization menu (racemenu). Now you have two options: to create a character from scratch or to import a slot file/preset.

From now on, the plan is to create a female NPC named Drana, Nord Race. You will adjust to your character gender and race.


****************************************************************
- Create a character from scratch: just work with the races/slides until you are happy with the result. Take note of the Race, and proceed to the Export the files step below.

- Import a slot ECE file: if you have a .slot ECE file you want to recreate (the file name format is something like _n_commonTriRaces.slot, where n is the slot load number in racemenu), copy the .slot file to your 

My Documents/My Games/Skyrim/CME_Save/ 

folder, install the required mods according to the preset author (at least the face, eyes, hair and brows models/textures are needed to make the character look the closest as possible. 

Load the game, bring the racemenu via console, navigate to body tab, then slot and choose the slot number you copied before. Make any adjustments you want (usually the eyes and hair could need some tweaking) and when you are happy with the result, take note of the Race you have choose and proceed to the next step below. 
****************************************************************

Export the Files: now let's export everything we need to help us recreate the character in-game. First, press F1 to export the FaceGen file. The file has the same name of your character and will be exported to a folder inside Skyrim Data

Skyrim/Data/SKSE/Plugins/FaceGen/

Next, press R to save your character face into a .slot file (the same slot number or another, your call) to a folder located by default inside your documents, and give your character a name (anything will work). 






If you want to backup or share your preset, it is inside the folder 

My Documents/My Games/Skyrim/CME_Save/ 

After closing racemenu, open console again and type

spf name

where name is a name/number of your choice. This will create an .npc file inside Skyrim/ folder.




Quit the game, now it is time for Creation Kit.

Hint: Don't install/uninstall any mod that can change the character files until you are finished in Creation Kit, or at least until the NPC have all the assets to work as a standalone mod.

Part 2 - Creation Kit Face import

Now the "fun" begins - and the longest part of the tutorial. First, make sure your Creation Kit (CK) is updated and is able to load multiple master files. 

To check the CK for updates, just run CreationKit.exe from Skyrim folder while being online and let the program run (should update automatically). Close CK and proceed to the next step.

To make CK load multiple master files, download this files, navigate to your Skyrim folder, make a backup of your SkyrimEditor.ini and SkyrimEditorPrefs.ini files and replace them with the ones from the archive. 

Hint: to avoid the forehead tint bug, due to custom tintmasks, it is a good idea to rename/move your tintmask folder inside   to something else BEFORE open CK, then restore it again when you are done working in CK.

Now open CK again, time to create your NPC.

After CK loads, it should show you a window like this one:   




Select Skyrim.esm, EnhacedCharacterEdit and CharacterMakingExtended.esp from the list and hit OK. A new window pop-up saying that you didn't select an active plugin file. Say yes, wait for the CK to load all the forms, hitting "Yes to All" or "Cancel" in the handful of warnings you should get. When you get a menu on your left side, on an expandable tree scheme, you are ready.

Importing the face to a NPC: remember the Race of the character you just created? Good, we will duplicate one actor of the same gender and race as a base.

Move to the Actors tab on the left side and expand it. I'm using a Nord Race Female character, so I'll choose one from here - I usually duplicate Hroki, so I'll do it again. Right-click on Hroki actor, duplicate and you should get a HrokiDUPLICATED001 form on the actors list. Our NPC will use this duplicated form, so left-click on it and let's edit her face to our exported character.




On the HrokiDUPLICATED001 Actor window, go straight to the Character Gen Parts tab, hit the Import button and load the .npc file you have created earlier (the last step in the Part 1) that should be in your Skyrim folder. Next, go to the Character Gen Morphs tab just right current one and, without touching anything more, select NoseType 32 on the Nose scroll window options.






Use the preview buttons on the window bottom part to see if the actor looks like your character (if you use a custom hair model or eye textures, it is normal that they don't appear correctly but we'll fix that later), then proceed to change the name of the Actor and her ID to the name you want displayed in-game on the upper left boxes and hit OK. Say No to Create a New Reference and next Yes, you are sure, in the last pop-up window.

Hint: An usual problem is when you get some colors on the forehead; this is because CK has loaded custom tintmasks instead of vanilla ones and can't load them properly, causing that weird effect. To avoid that, do the following. 

data\textures\actors\character\character assets\tintmasks\

and rename for something like

data\textures\actors\character\character assets\temp_tintmasks

or any other name. After you renaming, open CK again and repeat the same footsteps, loading the plugins, duplicate the Actor.... in the preview the face should be right. Don'r forget to rename the folder to the original game once you are finished with the Actor face adjustments.  

Now it is a great time to save your file, so close the Actor window, hit File - Save and give a name to your plugin file.

Hint: the NoseType32 is where ECE stores the face information. You can move/slide/tweak everything else on the Character Gen Morphs tab except NoseType32; doing that will reset the face to vanilla.

Now it is time to make our NPC standalone, to work properly in any other Skyrim game without depending on the mods installed.

Part 3 - Making the NPC Standalone

The first thing you want to do is to create two folders to store your character files somewhere under the Skyrim/Data/meshes and Skyrim/Data/Textures folder.

To make it easy for you and other modders, you should create the following folders:

Skyrim/Data/Meshes/Actors/character/DranaFollower* 
Skyrim/Data/Textures/Actors/character/DranaFollower* 

* - Last folder name matching your NPC or Mod name

Inside each folder create other sub-folders for the assets you will use. It is common to use face, eyes, brows, hairs and body models/textures, so create them and delete the ones you won't use after. 

Feel free to use your own custom folder structure, those are just suggestions. Time to do some copy/paste.

Go to your Skyrim/Data/Meshes/Actors/character/character assets/ folder and copy the relevant files for each folder to your NPC folder like in the images below:




I choose to copy all the face-related meshes to the Face NPC folder; as you can see, only Head and Eyes meshes were copied, the brow meshes are on Faceparts folder, so let's copy them too.




I've only copied two .tri brow files, but you can have more or less depending on your installed mods. Make sure to read the name files a they are explicit on what they do. The other files on this folder are left/right eyes, that are relevant to copy if you plan to make a character with a different texture in each eye.

Now the body parts, copy all the body meshes to NPC folder.




Now the Hair and Hairline meshes need an extra step, we need the file we exported earlier using Export Head on Racemenu to know the name of the Hair. The file is stored in this folder by default:

Skyrim/Data/SKSE/Plugins/CharGen/

Pick the .nif File with your Character name and open it with Nifskope. You should get something like this:





As you can see, the hair name is displayed on the Hair NiTriShape branch and, expanding the right branch, you also can see the textures path. Usually the Hair mesh and the Hair line branch share the same texture files, just make sure that is the case checking and expanding the HairLine (HL) NiTriBranch too.

After you find the Hair and HairLine meshes, copy both to the NPC folder:



Hint: usually the Hair/Hairline also has a .tri file with the same name as the .nif. You should copy those files too. In this situation KSHairdos don't use .tri files, but SGHairs do, so make sure to check and copy any .tri files for Hair and Hairlines.

We now have copied Face, Eyes, Brows, Body and Hair meshes.

Time to copy the textures, the procedure is the same but this time make sure you are copying the files to the Skyrim/Data/Textures/... folder as show in the images below. For now, copy only the Body, Face and Hair textures - the Brows and Eyes need some extra attention, and we'll take care of them later.

For the Hair, use the path for the .nif file to find the proper texture and copy to the NPC folder.



The Face and Body textures are next, to the right folders:







I've copied the Blankdetailmap file, you only do that if you have it loose on the folder.

Hint: don't worry if you forget to copy any files because when creating the custom forms, we will check what files we need again and copy/deleting anything unnecessary.

Right now we are going to create references that link the files we copied; check the small box that looks like this in the Character Gen Parts: 



We will duplicate all the Base Head Parts, then replace the ones here with the custom (duplicated) we created. Complicated? Not really. Let's start with the Hair. 

Go to the Filter text box located just below the Object Window title and type HairFemaleNord; then right-click and duplicate one of the references like the image below (try to stay within Race references):



Edit the new duplicated reference and change them according to the image below: give the reference an unique ID (name is optional), delete the extra part on the bottom window (we'll add our own next) and change the Model path to your Meshes/Actors/Character/ NPC folder:



Don't forget to add a .tri file in the box just below this one if you have any. Click OK, then No and finally Yes - always do this unless stated otherwise. Now let's duplicate the HairLine.

Duplicate this Hair you just created and change the ID, name (optional), type, Model, and check the Is Extra Part Box according to the picture:




Click OK, No and Yes in sequence.

Now let's assign the Texture, that will be used in both Hair and HairLine. Use the Filter box and search for any hair texture form to Duplicate; I use an HairArgonianFemale (yes, any Race hair texture will do), right-click, duplicate, edit the duplicated form and change the ID (use Tex in the end for convenience) and each of the File paths to the NPC Hair texture path files you copied earlier (both files, diffuse and normal), like in the image below:




Hint: the normal texture usually have the_n.dds suffix on the name; the diffuse texture don't have any suffix.

Edit the DranaHairLine, and search the Hair texture you just created on the Texture set scroll box. Click OK when done. 

Now let's go back to the edit the custom Hair form ID (in my case, DranaHair) and Right-click on the Extra Parts, select Add, type Drana and select DranaHairLine; now move to the Texture Set scroll window and search for DranaHairTex. Select it and in the end your form ID should look like this, but with your custom NPC name instead:



Let's move to the NPC Editor Window and assign this form to the Head Parts. Go to the Character Gen Parts tab, and change the Hair to the form you just created. You should end with something like this:




Use the Full preview window to check if everything is right. As you can see, the hair color don't match the one we want, but we'll take care of that later too - or you can change the hair color browsing the box next to the import button right now. 

If you use the Head preview, the hair could be detached from the head, like it is floating way above the NPC; that is normal for custom hairs, so use the Full preview instead.

Now it is a good time to save as CK crashes without warning.

Now let's take care of the Face head part using the same process. As you can see, the ID name is FemaleHeadNord. so let's search it on the Filter box and duplicate it.



Edit the Duplicated form and change the relevant file paths; probably you will change all the options (nif, tri, Race and Chargen morph); don't forget to change at least the ID and to hit OK, No, Yes as usual. The next image shows the fields you probably must change:



Hint: some mods also change the mouth files, so make sure to add the mouth form and the mouth files as an extra part for the Head, exactly like the Hair/HairLine extra part process, if you need the custom mouth from the mod in your NPC, including creating a new form for the textures.

Now the head textures. Use SkinHeadFemaleNord on the filter box, duplicate it and edit the duplicated texture form. Edit the texture paths for your NPC texture folder, rename the form ID, OK, No, Yes. Open the custom head (DranaHead in my mod), and change the texture to the Head texture. Images below with the process:




Change the texture paths for your NPC folder and don't forget to change the ID too:




Hit OK, No, Yes. Open the DranaHead and change the texture set in the scroll menu. Hit OK to save.


You now have another Head part ready to be added on the NPC Base Head parts, so just add it like you did to the Hair, selecting the Face line and choosing the custom Head part in the scroll window just below:



Done? Good, two down, two more to go here plus the body part. Let's focus on the eye part now. The process is the same as the others. Filter box, type FemaleEyesHuman and duplicate one of the forms.






Change the ID and file paths to the NPC folder as usual, when done hit OK, No, Yes, and let's take care of the eye texture - remember we did not copied to the NPC folder yet. Open the CharGen file from the F1 export and expand the eye branch as show the image below: 



Navigate to the folder and copy the texture .dds file to your NPC folder. Now duplicate a eye texture ID form (I pick EyesMaleHumanBrown), open the duplicated form, change the ID and set the Diffuse texture to the one you just copy/paste.

See the remaining CharGen nif textures and check if you have them as loose files on your data/cubemaps/ and data/textures/actors/character/eyes/ folders (or any other eye mod folder) and copy them if they are there (if you don't have the loose files, it means that the NPC will use default textures or any texture loose that match the same folder/file name).







Go again to your Drana Eye form and replace the texture there for the one you just created; the end result should be similar to this one (note that I didn't change the .tri file as I didn't had it loose):

  

Back to the actor edit and replace the eye Head part, full preview. 




Almost there. Now, the Brows. Filter FemaleBrowsHuman, duplicate one of the forms, rename the duplicated ID, change the .nif and .tri paths for the files you may have in your NPC folder, hit Ok, No, Yes. 





I don't have any custom Brows, so I won't change anything on the form. Now the Texture. In this situation, if I had custom brow mesh files, they should appear on the CharGen .nif file and you take the texture from there. As I don't have them, I only need to check if I have a loose brow texture in the brows folder. As you can see I use SGBrows that add better versions of the default vanilla brows, so I'll pick the one with the same name as the Head Part: brow nº 7. Copy/paste it to the NPC folder:



Filter and duplicate a brow texture (HeadBrowHumanFemale), and change the Diffuse (and Normal if you have it loose) file paths, change the ID, OK, No, Yes, go to the Brow Head part and replace the brow texture there:





Back to edit Actor window, change the brows and we are done! No, just kidding. almost done :)

Don't forget to save the file now.



OK, right now you have a standalone NPC that will be look like this on every Skyrim game? Not really. Only the face will look the same, the body textures are assigned to the same your main character use, so let's change that now and assign her custom body and textures.

Filter Box and search for SkinNaked, duplicate and edit the duplicated form.



Change the ID and delete the models as show in next image; we'll replace them with custom parts - torso, hands and feet. Click OK, No, Yes again.



Filter box search by NakedTorso and duplicate it. In this window you just have to edit the ID (as always) and the Female Biped Model. Browse for your NPC mesh body folder and select the FemaleBody_1.nif.



The end result should look like this:



Repeat the same process for the Hands and for the Feet, duplicating the NakedHands and NakedFeet, Changing the ID and the Female Biped Model for both to the FemaleHands_1 and FemaleFeet_1 nif files on the NPC body mesh folder. Press OK, No and Yes as usual. Now let's move to the body textures.



Search for SkinBodyFemale, duplicate and edit. This window is similar to the Face texture one, so edit the ID and replace the female body textures in the NPC body folder like the next picture:



Hit OK, No, Yes. Duplicate the SkinBodyFemale again, replace the textures there for the female hands textures in the body NPC folder and change the ID. The Body textures will be used to the torso and feet, the hands textures to the hands only.



Now go back to the DranaNakedTorso and click on the Select button on the Female Biped Model; on the Model Data, double click on the blank space on the New Texture column on the first row; a new window pop-up, search for the skin body texture.


 Repeat the same steps to the Feet (remember that uses Skin Body textures) and the Hands (Skin Hand texture):




Now the three parts are ready to be added to the SkinNaked we created some time ago. Open the DranaSkin form and drag the window to the left; select the 3 forms we just created and drag/drop to the Models window. Click OK.




Last step (finally!) is to open the NPC character and change the Skin below the Race on the traits window to the new DranaSkin. Hit OK and we're done. Time to Save the plugin file again.


Part 4 - Make the NPC a Follower


Now you going to configure the NPC to be your follower; I'll just show you the basic changes in each Tab on the Actor window.

Traits Tab:

Set Essential/Protected: checking the essential Box means that she can't be killed; Protected means that she can only be killed by you. I usualy use Essential to avoid kill her in combat with "friendly fire";

Scripts: Remove all scripts from the NPC, a basic follower won't need any.

Height/Weight: adjust to your preference. Weight goes from 0 to 100; Height increases slowly, 1 is the reference for an adult, a child size is around 0.8.

Voice Type: determines the type of dialogue the follower can deliver; if you want her to have marriage or adoption dialogue options, you must choose the right voice type. Use this post there as to see what you can use: Modder Reference for Follower Voices

Disposition Base: it is related to the friendship and marriage disposition, so you should insert an high value here (I use 85).




Stats Tab:

Leveling Data: "Check PC Level Mult" and the follower will level with you. "Calc. Min" and "Calc. Max" are the starting level and the highest level the NPC can reach respectively.

Health, Magika and Stamina Offset: the starting values of each stat.

Class: related with the skill distribution. Choose one related to the desired NPC style (Warrior, Assassin, Spellsword, Thief, Ranger, Barbarian, Mage,...) or create a custom one, duplicating an existing Class. 



NPC Class edit window, where you can edit your NPC starting attributes and skills: 




Factions Tab:


Just remove any assigned faction on the Factions and Ranks window then right-click on that window and select add; a search box pop-up, add the following factions:


PlayerFollowerFaction
CurrentFollowerFaction
PotentialFollowerFaction
PlayerFaction

Make sure all the Ranks are at 0 except CurrentFollowerFaction that should be set to -1 (click on the Rank number to edit it manually).


 
Relationship Tab:




This is a straightforward setting; right click on the Empty Relationship NPC window, select New and a pop-up window similar to the one above appear. Write an ID, select Player as Child NPC and Friend/Ally on the Relationship Level. Click OK and let's move on.

Maybe it is a good time to save the plugin again.

AI Data Tab:

Change the following settings to match the ones in the image below; you can tweak at your liking, but those settings generally work well. Also try yo select a Combat Style similar to the Class you select on the Stats tab.




AI Packages Tab:

This is the behavior your follower will have when isn't following you (after you dismiss her). This is a very interesting tab to explore but for now we'll keep it simple. Delete any package in the AI Package List, right-click Add and search for DefaultSandboxEditorLocation1024 and add it to the list. 

This will allow your NPC to perform actions and interact with objects near the cell you place it first, with a large action radius.







Inventory Tab:  
The tab where you give the default equipment your NPC will use: weapons, armor, potions, scrolls, torches, money...




My suggestion is to choose one of the default outfits from the list, and give her weapons according to her fighting style. Give her some useful torches (recommended), potions or lockpicks if you want and 

To add something, Right-click on the Inventory window. then select the item you want in the Object menu below and pay attention to the quantities of each item you are adding in the Count Box.

Use full preview to check out the different outfits in-game. When you change outfit, switch between Full and Head previews to update. 

SpellList Tab:

Here you can add spells, shouts and perks to your NPC. Useful if you want a deep enhancement of your character style.

When you are done in this Tab, Hit OK and save the plugin again now, please. The next step can crash your CK easily.

Place the NPC/Follower in-game:

Now let's choose a meeting place, where you will pick your NPC to follow you. Inns and Cities are generally the best places to drop your NPC in-game - easy to access, few enemies, and - most important - are interior cells in CK.

Sleeping Giant Inn in Riverwood is probably the obvious place to meet a follower, as it is the first town you reach at the beginning of the game. Lots of mod creators choose it, so you may want to place her elsewhere.

What you need to place the NPC in the world is basically drag-and-drop. Type the name of your follower in the Filter Box and then move to the Cell view Window. Select the place you want to put the follower - I'll choose Anga's Mill in Tamriel cell.



After you choose the cell, wait to load, clicking Yes to All or Cancel in the warnings. Now, in the Cell View, I search for the Angas Mill location; as you can see, there are 3 EditorID references to AngasMill, choose one and wait for the window above the Cell View (Render Window) to load the land preview. This is when the CK usually crashes due to memory issues, so if this happen to you, start CK again and load ONLY Skyrim.esm and your plugin esp file - all the other masters will load automatically.

When the Render window is ready, select your NPC in the Object window and drag/drop on the Render window. 


When she is in the right place, save the plugin file. One last thing to do before we test it in-game: create the CharGen file to avoid the Dark Face bug.

On the object window, select the Actor branch on the menu below the filter box like displayed on the image below.




Now type the name of your character on the Filter Box and select it (don't open/edit it) on the Object window. Press CTRL-F4 on the keyboard and a message will appear (Export FaceGen); press OK and another pop-up confirming the process appear.



Hint: this process can't be done before you add the Actor in the world, no CharGen file will be created, even if the pop-up messages appear normally. Also don't forget to use CTRL-F4 every time you change anything in her face in CK.

Save the plugin and close the CK.

Active your plugin in your Mod Manager/Skyrim Launcher and load your game. If you have done everything correctly (and I didn't forget anything), your follower is ready for adventuring with you! time to run Skyrim and test your Mod in game

Hint: while on testing make sure to play on a save without much progress or a save you are willing to delete. Some bugs can occur, specially if you change some of her traits after the testing (voice type, inventory, face...), so don't save a game with your mod active until you are sure you won't change it.   


Here is Drana in-game as a follower, great success! 





Part 5 - Adding Custom Equipment to Follower

Another thing you can do is to add custom armor and armors to your follower, either from mods or vanilla assets. This is a good option if you want to add some extra skills/perks or enchanted armor/weapons. Don't forget to warn in the mod page description (if you share it) that the follower has customized armor, some people could care (most won't) and credit the author(s).

Adding custom armor:

Let's create 2 new folders on our NPC meshes:

Data\meshes\actors\character\DranaFollower\Armor\
Data\textures\actors\character\DranaFollower\Armor\

This is where we will store the models and textures of the custom NPC armor. Nowlet's get the files. For this tutorial, I'll use a personal conversion for 7Base, but the process is similar for any armor.

The model used is a port of Mr. Bravo's Brivas light Armor from Oblivion.

With the mod files, we need to identify and extract the armor assets. Sometimes is easy, sometimes the mod is complex or modular and it needs some extra effort. My conversion is simple, so just copy the models and textures to your NPC armor folder, the final result should be like the image below, withe the model and textures files in the right folders:





Hint: if the mod is packed on a BSA file, you will need to extract it with some tool. I recommend BSAUnpacker or FO3 Archive Utility.

You see that we have 3 nif models, so we'll create 3 different armor parts: Cuirass, Gauntlets and Boots. But we have 4 texture sets, two for the cuirass and if you open the models in Nifskope, you'll see that the cuirass and greaves textures are used in the cuirass.nif. This is an important information to make the textures display correctly in-game.

Now let's import all those assets to Creation Kit. The process is similar to the ones you did earlier: duplicate a form, change the ID and create a path to the model, and tweak a couple of things. Let's go:

First, we will create the ArmorAddon forms. Armor Addon are the forms where you store all the information about the armor/clothing that NPC and player can use. Let's click on the ArmorAddon branch on the left panel and search for the Iron equipment: Cuirass, Boots and Gautlets. Duplicate all the forms and change the ID and models according each armor part.









As you can see, the model is purple, meaning that the default textures stored in the model .nif file couldn't be found, this is because the texture path must be adjusted to your custom NPC texture folder by editing the .nif file or in CK. We'll use this second option very soon. Click OK on the windows, then the usual procedure OK, No, Yes (I won't repeat it from now on).

Next create the remain AA models for the boots and gauntlets duplicating the Iron Gauntlets and Boots ArmorAddon (AA) files. You should end with something like this, one for each model on the NPC folder meshes Armor:



Save your plugin now.

Let's fix the ArmorAddon textures. On the left panel, select TextureSet and choose one clothing or armor texture; I've picked a mage texture, but any other could work. Duplicate it.



On the window, change the form ID and set the correct paths for the Diffuse and Normal textures, remembering that the diffuse don't have any suffix and the normal usually have a _n suffix. This next image is for the cuirass, do the same for the other textures - remember that are 4 texture sets, so create 4 texture forms: cuirassTex, BootsTex, GautletsTex and GreavesTex.



With all texture forms created, the next step is to assign each texture set to the model. Remember when you assigned the skin body textures for your follower? Same process now. Open each ArmorAddon form, open the model, click on the New texture empty cell in front of each model branch and assign the correct texture.

If you only have one model branch, just assign the obvious texture, like in the boots and gautlets.






As you can see, the texture display correctly. But things can be tricky with models with several branches, like the cuirass that have 4 branches.




In this situation, you can trial/error each texture - for a small number of 3D models you can do this - or open the model in nifskope and check the textures for each NiTriShape - if the model has a large number of 3D models.

Hint: the 3D name is the same name of the nif file NiTriShape branch.

With the ArmorAddons correctly set up, time to create the Armor forms. The Armor forms is where you set some useful properties like item value, weight, enchantments, armor type... but first, save your plugin file.

Select Armor on the left panel and pick up an Iron Armor part, duplicated the form as aways and change the ID name, set an enchantment if you want and check/uncheck playable box if you want your player character (not NPC) to be able to use the armor. 




Finally, change the model removing the one is there and adding your AA according to the Armor you are editing. In the image below, I'm editing the boots armor, so I must add the BootsAA model:



Repeat the process for the 3 Armor parts, and be aware to set the right ArmorAddon part, or else your NPC won't wear it correctly. 
      
With all the 3 armor parts created, it is a good idea to create an outfit so you can add easily to your NPC. Type outfit in the Filter Box, duplicate an outfit form like an Iron or any other:


Change the form ID and drag the Outfit window to the right side, so you can see better the EditorID names window. Without closing the Outfit window, type your custom armor name in the filter box, select all the Armor parts (NOT the ArmorAddon) and drag them to the Outfit window. Close the Outfit window. 


Hint: if you want to add rings or amulets to your NPC, add them this way via outfit instead using the NPC inventory.

We are almost done, now the only thing remaining is to add the outfit to the NPC. Open the NPC Actor window, move to the inventory tab and search the custom outfit on the Outfit scroll box, when selected, the outfit objects at right auto-fill automatically.




Use full preview to check it everything is right. If you are happy with the result, save the plugin and let's launch the game to check her new outfit. Make sure your esp file is activated.



And there you go. Custom outfit for a custom follower. Fancy stuff. Now let's give her some custom badass weaponry, a bow and a sword, so she can fight skeevers and skeletons properly geared up.

Adding custom weapons:

I'm going to cover the two types of weapons in-game: melee and ranged. And I'll make a new texture approach: instead of adding the textures in-game, I'll add the textures via Nikskope for the melee weapon, so you can see how to set the proper textures when you can't add them via CK, as you will see later.

First, the ranged weapon, a Bow. The custom bow I'll use is from a free Dragon Rider Bow created by Kaydream and shared on Renderosity, that I have converted to Skyrim some time ago, but wasn't rigged properly - I'm not very talented to rig bows. Luckily Valentin14 from Modgames shared a way better version than mine last week and that is what I'll use now. 

The first thing to do is to create some folders to store the custom files as always. I've created a Weapons folder inside the NPC custom folder both in Meshes and Textures, breate two sub-folders for each weapon type, then copied the proper files to each folder. For now, I'll copy the meshes/textures for the bow:



As you see, we have three meshes: after open them in Nifskope, we'll check that one mesh is for the arrow flight (projectile), another for the quiver (Arrow) and finally the Bow mesh.




With the files in the place, let's go to CK to add them.We'll use three forms to add the bow in-game: projectile, arrow and bow; filter for arrow and duplicate any projectile form (I'll duplicate the Iron), then change the ID and browse the Art file to your projectile mesh.




Projectile done. Now the arrow, same procedure, duplicate an arrow form (I pick Iron again), open, change the ID, the name (so you'll see Drana Arrow when picking her arrows in game), change the projectile to the one you just created, click Playable if you want to use the arrows too, make sure bolt is deactivated and you'll end up with a purple mesh; we will assign the textures in a couple of minutes, after creating the Bow forms.





Now the bow has two components: the 1stperson ("dynamic") form and the weapon ("ground") form. 

Hint: the ground model is the one that will appear on your inventory and when you drop it on the floor. Using same mesh for both forms has a small issue with this approach: the "ground" model don't have a proper collision working, so it will clip the ground when dropped - but can be placed on weapon racks. Also could appear not centered/too big/too small on your inventory panel. Creating a ground model is easy, but I wont't cover that on this tutorial - just keep that in mind if someone complains about that.

Filtering for Bow on another keyword related with the form you want to duplicate, choose the "1stperson..." form and do as usual; open the duplicated form and change the ID and the model for yours.




Now the weapon (ground) model. Duplicate any bow weapon in the game you want (has a shield with two crossed swords on back symbol) and change the ID, the name, add an enchantment, tick/untick the playable option, assign the 1stperson you just created before, change the model and adjust any other preference you want in the Game Data.





With all model forms created, time to fix that texture missing problem. Let's look for some texture forms in CK, duplicated and assign them properly. Since this is a weapon, any weapon-related texture could work.

We have two textures to assign (one for the bow, another for the arrow/quiver), with diffuse and normal maps. Search for a suitable texture, duplicate it and add one of the textures, then the other as the images show:





With the Bow and Arrow textures created, let's assign them properly. Open the Arrow form and add the arrow textures on the New Texture until all the 3D Names are filled with the right textures; then open the 1stperson..., and add the bow textures, repeat for the bow ground model:




There is a texture add left, but we can't do it via CK: is the Arrowflight model, there isn't an option to set the texture like the other models, so our only option is to use Nifskope to do the job. Open the ArrowFlight mesh file, then expand the branches according to the image below: 



Expand the NitriShape, then expand again the BSLightningShaderProperty; right click on the BSShaderTextureSet branch and on the panel below, expand the Textures line; see those "flower" symbol with a path name? Click on the flower and browse to your NPC path, replacing the first line with the Diffuse texture and the second line with the normal _n texture. Save the nif and go to CK again. 

We are almost there. Now let's add the bow to our NPC inventory. Open the NPC Actor panel, navigate to the Inventory tab, then add item on the inventory box and browse for your custom Bow; then browse for the Arrow and don't forget to add a good stack of them (like 1000 or so); hit full preview, and if everything looks good close the Actor window and save the plugin.



Time to test in game:




Everything looks great. Let's move on.

Now the melee weapon. A custom greatsword converted from an Oblivion mod- Mighty Umbra by Buddah - properly set up to import to CK.

Let's assign all the textures via Nifskope instead of creating texture forms inside CK (like in the arrowflight situation above), just to cover up all situations.

The first thing you want to do is to open the model in Nifskope, expand the NiTriShape branch that has the weapon name (not the EdgeBlood branches) and expand again the BSLightningShaderProperty; click on the BSShaderTextureSet branch and, on the window below, expand the Textures; you'll end up with some texture paths and other blank ones, neat the "flower" symbol. 



Re-assign the paths for your NPC directory; this mesh has three custom textures: diffuse, normal and glow (suffix _g), so add them correctly and ignore the cubemap texture since it is vanilla.
 
Save the .nif file and let's get back to CK.

On CK, you will need two forms: the 1stPerson and the Weapon (like for the bow); filter for greatsword (be sure to keep the same weapon type from the original mod, 1H or 2H), duplicate both forms. On 1stPerson form, change the ID and the model and, as you can see, the model display the correct textures right away:



Save the form and move to the weapon ground form duplicated - I'll use a Daedric greatsword as base this time; change the ID, the name, set an enchantment if you want, set both models (1st person and ground) on the Model window, mark as playable, set a value and tweak this form as you like it. Then save and move to the Actor NPC window inventory tab to add it in-game.



Like the bow, just add the item to player inventory; by default, the CK/game will equip the better weapon, so the Greatsword takes priority. Save everything, including the Plugin, and test in-game.




Working great. Done!

Part 6 - Remove Masters/dependencies, create body variations, and packing the files for backup/distribution and optimize the Mod files.


In this topic the goal is to create an compressed archive for backup or sharing, and to increase maximum compatibility with other Skyrim games, with a special look for body types variants.


Remove Unwanted Master dependencies:

To increase compatibility you will want to remove your plugin dependency of Mods that were required to create your follower, but don't add anything after to the standalone mod.

ECE requires racecompatibility.esm and Dawnguard.esm as masters and, because of that, your plugin will also be flagged with this dependencies. But if you didn't create a new Race for your NPC, or your mod don't use any Dawnguard content (like armor, spells, weapons, cells only added by this DLC), you can safely remove both files as masters and any user without the DLC (and Racecompatibility) can play with your mod.

The easier way is to use TES5Edit to clear the masters. Install and run TES5Edit, the main window will show all your plugins listed. Right click on that window and choose Select None. Then check ONLY the boxes near Skyrim.esm and your plugin esp file, similar to the image below:




Hit OK and wait for the program to load everything - a Loader: Finished warning should appear on the right text window. On the left panel, expand your plugin branch hitting + and you should end with a File Header and other branches of formIDs. Click on File Header below your plugin name, look at your right panel and search for the Master Files list.



Right click on the Master File line above each one of the Master Files you want to delete as master and select Remove; a warning about you modifying the file should appear, click to yes continue and remove both Dawnguard.esm and RaceCompatibility.esm. 

Hint: don't remove Update.esm as master file. Really.

When both files are removed, click on the close program button and a Save Changed Files window pop-up. Check if your Plugin esp and the Backup Plugins options at the bottom are ticked on and click OK.   





Time to make a backup of our work.

Backup the NPC files: First, let's make a copy/backup of your current follower. Create a folder in your desktop named Data and recreate your NPC following folder structure inside (may vary according to your own NPC folder structure). In my tutorial, it is something like this:

Data\meshes\
Data\meshes\actors\
Data\meshes\actors\character\
Data\meshes\actors\character\DranaFollower\ *
Data\meshes\actors\character\FaceGenData\
Data\meshes\actors\character\FaceGenData\FaceGeom\
Data\meshes\actors\character\FaceGenData\FaceGeom\DranaFollower.esp\ **
Data\textures\
Data\textures\actors\
Data\textures\actors\character\
Data\textures\actors\character\DranaFollower\ *
Data\textures\actors\character\FaceGenData\
Data\textures\actors\character\FaceGenData\FaceTint
Data\textures\actors\character\FaceGenData\FaceTint\DranaFollower.esp\ **

Copy/Paste the all the folder contents of your 

Skyrim\Data\meshes\actors\character\DranaFollower\
Skyrim\Data\meshes\actors\character\FaceGenData\FaceGeom\DranaFollower.esp\
Skyrim\Data\textures\actors\character\DranaFollower\
Skyrim\Data\textures\actors\character\FaceGenData\FaceTint\DranaFollower.esp\

to your desktop folder according 

Data\meshes\actors\character\DranaFollower\
Data\meshes\actors\character\FaceGenData\FaceGeom\DranaFollower.esp\
Data\textures\actors\character\DranaFollower\
Data\textures\actors\character\FaceGenData\FaceTint\DranaFollower.esp\

* - your NPC plugin name
** - your NPC plugin name: make sure to copy the files here to avoid the dark face bug

Finally, add your Skyrim\Data plugin file to your desktop Data\ folder. In my case, I just copied DranaFollower.esp from Skyrim\Data\ to \Data\.

Now use a zip tool (I recommend 7z or WinRAR) to compress your desktop Data folder and name it something like DranaFollower_7Base, clearly identifying the mod and body type used (Sevenbase); you may also use numbers to keep track of the mod version and updates, so something like DranaFollower7Base_10 is immediately recognized.

Hint: .7z and .rar files are ready to be used in Nexus Mod Manager or Mod Organized programs, as long as they have the right folder structure as above.

Your compresses file should look like this next images (pay attention to the NPC folder structuremust be exactly the same as your Skyrim Data folder or else the assets won't load causing your game to CTD, or display purple textures and other weird stuff):












Hint: a FaceGen is created for each NPC you export using CTRL-F4, so make sure to copy all the files if you created multiple NPC with multiple custom folders. 

Now that we have our mod backed up, let's create a body variant. Don't delete this Data folder from your desktop if you want to compress the mod on a .BSA file.

Create Body Type variants:

In Skyrim, most armors and clothing that cover the torso replace the body part and have a body embedded in the model (.nif) file. When you give your own armor to an NPC and your body model/textures type is different of the NPC (like CBBE to UNP, SG to Fair Skin), body neck/hands gap or texture face/body mismatches are common problems.

To avoid this, you could consider adding body type options to your follower, creating a couple of variants - at least one for UNP and another to CBBE, since are the most used around and most body types are variations of those two (like 7Base, a variation of UNP). 

The process is very linear: basically you just need to overwrite your Body model files in your Data/meshes/actors/character/NPC folder with another body variant models compatible with the same textures.

In my example, I used a SevenBase (Nexus links from now on) body model with SG Textures Renewal for face/body textures. 

Since Sevenbase is mostly compatible with UNP but not with CBBE (the most popular popular body model type in Nexus), you may be interested in create at least a CBBE version of your NPC.

Download the CBBE body main file and the SG textures for CBBE on each page, extract both to a folder in your desktop and replace the following files on your NPC folder:

From CBBE body mod: browse the files according to your desired NPC body type and copy all the model files there. In my example, I just need to copy two model files to my Data/Meshes/Actors/character/DranaFollower:




Now the textures, same process: browse the desired textures folders and copy/past them to your NPC folder body textures folder: 



Again, make sure you are using the adequate textures for your body model. You'll notice mismatch body/textures issues easily on the breasts and hips area when using wrong textures. 


Packing the file (compressed loose files or BSA):

A very useful procedure is to create a .BSA file for backup and sharing purposes. A .BSA file (Bethesda Softworks Archive) is a compressed file containing assets like textures, meshes, voices and other file types. just keep in mind that .BSA files always lose priority to any loose files when they have the same folder and file name. That means it is a good idea to delete your custom mod loose files after you pack them on a .BSA archive.

Remember that Data folder on the desktop? We're gonna to use it now; or, if you have already delete it, just grab the 7z/rar backup file, unzip and drop it into your desktop folder - we just need the meshes and textures folders, not the .esp plugin file.

With the Data folder in your desktop containing all your custom mod files respecting the same folder structure you have in your Skyrim Data folder, browse to your Skyrim directory and execute the file Archive.exe:




In the program window, you will see a lot of options, but we'll keep it simple. Select Edit from the toolbar above, then Add Directory and browse to your desktop, selecting your desktop Data folder only:



Select all the Meshes and Textures from the selection boxes next to the folder display in the main window, but don't select any file that don't need to be packed - in this example, the last file isn't a mod file and I didn't select it. With all the files you want selected, go to File, Save as and give exactly the same name of your .esp file plugin.


For convenience, I've saved on the desktop Data folder where the backup meshes and textures are stored; this is because I'll use the same folder for another task again; when the progress bar is full, exit the program and go to your desktop Data folder. delete the meshes, textures and the .bsl file, they are now useless. Keep the .BSA file and copy your .esp plugin to this folder. You should end up with 2 files, a .BSA and a .esp with exactly the same name:



  

Now copy the .BSA to your Skyrim/Data folder, and delete all your custom files and folders contained in the .BSA - this is a very sensible task, so make sure you are deleting the right files; don't delete your recycling bin for some time if you need to recover anything deleted by accident.

In this example, I just need to delete the following folders from my Skyrim folder:

- Data\meshes\actors\character\ and delete the "DranaFollower" folder;

- Data\meshes\actors\character\FaceGenData\FaceGeom and delete the "DranaFollower.esp" folder;

- Data\textures\actors\character and delete the "DranaFollower" folder;

- Data\textures\actors\character\FaceGenData\FaceTint\ and delete the "DranaFollower.esp" folder;

Don't empty your recycle bin before loading the game again and testing the mod, checking if all the assets are working properly, including the face textures. It is very common forgot to include the FaceGen textures to a mod. 


Optimizing the Mod:

This is a very important step as it deals with game stability. You should always optimize your textures and .bsa files (.nif models are more tricky to clean up, so let's put them aside). There are some tools around that optimize the texture .dds files, converting and saving them in a more performance-friendly format, or reduce the .bsa pack size, leaving more disk space available.

I highly recommend the use of SMCO by Mikanoshi for those tasks. The procedure is quite simple and can make a difference, specially in those great mods with lots of custom textures both standalone or replacers.

Get the tool on Nexus and install according to the instructions. Back up your game files just in case anything goes wrong, then run it and you should be facing a dialogue window like this one:



Browse the directory to your Skyrim folder, then select the type of file you want to optimize: .dds or .bsa (I don't use the .nif options as the author warns it could bring some problems). If your mod is packed as a .bsa, run this option. If it is in loose files, run the .dds option and repack as a 7z/rar file on the end. Choose the DDs option Only on the right bottom and run Optimize; wait for the dialogue box to pop-up with the optimization data information.



As you can see, all the .dds files were optimized by half; also the .bsa was optimized too, saving you VRAM inside game and Disk storage space. Neat.

Hint: this tool makes backups of the .bsa files but NOT of the .dds files. Personally, I use a lot of texture replacers (aMidianBorn, SkyrimHD, Lods, SFO, Ruffled Feather,...) and never had a single problem after using this tool, either with .dds or .bsa files.  

Test in-game then make a backup of your new optimized mod files. These are the files you should distribute if you share your mod. 


Part 7 - Common Problems and solutions.

This is a permanent WIP section that will be updated with the feedback of users and information gather on technical support forums.

Problem: My NPC don't follow me!
Solution: This could be related to several things: first, check if you have configured correctly the NPC Factions, set a relationship with the player and raise the NPC disposition to a level around 85. Also check the voice type of the Actor according to the Voice Type modders reference and see if the selected Voice Type is adequate. If everything is right in CK, could be a problem in-game - remember that without a Follower Manager like AFT/EFF/UFO you are limited to one follower at the time (except on certain quests).

Problem: When loading the exported face on CK, there are some weird colors on the forehead.
Solution: just rename your "tintmasks" folder located inside Skyrim data\textures\actors\character\character assets\ to something else. When the FaceGen export is definitive, rename it again to the original name. 

Problem: The Follower won't use the custom bow, uses a common hunting bow instead.
Solution: A very old problem; for some reason, the game automatically adds an hunting bow by default when you assign them to follow you. The workaround is to remove the bow via dialogue.

Problem: My body (or other) textures are pitch black, but they display correctly in-game.
Solution: this is related with the resolution of textures, the game VRAM is full and can't render properly. The workaround is to reduce the textures resolution size (from 4k to 2k or 1k) using alternate textures or reducing yourself with an image processor tool or image edit software.

Problem: I've edited my NPC on CK when I load a save where the NPC plugin was active, I have one of the following problems: or the game crash immediately, or the NPC inventory has reset or the tweaks I implemented don't display properly.
Solution: this is one of the most common issues, but has a very simple solution. NEVER save a game while you are testing an NPC mod, always use at least a disposable save or don't save at all. 
This is because the way Skyrim handles the custom NPC in-game data: all the traits (height, weight, Voice Type, disposition, inventory) and the FaceGen information are stored in-game and when you load a game where the custom NPC already exists, the data stored in-game and the new plugin data mismatch, leading to several bugs like face/body seams or texture mismatches, loss of inventory items, CTD... so always use a save you didn't make much game progress or a save that don't have your custom NPC plugin active. 

Part 8 - Credits and Thanks:

tktk1 and ECE team for Enhaced Character Edit
Natilde for Standalone Follower tutorial
DarkFox127 for several tutorials
Luciver0316 for the Tutorial ECE preset
Mr. Bravo for Brivas Light Armor
Buddah for Mighty Umbra
Kaydream for Dragon Hunter Bow and Valentin14 for the Skyrim Port
Duinnin for Modder Reference for Follower Voice
Bethesda for Creation Kit and TES 5: Skyrim
Nifskope Team for Nifskope Tool
Mikanoshi for SMCO tool
All the Modders for they amazing work and generosity

If you found any problem in the tutorial, please let me know and I'll fix it ASAP.

5 comments:

  1. Hi, I was trying to follow your very detailed and useful guide using the same tools but on Skyrim SE. Some things had to be adapted a little but in general it works. I have only the problem that CK crashes a lot and often during the same operation (i.e. when trying to change Head parts in Character Gen Parts) that mines the possibility to complete the guide completely (i.e. I have to use some standard Head parts and go on, otherwise I can't proceed).
    Is there something that I can do to bypass these crashes (i.e. setting manually in some text files the correct parameters ...) or this is a common problem you ran into even in Oldrim ?
    Thank you And keep up the good work

    ReplyDelete
  2. Hi Attilio.

    Yes, I'm running into the same issue when importing the .npc file, half of the times the CK freezes on the browse window when importing the Chargen (actually we are just importing the tintmasks, the real chargen is in the nose 32). I don't recall this problem on Oldrim and I've created a vast amount of NPC this way. Thankfully this latest CK64 version is faster :)

    Right now we can't use the export function (F1) but I've found out a workaround with the .npc file to track the assets (brows, eyes) used. If you need me to post a short tutorial on that, I'll be glad to share it.

    ReplyDelete
  3. Hi I also tryed to follow your guide since it´s very detailed it´s rly nice to work with, but I can´t find the right paths for eyes and brows and so on. So it would be great if you could make an tutorial how to get the right information with the paths out of the .npc file. It took me a few hours just to find the right hair.(I opened each nif file for Hairs in nifskope until I found the right hair.) IF there is a way to find the information I need from the .npc file pls share that knowledge. Or what would even better if you know a way to get F1 to work in ECE I just get the information Export failed course chargen.dll not found.

    ReplyDelete
  4. Hi I realy like this detailed guide Ijust have a problem to find the right paths course I can´t export fron ECE. With this said can you share your wisdom how to get the paths out of the .npc file pls. It takes hours to go through all texture files and nif files with ck and nifskope to find the right parts/ paths for the face I made.

    ReplyDelete
  5. Of course, I'll write a tutorial regarding the ECE workaround. Should be done in a couple of hours.

    ReplyDelete