Sims Support Page
Back Next

Skin essentials

The info below is a summarized combination of what I learned from skinning and mesh-making webpages, and my own newbie skinning experience. As both I and my sources are only human, however, it may contain mistakes.

The summary is split up in seven parts:

For ways of extending the standard skin system, see Further customization on the Skins page. (Scroll up for information about custom body types.)

The three vital components

A Sim's physical appearance is the combination of at least three types of files: a 3D wireframe mesh, a bitmap file to stretch over it and a CMX file to declare the mesh to the game and attach to it any "accessory" meshes.

The mesh is an ASCII file in SKN format, a format only natively supported by the shareware modeller Milkshape as far as I know. The file contains: the mesh name; the name of the default BMP to use with it (very handy for accessory meshes that have no naming conventions); the vertices, as is usual in 3D mesh files, and what joints of the SKN skeleton these vertices will move with. The binary form of this ASCII file, found in FAR files, ends on BMF. The header of the ASCII version looks like this:

xskin-b300faskn_01-BODY
x
19
PELVIS
R_LEG
etc.

Line 1 is the name of the mesh file, without extension. Line 2 can be "x" or the name of the bitmap texture that goes with this mesh, also without extension. The rest is all mesh information: faces, placing of vertices and so on. An analysis of the format can be found at SimTech.

