Experimenting with Replacing the Default Sims 2 Face Mesh
So, after uh, whew, months(!) of experimenting with attempting to change the default face mesh in Sims 2, I’m here to basically share what I’ve found to be possible, what I still am struggling to get working, and what parts of my findings are still useful for a LOT of modding and custom content purposes, even if I couldn’t achieve my initial goal. I’m really tired of this project and I’d rather move on to doing stuff that are more doable (and more quickly doable) for my gameplay goals, rather than trying to do what seems to be a gargantuan task for my level of skills.
In this post I’ll mostly focus on what is doable *in principle*. There’s lots of subtleties and tricks in getting things to look decent (well, at least I think I got it to look decent) which I won’t go into. Or try not to. I go into tangents a lot.
I’ll also not go into step-by-step details. Mostly because I suck at it but also because this post will be super long anyway. If you wanna know, ask!
For those who just want a brief summary:
What I could get to work: a default replacement face mesh, with working templates and sliders, for adult sims. Though the procedures are the same for the rest of the ages.
What I still have trouble with: Basically, getting the game to recognize different parts of the face. This means applying the templates to different parts of the mesh, and, of course, genetics, don’t work yet. I have ideas about what could get it to work, but I’ve failed to do it so far.
Awesome things you could still do: My major finding here is that face animations can be applied to *any* CAS object. Clothing, accessories, and of course, nude skins (see below, this was an outfit with a bit that changes with eyes, proof of concept). This means that you can have specific sims with additional face parts and/or accessories and clothing that respond to face animations, or alternatively, you can have skin tones/body morphs that have face pieces which will not mix together between the parents, but are still heritable (with some limitations)
Oh, and full disclosure, the tools I used were simPE and blender 2.9. Nothing else. Don’t know how to do other stuff.
Thank you @simnopke , @rudhira , @withlovefromsimtown and many others for your help and encouragement in all this! I think there’s potential for some really good modding here.
Part 1: How it all started
I want a lot of Aliens in my game, with varying anatomies and such. Which brought me to this lovely tutorial on modthesims. When I extracted all the meshes related to the skintone, among the other meshes, the face mesh was included. Out of curiosity, I imported the adult female face into blender. And of course it had 26 morphs corresponding to all the face movements required for animating sims’ faces. Here she is, in blender! I made her wink at you
notice how this expression was made by combining different face morphs (look at the highlights). That’s how all face animations work in the game.
The first thing I tried to do was fixing the most annoying feature of the sims 2 face UVs: the neck overlap. As you can see, the default face has parts of the neck overlap, which sucks if you want the neck to have different colors at the front and back (important for aliens!)
needless to say, I fixed it, and it worked! With that information in hand, I begans trying to make a custom mesh. First thing I did (which is something many have tried before), was to see if a third eye would work. And of course it does. Here’s the ugly third eye proof of concept.
Part 2: What I could do
after this, I began to make an entire new mesh. I kept the scalp and neck boundaries the same (though if you wanna make custom morphs and custom hairs with their own scalp mesh, it’s not necessary to work under these restrictions. But I was NOT interested in that). I also tried, painfully, to make the new face UV to work with the original Maxis textures.
The most difficult part of getting it to work was the fact that each vertex can be affected by no more than 4 morphs, which created a LOT of finicky errors, and of course certain animations are such that they create restrictions on the mesh in certain parts of the face. I went through many iterations, starting from scratch at least 3 times. This is the final version, compared to the original side-by side.
This is how it looks in CAS. What mattered most for me was getting the pupils to change size (which they do!) and get the eye ball and iris to NOT stretch during expressions (which they don’t!)
after I got this to work, I tried to make some weird aliens. You see one at the start of this post.
(She has 3 eyes and they close and open radially). After this, I replaced all the templates. The files all located at Sims2/TSData/Res/Sims3D/CASFace.package.
I’ve highlighted some of the templates (all afArch*** ones need to be replaced. the LOD15 are for lower levels of detail. If you love doubling the amount of work, go ahead!). It’s also important to keep in mind that different templates have different subset names, and some have the teeth mesh separated while others don’t. So be careful to name things correctly and follow the same patters as the game files. I personally didn’t replace the teeth specifically because it was too much work. Another important point is that the way the different face templates morph into one another seamlessly is through the position of the vertices in the UV map. This means that if you have overlapping vertices, you’ll get reversed or otherwise weirdly moving vertices when changing templates. So keep all vertices in different places in the UV map. And of course use the same UV map for the different templates.
Changing the templates was successful (there are some mistakes with eyelashes that I fixed later but I don’t have footage for everything lol):
Lastly, there’s also the sliders. For sliders, you extract the GMDC files with the uuMod prefix (located in the same place) and default-replace them.
In short, if you have the patience to fiddle with 26 face morphs, 28 or so templates, and 59 sliders (Oh yeah), then you can get as far as I did! Which is not very far! But it’s something. And of course blender makes things easier than they sound here. Surface deform modifier is your friend.
Part 3: What I haven’t gotten to work yet
If you plunge into the depths of the game files as I did, you’ll see that in the same package file, there are some GMDC files with the uuMask prefix. Some are meshes for common accessories. But others are fragments of the face mesh. I suspect this is how the game “knows” which parts of the mesh correspond to what parts of the face, which I believe is important for genetics (because different parts of the face need to get combined differently from different parents) and for applying templates to specific parts of the face in CAS (probably the same parts defined for genetics). Here’s one example for the eyes:
There also seems to be an “Up”, “Down” and unlabeled version of each face part, some slightly differently named files having the same mesh, and there’s also some versions that have the cuMask prefix (child, unisex), but oddly, they seem to be adult female face mesh parts. I have tried replacing both with my version of the face parts, and I couldn’t get it to work. Of course, I could’ve made mistakes and opportunities for mistakes are plenty. I also didn’t have the energy to do all this for other ages (especially given that it might not work anyway), and who knows, maybe the conversion for all ages is needed to get it to work. But for now I’ll just move on.