Back Previous Next

Adding male genitals



Last warning: this page contains images of anatomically almost correct nudity. But if you had a problem with that, you wouldn't be reading this page, would you?

One day while I was playing the Sims, I suddenly had enough of the nude male Sims' castrated appearance. The female Sims' barbie crotches and nipple-less breasts, and the lack of body hair generally, I could only just stand, because most of my Sim characters are anime characters and anime characters rarely have nipples or body hair. The girl bodies are fairly realistic because whatever they have down there would be hardly visible looking down on them from above. Anyway, the female Sims could easily be made more realistic by simply replacing the default nude texture, and many such replacement textures drift around the Internet. But the absence of male genitals is a bit harder to solve, and glaring enough to demand a solution when the player is well over eighteen, not shocked by the facts of life and heavily irritated by censorship. And because it is harder to solve, and I had to create my own solution because the existing solutions were not quite what I wanted, the solution is worth its own page.

To start with the existing solutions: of course I'd been looking around for more normal Sim bodies for some time now, and I'd found alternatives at Spunky's chubby Sims, OpenLea's Sims and, via SIMale, at a Yahoo group where I had to laboriously register just to prove I was of age, and keep the kind provider of these skins out of jail. Grrr, censorship... All three did not so much connect the default nude meshes to an add-on as offer new enhanced default nude meshes. SIMale had the widest selection, biggies, small'uns, erect or not, with and without scrotum, and various degrees of body hair for maximum realism. This may seem a lot of trouble to go to for one add-on, but the Sims are so small that details are easily lost, and while some players want a near-invisible "normal" add-on, others may want something big enough to clearly see. Well, I'll say. The SIMale genitals, even the non-erect ones, were huge. What's more, they had more polygons than the rest of the body mesh, and by the looks of it they were the same for Fat and Skn, and what may look right on the one doesn't have to look right on the other. OpenLea's were based on the SIMale skins, while Spunky's nudes, which did look realistic, only had a penis add-on and modelled the scrotum into the body mesh itself. I wanted to apply what I'd learned from the FABBS body type to make only an add-on which would require minimal changes to the standard game files, but which would be compatible with existing solutions so that if I wanted, I could use SIMale skins if I ever did want to create a hairy Sim. So, I wanted a low-polygon add-on whose UV map would fit on the body texture in a pre-defined place.

The general solution of existing body textures was to use either the space between the front and back of the body, or the shorter but wider space between the arms. Spunky's mesh, on the left, uses the narrow cutout on the right. The SIMale mesh, on the right, uses the wider space on the left.

The wider space seemed the better option. Now for a low-polygon mesh. Here it is: looks horribly angular in closeup, but sort of OK in the game - just like the Sims themselves. And a smaller one for the boys.

Although there are only two mesh shapes - adult and child - there are four meshes, one for each body type: Fat/Fit/Skn/Chd, because the meshes have to be placed differently to align with the Fat, Fit and Skn bodies. Fortunately I didn't have to shift them around for all the custom body types, but could use warpfiles. The MCSMA and BYT bodies get the adult add-on, because although technically they are child bodies, they have the shape of respectively adults and teens. Now, to test this in the game, without changing any textures just yet, because the nude textures are overall flesh-coloured, and for now that's good enough. I just needed to see if the shape would come out right.

And here I ran into a first problem. Custom-body nudes that had their own body mesh in Gamedata\Skins were okay. Standard-body nudes suddenly didn't have a body. They had hands and the add-on, that was all.

First I should explain what I did. A normal Fit nude CMX file looks like this:

// Character File. Copyright 1997, Maxis Inc.
version 300
0
1
nmfit_01
0
0
1
PELVIS
xskin-NMFit_01-PELVIS-BODYB
0
0
0

After inserting the add-on:

// Character File. Copyright 1997, Maxis Inc.
version 300
0
1
nmfit_01
0
0
2
PELVIS
xskin-NMFit_01-PELVIS-BODYB
0
0
PELVIS
xskin-B300mafit_penis-BODY
0
0
0

As you can see, these CMX files refer, not to some B300 swimsuit pack mesh, but to the standard nude mesh in Animation.far. And the reason why, when I put this CMX file in Gamedata\Skins, the male fit nude suddenly didn't have a body, came from the interplay of four Maxis mechanisms:

So what happens: I put a "nmfit_01.cmx" in a skins directory where it can't "see" the nude body mesh, although it can see the add-on that I put there too. This is loaded into the slot "fit male nude" and the fit male nude CMX in Animation.far is ignored. Result: the male fit nude has no body.

