How to re-skin character meshes

Prerequisites:
How to add custom packages

Overview:
Creating new non-player characters (including robots) doesn't necessarily mean creating custom models.  Deus Ex has a number of generic character meshes that you can make new textures for and create a whole new look.  Also, if you do decide you need to create custom character meshes, you can recycle them by creating them as generic meshes and appying different "skins" to them in the same way.  Note that you could make a generic mesh for any type of actor (not just characters), but that is not the typical use.

NOTE: For a full-blown tutorial on how to re-skin character meshes, click here to go to the Custom NPC's tutorial at Universal Constructor.

 

1. Find a generic character mesh to use or create your own

Creating your own character mesh is only for the truly hard core modders, since there is a large amount of animation you would have to create.  Fortunately, you can use a number of generic character meshes that are set up to allow for a fairly wide range of uses.  Textures for glasses and pony tails can be created for displaying those elements, or special textures can be applied to prevent those elements from being displayed.

There are 17 "living" generic character meshes in Deus Ex, and each has three different death meshes, for a total of 68 generic meshes.  The 17 basic generic meshes and what they seem to be:

MESH NAME
DESCRIPTION
EXAMPLE NPC
GFM_Dress Generic female wearing dress NicoletteDuClare
GFM_SuitSkirt Generic female wearing suit and skirt MaggieChow
GFM_SuitSkirt_F Generic female wearing suit and skirt (fat) Maid
GFM_Trench Generic female wearing trench coat ScientistFemale
GFM_TShirtPants Generic female weaing T-shirt and pants AnnaNavarre
GM_DressShirt Generic male wearing dress shirt Bartender
GM_DressShirt_B Generic male wearing dress shirt (bald) GuntherHermann
GM_DressShirt_F Generic male wearing dress shirt (fat) Morgan Everett
GM_DressShirt_S Generic male wearing dress shirt (skinny) AlexJacobson
GM_Jumpsuit Generic male wearing jump suit UNATCOTroop
GM_ScaryTroop "Commando" mesh, only used once in the game MJ12Commando
GM_Scubasuit Generic male wearing scuba gear, only used once ScubaDiver
GM_Suit Generic male wearing suit BobPage
GM_Trench Generic male trench coat JCDentonMale
GM_Trench_F Generic male trench coat (fat) JaimeReyes
GMK_DressShirt Generic male kid, only used once ChildMale
GMK_DressShirt_F Generic male kid (fat), only used once ChildMale2

The nice thing is that you can use the exact same textures and apply them to the corresponding "carcass" mesh in the same order.

 

2. Create the required textures

If you look in one of the original .uc files that create an NPC using one of the above meshes, you'll see a list of textures referenced in properties that start with "Multiskins".  Each one of these values corresponds to a surface on the mesh that can be assigned a different texture.  A mesh can have up to 8 surfaces.  Generally these are divided into meaningful areas such as articles of clothing, body parts, glasses, etc.  Choose an NPC that uses the mesh you want to use and export all of the referenced textures in UnrealEd.  You'll end up with some .pcx files that you can use to guide you in creating new textures.

How you want to go about creating your new textures is up to you.  If you have access to Photoshop, Paint Shop Pro, or equivalent, you may want to use the exported textures as a background layer.  Remember to save all textures in the original sizes and as 8-bit .pcx files.  It actually may be possible to create higher resolution textures, as long as the "aspect ratio" of the texture is the same.  In other words, if the original texture was 256 x 256, you could possibly get away with creating a new 512 x 512 texture.

You don't have to replace all of the textures.  If you like the existing glasses textures, and you want your character to wear glasses, there's nothing stopping you from using textures in the Deus Ex packages.

 

3. Create your new NPC

Once you have your new textures created, you can create your .uc files for creating the "live" and "dead" versions of your new character.

Here are example .uc files for creating the WaltonSimons character.

The relevant parts of the WaltonSimons.uc file:

class WaltonSimons extends HumanMilitary;
.
.
    CarcassType=Class'DeusEx.WaltonSimonsCarcass'
.
.
    Mesh=LodMesh'DeusExCharacters.GM_Trench'
    MultiSkins(0)=Texture'DeusExCharacters.Skins.WaltonSimonsTex0'
    MultiSkins(1)=Texture'DeusExCharacters.Skins.WaltonSimonsTex2'
    MultiSkins(2)=Texture'DeusExCharacters.Skins.PantsTex5'
    MultiSkins(3)=Texture'DeusExCharacters.Skins.WaltonSimonsTex0'
    MultiSkins(4)=Texture'DeusExCharacters.Skins.WaltonSimonsTex1'
    MultiSkins(5)=Texture'DeusExCharacters.Skins.WaltonSimonsTex2'
    MultiSkins(6)=Texture'DeusExItems.Skins.GrayMaskTex'
    MultiSkins(7)=Texture'DeusExItems.Skins.BlackMaskTex'
.
.
}

You'll want to define your own class to use as the CarcassType so that your custom textures will also show up on the dead version of your character.

The entire contents of the WaltonSimonsCarcass.uc file (the "dead" version of WaltonSimons):

class WaltonSimonsCarcass extends DeusExCarcass;

defaultproperties
{
    Mesh2=LodMesh'DeusExCharacters.GM_Trench_CarcassB'
    Mesh3=LodMesh'DeusExCharacters.GM_Trench_CarcassC'
    Mesh=LodMesh'DeusExCharacters.GM_Trench_Carcass'
    MultiSkins(0)=Texture'DeusExCharacters.Skins.WaltonSimonsTex0'
    MultiSkins(1)=Texture'DeusExCharacters.Skins.WaltonSimonsTex2'
    MultiSkins(2)=Texture'DeusExCharacters.Skins.PantsTex5'
    MultiSkins(3)=Texture'DeusExCharacters.Skins.WaltonSimonsTex0'
    MultiSkins(4)=Texture'DeusExCharacters.Skins.WaltonSimonsTex1'
    MultiSkins(5)=Texture'DeusExCharacters.Skins.WaltonSimonsTex2'
    MultiSkins(6)=Texture'DeusExItems.Skins.GrayMaskTex'
    MultiSkins(7)=Texture'DeusExItems.Skins.BlackMaskTex'
}

Generally, you'll use the same textures in the same order.  I suppose you could do something like a bloody version of your new textures for the dead character if you wanted to.

Compile your package and you should see your new character under the appropriate ScriptedPawn category in UnrealEd.


Back to main page