The BMP must be an 8-bit (256-colour) Windows bitmap, probably (though I've never experimented with that) not RLE-compressed, square, sized 256x256 pixels (standard for bodies), 128x128 (standard for heads), 64x64 (standard for hands) or 32x32 (standard for small accessories). Whatever its size, it must be a multiple of 2; 32x32 is a practical minimum since you can't really use anything smaller, 256x256 is a practical maximum as older graphics cards may not be able to display anything with a larger texture. It must also have a whole-number width-height ratio; 128x128 (1:1) is okay, 128x256 (1:2) is okay, 256x192 (2:1.5) won't show up. I've seen in several places that a 24-bit (truecolour) BMP will crash the game, but on my computer have found that it's the real number of colours which matters, not the image's colour depth; skins with more than 256 colours will show up white in the Create-A-Sim screen, but a 24-bit BMP that only contained 256 colours was treated as an 8-bit BMP.

The CMX is an ASCII file (its binary form, found in the game FAR files, ends on BCF) which, as said, declares the mesh to the game. What does this mean? It means that, in the case of Sim body and head meshes, if the mesh exists and the CMX does not, that head or body will not appear as a choice in the Create-A-Sim screen. If the CMX is so named as to connect more than one skin to a mesh, that mesh will appear twice in the Create-A-Sim screen, covered in two different skins. (And if, through an unhappy naming choice, the CMX connects two meshes to the same skin, that skin will appear twice in the Create-A-Sim screen, once on its proper mesh and once on a totally unsuitable one, with bizarre effects.) If the CMX in the bodystring of a Sim character IFF refers to a main mesh that doesn't exist, no mesh will be shown, and the Sim may appear headless, or be a head and a floating pair of hands; if it invokes a "wrong" mesh, the game may crash. If, on the other hand, no texture file is found to match the CMX, the game replaces the CMX with another one, putting the old string behind a semicolon. I've had a game crash on a CMX referring to a mesh with a different mesh number in BMF form; normally, though, you can put any mesh name you like in a CMX file, for instance, "xskin-B300MaFit_flippers-PELVIS-BODYB" in the file "NMFit_flippers.cmx". This can be very useful! However, this won't work for two CMX files with the same mesh code both referring to the same "wrong" mesh; the game ignores the second CMX, or both. Like the SKN file, the CMX file contains its own name; unlike the SKN file, it must contain its own name correctly spelled, or the game will ignore it.

A simple CMX file, referencing only one mesh, looks like this:

// Character File. Copyright 1997, Maxis Inc.
version 300
0
1
b300faskn_01
0
0
1
PELVIS
xskin-b300faskn_01-BODY
0
0
0

The first four lines are always the same. The fifth line is the name of the CMX file without extension; it must be correct, or the file is ignored. Then two "zero" lines, and a line stating the number of meshes (in this case, one). Then, for each mesh: a line stating where it's attached and a line containing its name, followed by two zero lines.

There is no skin name in the CMX; it connects skins and meshes indirectly through the naming conventions. The only way to directly connect a skin to a mesh is to put the skin's name in the mesh header, but this is overridden by any skins named the same way as the CMX.

The naming conventions

So, what are these all-important naming conventions? Firstly, a Sim consists of at least three meshes: head, body, hand(s). The hair is generally incorporated in the head. Secondly, and this is important, a Sim has a possible total of eight dress styles, as I call these states:

Normal
Work
Nude
Underwear/Swimsuit
Pyjama/Lingerie
Formal
Winter (Vacation)
High fashion (Superstar)

These styles apply to the body mesh. The head mesh has no styles, and unlike the body mesh, which can be changed with wardrobe objects, is not meant to be changed. The hands are the same for all states except Formal, but where the normal hands have three states - open, closed, pointing - the formal hands only have one (open). (This was the situation until HD, which scrapped the formal gloves because they were getting replaced by NPC hands.)

Simkids don't have a Formal style: the string exists in their character IFF files and can be filled with any outfit, but the game ignores it. The closest children can get to formal dress is the "Formalwear" option of the House Party costume trunk, which has its own dress styles. Likewise, in Superstar, children have no High Fashion style. The game puts "ADDED" in their buyable Formal and High Fashion strings, overwriting whatever I put in.

The naming conventions begin with the first letter of the BMP and the CMX name, and the seventh letter of the mesh (which always starts with "xskin-"). This is:

C ("caput"?) for heads
B for normal bodies
N for nude bodies
Pajama for pyamas, pre-Hot Date (note: a whole word)
U for swimsuit/underwear bodies, pre-Hot Date
S for swimsuit/underwear bodies, Hot Date
L for Lingerie, Hot Date
F for formal bodies
W for winter clothes (Vacation)
H for high fashion bodies (Superstar)
H for hands
G for formal hands (gloves)

Naming conventions hardly apply to the Work style; there may be versions of the work skin for different skin tones, and versions of the work mesh for different body shapes. For the job "Astronaut", obviously, it makes no difference.

According to these naming conventions, each skin bitmap's name contains the following information: dress style, mesh name, sex, age, skin tone, and a tag to identify the skin. The tag follows an underscore and may be followed by other tags. The CMX and mesh names contain the same information, except for the skin tone. Their tag is usually something like "_01", since the mesh and CMX are already identified by the mesh number.

The information in the name, I call the code. The tag after the underscore, which I've also seen called "skin name", I'll call the identifier to avoid confusion with the physical file's name. The format is:

bitmap: codeskintone_identifier.bmp
cmx:    code_identifier.cmx
mesh:   xskin-code_identifier-anatomy.skn

The anatomy in the mesh name would be things like "PELVIS-BODY". For the purpose of naming conventions, they can be ignored.

The identifier is mainly important for the BMP skin, as the same mesh can be used to project many different skins onto, and can be used for making sets (see "sets" below"). Identifiers in CMX files may denote different mesh combinations inside the CMX, like "C001MC_default.cmx" for just the C001MC head, "C001MC_glasses.cmx", "C001MC_tophat.cmx" etc. It's the same C001MC head mesh being referred to, but different accessories are added.

In SKN mesh files, identifiers generally serve no use, except to hint at what kind of mesh it is. Meshes are supposed to be unique per age, gender and body type, so there shouldn't be two different B200FAFat mesh files kept apart by their identifiers. (Fans may have to resort to this trick when mesh numbers are running out, though, or to use a custom mesh with existing skins.)

The code falls apart into:

dress style/body part (listed above)
three-character mesh type (skirt mesh, long pants mesh etc.)
M/F/U for male, female, both (the U is rarely used)
A/C for adult/child
fat/fit/skn/chd for fat, fit, skinny or child body type
drk/lgt/med for skin tone

A typical skin name might be "B004FCChddrk_elsie.BMP" for a dark girl skin to be used with the skirt mesh "xskin-B004FCchd_01-PELVIS-BODY.skn". The skin's identifier is "elsie", to distinguish it from other skins that go with the same mesh, age, sex, skin tone and, for adults, body type. The corresponding CMX file would be called "B004FCChd_elsie.cmx" or better still "B004FCChd_01.cmx"; what comes after the underscore doesn't matter so much. Any set of mesh, skin and CMX where the first five components of the code match, is a valid combination.

The importance of the naming conventions is this: first, for a body to appear in the Create-A-Sim screen, there must be a CMX and a BMP which share the same code. (The internal defaults, for eg. the skinny nude bodies, deviate a little from this rule.) Every valid combination of CMX and BMP will produce an outfit/head to choose from. (Outfits will only appear if they're the "B" type, ie. normal.) Second, the code of the CMX and BMP must match the Sim's personals; skin tone, age and gender must all be the same as what's laid down in the character and neighbourhood IFF. Otherwise, the game disregards the information in the Sim's bodystring and dresses the Sim up in something else.

Body types

Adult Sims come in three body types: Fat, Fit, Skinny. For females, this means a progression from flat-chested to wide-hipped and full-bosomed. Fat Sim women have a mature rather than obese figure, and the fit females are skinny-limbed and mostly buxom. For males, fat means truly paunchy, fit means your average, slightly chunky thirty-year-old and skinny male Sims have the same basic body as female Sims, which means their hips are too high. The skinny Sims of either sex might pass as teen Sims, since there are no standard teenager meshes.

Children, fortunately, have no body types; their only type is "chd" (child). Girls and boys have the same bodies.

There are only two heights: Adult and Child. Intermediates are not possible, as this would interfere with the animations. I've seen an inventive mesh-maker's height variations: a skin that was slightly taller than average, and one that was slightly shorter; but these can look funny with head animations like wearing the VR set. I've also seen a realistic fat body type, but that had problems with the placing of the hands. Making more body types is possible - but it's not easy.

There are several sites that have developed their own body types, for instance, SOB for the SimOnes "Big Girls" project, and SUM for Jerome's "Summo" (I assume that was meant to be "Sumo"?) type. The trick is to coin a three-letter type to replace FIT/FAT/SKN. The SOB files demonstrate the use of being able to reference a mesh through a CMX with a different code: the "NFSOB" CMX refers to a "B300FASOB" mesh. Normally, to use a B300 mesh, both the skin and the CMX have to start with something like "B300", but since all "B" skins are seen as outfits, the player ends up cycling through nude "outfits" when using the wardrobe. Connecting the B300 mesh to a CMX file starting with "N" keeps it out of the wardrobe.

Hands and heads

Heads have the same naming conventions as bodies, although they don't have dress styles, and as with bodies, if they don't pass the criteria, the game replaces them with something else. Hands have limited naming conventions, but have one tenuous connection with dress style: gloves.

About heads, there isn't much to say, except that they are not supposed to change, which means that any changing or hairstyle, headgear etc. has to be achieved by writing the headgear/hairstyle as accessory into the body CMX file, so that a change of outfit may leave the Sim bald.

There are three hand meshes: open (normal), pointing and closed. The second two I hadn't seen until I installed House Party: the fists are used to grasp the bars of the dance cage and the pointed fingers for some embarrassingly dated disco dancing. (The closed hands are also used for planting and weeding in Unleashed.) They come with six CMXs that the user will rarely have to bother with, and three skins that go on both hands, starting with HUAO-, HUAP- and HUAC-: Hand, All three sexes, Used on both sides, Closed/Pointed/Open. This is followed by "drk/lgt/med", but no identifier. Giving the hand files an identifier locks them to the body BMP with the same identifier (see "Sets" below, and the section on making sets). To have separate left and right hands (for the Michael Jackson glove effect) there are the skins HMROlgt.bmp, HMLOmed.bmp, HFROdrk.bmp etc. which work by the same code: Hand, sex=Male, side=Right, Open, dark/light/med tone. Adding identifiers to these filenames has the same effect as with the HUA-files.

Gloves have only one shape: open. (I guess people don't disco in formal dress.) The only standard gloves skin I've seen (apart from NPC skins like the burglar's gloves and the Grim Reaper's skeleton hands) is "GFAO_bride.bmp": Glove, sex=Female, side=All, Open, with an identifier ("_bride").

People who update from Livin' Large to Deluxe or later may notice that the bride no longer wears gloves. In my Unleashed installation, I've found that the glove strings for all characters were filled with strings like "GMAO_bear1" and "GMAO_yeti". Needless to say, these textures didn't show up in the game, and neither did any other glove skins; it seems that with the new dress style strings, the gloves string is ignored along with the old formal string. This solves both the Hot Date bug of assigning all Sims gorilla "gloves" and the problem of the gloves having no closed/pointing form, but introduces a new problem: what if the Sim is supposed to have gloves with that tux?

The solution, post-HD, of getting gloves on a Sim is the same as the solution in all versions for getting glove-like hands off a Sim: change to a new "normal" outfit. Suppose the "normal" outfit is a Batman jumpsuit complete with glove-coloured hands. To prevent SimBatman swimming with his gloves on, first make him wear another outfit that doesn't come with gloves, then have him change to swimwear. To get gloves with a formal outfit is trickier; first have the Sim change to a normal outfit with gloves of the right colour, then change the Sim to formal. A pity hand skins can't be changed directly...

Gloves have identifiers, but unlike hands, their identifiers don't seem to "lock" them to an outfit. I suppose that glove strings could be edited in the versions before Deluxe/Unleashed. Editing hand strings is useless; the game will write back into the file what it considers the "right" hand skins, which is either the skins with the same identifier, or the defaults.

Sets

The practical side of making sets is explained here. Sets are: one or more dress styles (other than the normal style) customized to appear on a particular Sim. There are two ways of making sets: the way that work in pre-HD installations, and the way that works in post-HD installations. They are 90 percent mutually exclusive, because the parts of the bodystring that are affected in the one situation are ignored in the other, and vice versa.

The pre-HD way of making sets depended on the identifier. The idea was that if the B-type skin bitmap had an identifier that also occurred in other-type skin bitmaps - so, for "B002MCchddrk_sammie.bmp", there was also a "NUchddrk_sammie.bmp", a "Pjsmchddrk_sammie.bmp", a "FMchddrk_sammie.bmp" and a "HUAOdrk_sammie.bmp", then these other files would automatically be filled in for the Sim using "B002MCchddrk_sammie.bmp" as a skin. Very handy for people who want to download and assign skins without having to manually edit the Sim files, but there are disadvantages. Firstly, it is hard to apply the same principle to use custom meshes, or custom combinations of meshes, instead of custom skins. (For custom meshes, like a "pregnant" mesh, it's best to use a custom body type.) Secondly, it can lead to enormous redundance: for instance, I have a huge collection of hand files for all the Sailor girls I've downloaded. They have names like "HUAOlgt_SailorMoon.bmp" and "HUAOlgt_SailorSaturn.bmp" to be automatically assigned along with the main skin, but they are basically all the same pair of white gloves. Thirdly, all three kinds of file used to incarnate a Sim can have more than one identifier; in that case, which of the identifiers is significant in keeping a set together, the first or the last? I've found a suggestion that the identifiers don't even have to match exactly; although the formal gloves for the Starlight Sailors were ignored in Unleashed, the combination of "BxxxMAFitlgt_Star2" and "GUAO_Starlight2" was flushed out by the name check (the character was assigned the yeti gloves instead) but the combination of "BxxxMAFitlgt_Star" and "GUAO_Starlight" wasn't, suggesting that "_Star" and "_Starlight" were close enough.

The most important thing to remember about the pre-HD set-making method, and this also applies to hands and nude bodies in the post-HD situation, is that the set is determined by the identifier on the normal body. The identifiers on the head or formal gloves have no effect whatsoever, and adding a tag to the nude skin identifier to try and get the default hands back in nude dress style will only break the set.

Onto the post-HD set: here, it is possible to customize every dress style independently and in every aspect - mesh, skin, CMX - as long as the style is buyable. At last, no more fiddling with the identifiers, except to customize the nude skin, which can still be necessary, as not every Sim's skin tone is light, medium or dark as displayed in the game; Gothic Sims tend to be paler, realistic "coloured" skins may be a lot darker. Hands are also completely disconnected from dress styles now; in later expansion packs, formals no longer have gloves, and winter wear never had any. The post-HD system relies on extra lines added to the bodystring and three new mesh/CMX types: S, L, F (plus W in Vacation, and H in Superstar).

Unlike the old system, the new system allows doctoring the CMX files for different dress styles, and thereby putting non-standard meshes in a set, while using the standard body types. So, "set" in the old meaning of dress styles all depending on one shared factor (the identifier) has ceased to exist. The old dress style lines in the Sim character file are ignored, their information is not somehow transferred to the new lines when Hot Date or later is installed; set-makers have to start over. (The identifier still has some effect, though. If, in a post-HD setting, I pick a normal outfit with an identifier in the CMX file, and there are CMX files with the same identifier for the other dress styles, it is these CMX files that are automatically filled in when the Sim is created. But if CMX files with the same identifier are not present for other dress styles, the game may crash.)

(However! As of Deluxe/Unleashed, the nude CMX can no longer be replaced by a customized version; the default name is written back into the file each time the game is started. I can split "nuskn_01.cmx" into "nfskn_01.cmx" and "nmskn_01.cmx" for the purpose of having different male and female nude meshes, but I can't make a "nuskn_pregnantbody.cmx" for one specific female skinny Sim. Older versions allowed the user to replace the default nude CMX with something else through manual editing, but that option is now gone for good.)

The new system is also as fussy as the old one in actually applying the custom set. Before HD, the user had to cycle through all outfits in the dresser before the game would write the correct strings into the user IFF file. In HD, cycling through formalwear etc. is part of the game itself, but any Sim with a custom body type is treated as Fit, so to actually get the right outfits into the Sim's file requires manual editing. This does mean that other dress styles can have a body type different from the normal-wear body type and from each other, without causing a game crash; very convenient for sets with missing dress styles.

Accessories

Accessories have no real naming conventions. A pair of spectacles may be contained in "Spectacles.BMP" and "xskin-Spectacles.SKN". There would not be a CMX for this spectacle mesh, as it would be included in a "B300MASkn_Nerd.CMX" or some other CMX linking the spectacles accessory to one of the three main meshes. As the CMX doesn't provide a clue what texture to use on the mesh, the filename of the BMP to use is included in the mesh's header.

Accessories are any meshes - and skins for those meshes - which are not one of the three main types: head, body, hands. Hair is usually part of the head mesh, but when it's a separate mesh, it becomes an accessory. Ditto for glasses, hats, earrings, the ribbons and bows on Sailor Moon outfits, etc. As the above definition implies, they have to be attached to one of the three essentials. You can't really attach anything to the hands (the game ignores custom hand CMX files) so that leaves the head and the body.


This screen capture of Elisims shows hair accessories connected to a Sim's head.

So far, I've used "attached" ambiguously. I've used it for the way meshes are organized - does the accessory go with the head, or the body? - and for the way they are physically stuck on the main meshes. In the first sense, attaching an accessory means choosing in which CMX to put it: the body CMX, or the head CMX. In the first case, it will disappear when the outfit is changed, meaning, one CMX is flushed out and another loaded. In the second case, it will stick to character, because the head CMX is normally never changed. That doesn't mean that the accessory physically sticks to the body or head, and this brings me to the second meaning of attachment: which body part it sticks to and moves with. An attribute that is always meant to be part of the Sim, like a staff, is attached to the head - but physically, it is attached to whichever hand is holding it. Conversely, earrings which belong with a customized Formal dress style are attached to the body, but physically they are attached to the head - the ears, but the whole head is one "joint" - and will move when the head does. A Sims mesh has "joints": body parts that accessories can be fixed to. I won't list them here, as anyone who edits SKN files with a SKN-compatible 3D modeller will see them listed as joints. Accessories are physically attached by assigning them to these joints, and this assigning is done primarily in the CMX.

A CMX file for the head shown above would run like this:

// Character File. Copyright 1997, Maxis Inc.
version 300
0
1
C210FA_adSailV   (-> CMX name)
0
0
3         (-> 3 meshes total)
HEAD      (-> attached to head joint; like the other two)
xskin-C210FA_adSailV-HEAD-HEAD  (-> the head mesh)
0
0
HEAD
xskin-C210FA_adSailV-HEAD-BOW  (-> the bow in her hair)
0
0
HEAD
xskin-C210FA_adSailV-HEAD-SPECS  (-> the trademark anime-heroine "mask")
0
0
0

The example above is a logical reconstruction of a CMX for three files, a head and two accessories (where the accessories follow the naming conventions, though they don't have to), fixing the accessories to the Sim permanently. The example below shows head accessories (hair and hairclip) being attached to the body, where the CMX file's identifier, "_bktail", distinguishes this CMX from the standard "B300MASkn_01.cmx" which contains no accessories.

// Character File. Copyright 1997, Maxis Inc.
version 300
0
1
b300maskn_BKtail
0
0
3
PELVIS
xskin-b300maskn_01-PELVIS-BODY
0
0
HEAD
xskin-BKtail
0
0
HEAD
xskin-BKstar
0
0
0

To lock this hair permanently to the head, this CMX must be replaced in the bodystring by the standard "B300MASkn_01" and the head CMX "CAG0MA_BK.cmx", which contains no accessories, by this one, "CAG0MA_BKtail.cmx":

// Character File. Copyright 1997, Maxis Inc.
version 300
0
1
CAG0MA_BKtail
0
0
3
HEAD
xskin-CAG0MA_BK-HEAD-HEAD
0
0
HEAD
xskin-BKtail
0
0
HEAD
xskin-BKstar
0
0
0

To make matters more complicated still, although the hair mesh is physically attached to the head, parts of it are attached to the shoulder and back to make it move with the body. In the CMX, the accessory is only assigned a "starting point"; individual vertices of the accessory mesh can be assigned to other joints. Fortunately, that is taken care of within the mesh itself.

Something to keep in mind is that all accessories in the head CMX show up in the character's "face" icon, in a rather rucked-up way if the joint they're assigned to is not the head joint. From HD onwards, the "face" icon is created in a different and more crash-sensitive way; if the accessories are too big, the game crashes on the making of the icon. In that case, the accessories are best added to the body CMX. (Which is what I've had to do with a JunJun skin, see the Skins and meshes page, right at the bottom).

Duplicates and renaming

The strict naming conventions have one major disadvantage: the need for duplicates. For instance, I have one BMP file for Katze's head. It is the same for the male and female Katze, only the mesh differs slightly. Nevertheless, I have to copy it and name one copy with "M" and one with "F", or one of the two Katze forms doesn't have a head. And these two files are identical. (Note: it is possible to use "U" in CMX filenames for unisex meshes, and in BMP names for unisex textures. This works for bodies, I haven't tried it with heads.)

The same applies to bodies. Female Katze's jumpsuit shows practically no skin, yet if I wanted to put it on a dark-skinned Sim, I would have to make a copy where the "lgt" in the filename is changed to "drk".

Sometimes, a skin is renamed only to connect it to a different mesh. In BodyWarp, I can load skin "C001MAlgt_BK.bmp" on mesh "xskin-CAG0MA_BK-HEAD-HEAD.skn". Not so inside The Sims. Both filenames had better contain "CAG0", or there's no saying what head the character will get. What if I think that skin looks cool on a C001 mesh too? Then I need to make a separate copy of the skin and change "CAG0" back to "C001".

A lot of duplicating and renaming goes on to use the same skin for a different dress style, or to change pre-HD clothing "sets" to post-HD ones (and how to do this is explained in Customizing dress styles). Would that cocktail dress make a sexy nightie? Maybe, but it won't happen unless its name is altered to start with "Pajama" or "L". And as a "B" mesh can't be combined with an "L" bitmap, if there is no suitable existing "L" mesh, the mesh may have to be copied and renamed too. (Actually, a quick'n'dirty solution is to write an "L" CMX pointing to a "B" mesh, but they don't do quick'n'dirty at Maxis - at least not always. ^_^ And I've found there can be problems if the CMX and mesh name's mesh codes don't match.)

The worst example of duplication - and this is probably why the Swimsuit pack is no longer officially up for download - is the children's swimsuit meshes. The old child nude mesh type is "Nuchd", the "u" indicating that it is used for both sexes. This mesh is also used for swimsuits, thereby obliging both sexes to have the same skintight no-frill basic swimsuit models. To get round this, the B300mcchd and B300fcchd meshes were made. However, these are simply duplicates of the nude mesh, not differently shaped meshes. And the also included B300ucchd mesh was again a copy of the nude mesh - that makes four times the same mesh. Now it may be necessary to change a mesh name because of the way outfits appear in the wardrobe: "U" outfits appear for both boys and girls (I haven't tested if this works for adults, but they have very few "U" meshes), "M" outfits only appear for boys and "F" only for girls. But if you've named a frilly bathing suit "B300Fcchdlgt_frills.bmp" to avoid ever having it appear on a boySim, you need a B300Fc CMX file to go with that, because the game won't accept a B300Uc CMX with an M/F skin (actually I'm not sure that's true, as the male and female nude textures both work with "nuskn.cmx"); and then it would be consistent to put M/F in the mesh name too. The B300M/Fc meshes are for gender-specific skins, the B300Uc mesh is for unisex skins. Okay, so far, I understand. But the Swimsuit pack also includes a B301ucchd mesh, which again is simply a copy of the child nude mesh, and of which I completely fail to see the use.

All this nicely fills up the harddrive and is unpleasantly confusing when trying to find a particular skin. However, I've heard that duplicate skins are fairly harmless; it's duplicate meshes that tax the system when the game is loaded.

In all, I wish the game makers had chosen a more economic naming system...

An anatomy trick

This trick I discovered when I used an accessory mesh whose name ended on "BODY"; it took its texture from a Sim's body skin, not from the skin name in its own header. It's handy for re-using accessory meshes, which normally can't change skin in the way that head and body meshes do.

At the top of this page, I've said that a mesh's naming convention is "xskin-code_identifier-anatomy.skn". The "anatomy" bit is "PELVIS-BODY" for body meshes and "HEAD-HEAD" for head meshes. The bit before the hyphen is the main "joint" the mesh is attached to. A head only has one joint, but a body accessory may be attached to R_HAND or NECK. The joint also decides whether a mesh will appear in the Sim's face icon; if it's not assigned to HEAD, it won't, and if it is assigned to HEAD but won't fit in the icon (this is a problem in higher expansion packs, which can't deal with certain head meshes) the game crashes. The "PELVIS" bit can be left out, and to make mesh names fit within the Mac maximum of 31 characters, I usually do that. As is clear from a look in the Sim's IFF bodystring, the "BODY" and "HEAD-HEAD" bits tell the game whether to texture the mesh from the head or body skin.

What this means is that if I UVmap a pair of glasses to an unused part of a head skin (top right corner, for instance), I can have one head skin with a red top right corner which has red glasses, one head skin with a green top right corner showing the same glasses in green, andsoforth. I then need only one spectacles mesh named "xskin-multispecs_01-HEAD-HEAD.skn" instead of a mesh called "xskin-redspecs_01-HEAD-SPECS.skn" with "redspecs.bmp" in the header, an identical file "xskin-greenspecs_01-HEAD-SPECS.skn" with "greenspecs.bmp" in the header andsoforth, and I don't have so many texture files lying around either.

Finding space to fit the accessory's UVmap can be a problem. That led to a second trick: the "double" head. This is a normal head mesh, whose UV map has been squashed into half its normal width. Since a UV map's coordinates are relative, not absolute, that means I can put a 128x128 normal head texture side to side with a 128x128 hair texture in a 256x128 file. Hair meshes can get quite big, and need texture files as large as that of the head itself. I can now do two things: combine the hair and head meshes into one mesh which needs a "double" texture file, or keep head and hair mesh separate, but have them both end on "HEAD-HEAD", so they will each use their half of the double texture file, but I can play mix'n'match through the CMX file.

Making a "double" body mesh in the same style leads to a texture too big for some graphics cards to handle, so for body textures that include accessories, I've either shrunk the whole body to three-quarters of its size and used the space along the edges, or - a trick I read in a forum - mapped both arms to the same space, leaving enough space for small things like hat textures.

Why meshes won't show

It sometimes happens that a mesh is invisible in the game. A Sim shows up headless. Or, there's a head and two hands, but no body. That mesh is there! If it was missing, the game would have crashed. I've found three reasons why a mesh won't show:

The mesh name, on the first line of the mesh file, ends in ".skn".

If given, the texture name, on the second line of the mesh file, ends in ".bmp".

The mesh is in "Animation.far" and being referred to by a BCF file outside "Animation.far" (if it had been a CMX file, the game would have crashed).

There's something wrong about the format and I haven't a clue what, but loading a mesh in BodyWarp and saving it solves the problem. (If BodyWarp can't load it, there's something seriously wrong with it.)

Meshes with internal format errors, like more faces than the face count says, or missing blend vertices, will show up horribly distorted. They may crash the game; I once tried to add blend vertices to a cloak before understanding the SKN format, and managed to do just that.





Back Top Next