So now I binarize the "nmfit_01.cmx" into a BCF file, "nmfit_01.bcf", and put it and the add-on (which doesn't have to be binarized) in Gamedata\Animation and the Sim gets his body back but no add-on. That's because the CMX file didn't have exactly the same name as the file in the FAR: "nmfit_01.cmx.bcf", so it was ignored and the standard nude was loaded.

So I rename it to "nmfit_01.cmx.bcf" and that works. The add-on really has to be in Gamedata\Animation, though, so now any CMX in Gamedata\Skins or ExpansionShared\SkinsBuy can't see it. This shouldn't matter as it's a nude, but if I wanted some exceptionally saucy underwear or a "birthday suit" normal outfit, I would have to copy the add-on to Gamedata\Skins. I would also have to use a renamed version of the nude mesh, like xskin-S100MAFit_original-PELVIS-BODY.skn or the B300 swimsuit pack mesh, and maybe rename the copied add-on to indicate what mesh it goes with. (Maybe this is why the swimsuit pack came out, and also why it was retired.)

This trick works for the Fat and Fit body types because they have a male skin and CMX. The Skn type has a gender-neutral CMX and although the game will automatically use a male Skn CMX if it can find one, such a CMX will not be loaded from Gamedata\Animation because it doesn't correspond to any file in the FAR. So everything: texture, CMX, body and add-on mesh - has to go in Gamedata\Skins or it won't be loaded. Fortunately I already have an improved male Skn body mesh under the "fixed meshes" downloads. Without this body mesh, the Sim will have either no add-on or no body.

And then there are standard child bodies that have gender-neutral texture and CMX files. Here, if there is a "nu" CMX, it will be chosen in preference to a "nm" or "nf" CMX. For custom child bodies, I threw out every "nu" CMX and replaced it with a "nf/nm" pair; the game wrote the new CMXs into the children's IFF files and the body meshes were in the same directory as the CMX and textures. These were "nu" textures: one size fits both, and probably that is why the game used "nu" CMXs if it could find them. For standard child bodies, I also made a "nf" (no add-on) and "nm" (add-on) CMX, but now what? I couldn't put them in Gamedata\Skins because no body would be found, and I couldn't put them in Gamedata\Animation because they didn't correspond with any filename in the FAR file. The only possibility was putting the B300 child mesh in Gamedata\Skins and referring to that in the CMXs.

Oh, the fun I had trying all the combinations.

Standard body types that need the nude body mesh from Animation.far run into another problem in pre-HD installations. Here, the swimsuit body is not in the Skins or SkinsBuy directory; it is the nude mesh/CMX with another texture. If I use NM[bodytype]_01.cmx.bcf for both, the add-on will appear over the underwear. If I make a separate UM[bodytype]_01.cmx.bcf for the nude mesh without add-on, if put in Gamedata\Animation it will not be loaded, and if put in Gamedata\Skins there won't be a body. So I'll have to extract the nude mesh into Gamedata\Skins, or use the B300 swimsuit mesh (same mesh, different name), make the UM CMX refer to that mesh, and edit the bodystring of every male Sim in the game. Which won't be as many since pre-HD games don't generate slews of NPCs for Downtown and other HD+ locations. The bodystring of a pre-HD Sim won't change unless I change that Sim's outfit, meaning, not from normal clothes to pyamas, but from one normal outfit to another, in which case I have to edit that Sim again.

Custom body types have their own nude meshes in Gamedata\Skins and have nothing to do with Gamedata\Animation. They still have the pre-HD swimsuit issue, though. But since their nude meshes are already in Gamedata\Skins, I just have to add the UM CMXs and write these into all male Sims' IFF files. In short, enhancing male Sims in a pre-HD installation is a pain in the butt.

And that's the meshes sorted out! This is what they look like in the game with default textures:

Just as I wanted it: a near-invisible "normal" add-on, with the clean lines and hairlessness typical of anime characters. To make it a bit less invisible and accentuate its clean lines, I added the following, heavily shaded graphic in three skin colour shades to the default nude skins, which, for consistency, I put in Gamedata/Textures for the standard skins (to be loaded instead of the texture in the FAR) and in Gamedata/Skins for the custom nudes.

Looks cartoonish, doesn't it? That's fitting, it's for cartoon characters. It won't look half as cartoonish in the game; the shading will give the add-on an outline, that's all. Anyone who doesn't like the shading could replace this graphic with the more natural one from the SIMale example texture at the top of the page. They're roughly the same shape, so the add-on will roughly work with the SIMale textures.

By way of example, that was the dark child texture: "NUChddrk_01.bmp". Why not "NMChddrk_01.bmp"? Because this added graphic won't show up on the body mesh. Only the add-on mesh is mapped to it. Instead of a penis I could draw a miniature Mickey Mouse, that too wouldn't show up on the body mesh. So it's OK to use this texture both for girls, who have an "F" CMX and "U" in the mesh and texture names, and for boys, who have "M" in the CMX name and "U" in mesh and texture. A "male" CMX referring to a neutral body mesh and combined with a neutral texture: it's possible. And it means less duplicate files.

In fact, I can replace all nude skins in the male custom body FARs with skins that have this graphic added. Then I can put up the add-ons as separate downloads and let the downloader decide where he/she wants every male Sim to have a willy. (Some male Sims don't. The Ai no Kusabi character "Katze", of which I downloaded a Sim skin, is a eunuch. If he was the only male Sim in my game, the standard male nudes would be perfect.) Without the add-on, the added graphic will never show up.

But in adding graphics to nude textures, I ran into a second problem. It's most obvious in the male texture, especially if something like body hair is added to accentuate vertical lines:

Can we say "off kilter"? The whole front from collarbone to toes is shifted to the right, with one nipple wrapped round the corner. The add-on makes it more obvious, but if I look in Milkshape, which shows how the texture is mapped on the mesh, I clearly see that the front is off-centre, and so, to a lesser extent, is the back.

Now standard Sim skins do have a chronic asymmetry problem. Female nude skins are more or less symmetrical to the pelvis and then warp to the right, leaving their collarbones as displaced as that of the males. Child skins have the same warp, but less pronounced. The adult male skins, however, are completely displaced, so that moving the whole texture one or two pixels to the side would solve the problem. This asymmetry doesn't really show in the game and is only disturbing when offset by something that is properly centered, so there's no need to edit anything but the adult male nude skins. So I made a template to divide the texture into: arms (stay where they are); back (one pixel to the right); front (two pixels to the right); and edited all standard adult male nude textures before adding the graphic. The one-pixel-wide lines between the areas that were moved, were filled with the default colour that surrounds the arms bit of the texture file. Even without the add-on, the improvement is obvious. Even the toes look more balanced.

And now, two examples with add-on:

But what does it look like in the game? Slightly better than before, but expect no miracles:

Nothing to write home about, eh? But they don't look castrated any more, and that was the point of the exercise.

A third problem is that the add-on is attached to the pelvis, whereas the Sim body's crotch is mostly part of the pelvis, but attached to the upper legs through blend vertices. As I can't attach something that is centered to either leg and certainly not to both legs at the same time, any animation that moves the upper legs into extreme positions leaves the add-on horribly displaced, perched on the belly or even slipping to the side. But there's nothing I can do about that, other than ignore it.

That was my personal solution to the problem of adding male genitals. Now for the downloads.

The standard Fat/Fit download should be unzipped to Gamedata\Animation. The standard Skn download should be unzipped to Gamedata\Skins along with the skinny swimsuit replacements if they hadn't been downloaded before (for HD+ installations, there are also buyable skinny swimsuit replacements). Copy the skinny swimsuits replacements to Gamedata\Skins first, and then the Skn download, so that "nmskn_01.cmx" is overwritten.

All files in the standard Chd download should go in Gamedata\Skins, where they may overwrite a swimsuit skin, if the swimsuit pack is already installed. Not that it matters, it's the same file.

Mac users may have to shrink or hash the filenames of the child and male skinny swimsuit files. I recommend hashing them with Namer.

For the custom downloads, unzip the CMX and add-on files into the directory where the custom body's nude FAR files are; generally, in Gamedata/Skins. The custom downloads are: custom kids (the custom G-Force/Jinpei body types); frequently used custom body types (ATN, ATL, BBS, SUM, SMA, BYT); all other custom body types (this one contains many files).

The custom body types don't need textures as these are already in the custom FAR files, at least in the versions put up on 31-07-2008. The replacements for the standard textures can be downloaded here and should be unzipped into Gamedata\Textures.

There are no downloads to deal with the pre-HD swimsuit issue. For standard body types, the simplest solution, which doesn't require the swimsuit pack, is extracting the nudes from Animation.far to Gamedata\Skins, making copies of the original nude CMXs, renaming them from "NM[...]" to "UM[...]" and editing male Sims' IFFs. Anyone who feels comfortable using custom body types probably knows enough about how the game works to hack the custom nude CMXs themselves.





Back Previous Next