Complete Start To Finish Hair Making Tutorial
INTRODUCTION
I've been wanting to make sims 2 hairs for a long time but I wasn't able to find a complete hair meshing tutorial on any of the sites, forums, social medias that involved sims 2 meshing community. They were either in pieces, incomplete, or just plain outdated. Which made this whole journey of discovering sims 2 hair creation all about learning the tools and the hows and whys behind all the needed steps.
The
dificulty of this tutorial is, I would say
medium. It's not for the mere beginners completely as it might confuse them because of the lot of the terms used and the sheer length of it, but then it might help a beginner because it's organized and in-depth, includes a lot of details behind steps which are usually glossed over or outdated in the other tutorials.
For the
image explanations I recommend opening
spoiler tags. Because of the sheer amounts of details and info, there are a lot of screenshot explanations. I also apologize for the S4S (sims 4 studio) icon on sims 2 packages.
And with that, here is my in-depth Sims 2 hair making tutorials, step by step:
NEEDED PROGRAMS
-SimPE:
https://sourceforge.net/projects/simpe/ (be sure to install additional software to run it like .NET 2.0 and rest of the proprietary programs)
-Nvidia DDS utilities:
https://developer.nvidia.com/legacy-texture-tools
-Milkshape 3D: This one is paid software. You can find it here
http://www.milkshape3d.com/
-Actual 'The Sims 2' Game
OPTIONAL PROGRAMS
-Blender 3D (up to version 2.79):
https://download.blender.org/release/
This program should make it much easier to make models and assign joints, even though milkshape is mandatory for re-export (find the 2.79 version at the bottom of the page).
-Blender 3D GMDC Plugins from MTS:
http://modthesims.info/d/612164/upd...ender-2-79.html
This speaks for itself, but even though it exports the joints it does not export weighs and normals properly so milkshape is needed for re-export (read how to install the plugin to blender on the plugins download page).
-Sims 2 Heads Examples:
http://www.modthesims.info/article.php?t=135300
These are to make your hair meshing easier and allow you to fit it to heads of all ages.
-Pre-exported meshes for hair making:
http://modthesims.info/showpost.php...457&postcount=9
These are premade mesh resources posted in this thread by
simmer22. Ones are for hair meshing the other ones are for animations.
CLONING STAGE
For the cloning of hair, first thing to do is to decide on what type of
alpha group you need. For layering alpha there is a lot of different precoded 'types' of alpha that you will use based on what model you envisioned for your hair. For one layer of alpha there's always two
alpha groups SimPE reads. One is the normal
alpha faces the other ones are
alpha backfaces, which naturally doubles your alpha part poly count.
That is why this part of hair creation is the most important one. You both have to choose a hair that has the
number of alpha groups you need and you also have to appropriate your models alpha layering to the number of those groups. There is a way to change the group numbers but it's a bit of a hassle. If you want to do that and have a hard time, go ahead, I recommend this tutorial:
http://www.modthesims.info/article.php?t=213184
But if you want to do it the normal way, read on.
The easiest way to see the number of alpha groups on base game hairs is an
MTS repository thread on different types of hairs you can find here:
http://modthesims.info/t/149677
It includes all ages and different numbers of alpha groups.
Now that you've chosen a hair to clone, you can get down to cloning the package. The way to do this is via
The Sims 2 Bodyshop. Once the bodyshop is open, under
Create Parts, choose
Start New Project an then
Create Genetics and then go to
hair section and choose the hair you've chosen and the hair color you want exported. Then choose to
export it (small folder icon with an arrow going out of it). Name your new export and confirm. It will be exported in the form of a project. This method is used for retexturing a hair that already has a fixed mesh but that's not what we are doing here.
For creation of hair that includes a completely new mesh, you will want to
import it back in the game. After the hair has been exported there is a menu that allows you to import it back in the game. Once you do it (click on a button that says import, a small icon of a folder with arrow going into it), your
texture package is saved by the name you gave it on export in
SavedSims folder in the games data files, usually found in
My Documents> EA Games> The Sims 2> Saved Sims or
My Documents> EA Games> The Sims 2 Ultimate Collection> SavedSims (if you have Ultimate Collection). Now you can close the Bodyshop. For the sake of making it easy for you, it would be good to move your
texture package from
SavedSims folder to an easily accessible folder on desktop, like for example "
Hair Project" folder. That way you can easily access all your project files.
However, this is only the
texture package that game reads as the main package. To change a mesh you will need to form a
mesh package and link the texture package to it so that the hair would appear properly in the game.
Now we can carry on to
Extracting Stage.
EXTRACTING STAGE
To import a custom mesh hair in the game, you will need a
mesh package. To do this you will use
SimPE.
Open
SimPE and create a
new package from the dropdown
File menu or on the topmost toolbar line. Save it in your project folder (
NOT the Projects Folder in Sims 2 documents, but the one you made on desktop for this project). Give it any name you want to and then save it (click
save under the same
File menu, or on the same toolbar line).
Now the extracting stage of the mesh files can begin. To do this go to
Tools menu, then choose
PJSE, then
Body Mesh Tool and then
Extracting Stage.
This will open up a selection window where you have to either type in the name of the in-game file of the
texture package you want to clone the linked mesh from. But you want to clone a mesh from your existing, bodyshop cloned
texture package. There is a
Browse button below. Click it. This will allow you to browse for and choose your cloned package. Select it, click yes on a popup that tells you that you are
importing multiple mesh resources, and it will import all the meshes for all the ages that the
texture package you cloned is linked to.
Once all the resources have been extracted and imported into your new
mesh package file, you need to
fix their integrity which means, changing the name of each resource so that it's referenced and connected properly, and to do this go to
Tools again, then
Object Tools, then
Fix Integrity. Choose a name that will be added upon current resource names (make it a bit random but recogniseable, eg. add your creator name and the name of the package), click the little
update button and then OK. After this save the
mesh package file and then, for proper
linking you need to delete all the resources for the other ages except for your desired one (eg. you only want this package to be adult mesh package so you delete all the other resources except the ones that start with
af or
am, which stands for adult female/male). To do this,
select all the resources you want to delete with either
Shift+Click or
Ctrl+Click and then
Rightclick and select
Delete. This is
NECESSARY because when it comes to the linking stage, you can only link a
texture package to a
mesh package that includes only one age. Save the
mesh package once more.
Now we can get to the
Meshing Stage.
MESHING STAGE
So there is not a lot to say about meshing because it's expected that you have some degree of
meshing knowledge. If you don't, before even attempting to mesh anything for the game, you should watch or follow some of the tutorials on your chosen 3D programs online and practice untill you are confident in your skills.
Now if that is out of the way, we can start talking about the files necessary. The file that you will need, which has the base mesh, mesh groups and the joints is
GMDC file, short for
Geometric Data Container.
To export this resource and import it in your 3D modeling program, just
right click on it and then select
Extract. You should place it in your hair project folder so it's easier to access because you will probably be making changes to it often, which means exporting and reimporting.
Currently there is only two programs that support this but if you are meshing and assigning bones in
Blender 3D, you still NEED
milkshape3D for re-export because it fixes underweigh bones and other unknown stuff that blender plugin does not support.
To import a
GMDC file in
blender you go to
File at the top, then on the dropdown list you choose
Import and then
Sims 2 GMDC (.5gd). It's the same for exporting, but instead of
Import menu, you choose
Export.
In
milkshape it's also
File then
Import and then you have to scroll down untill you reach an option called
Sims 2 UniMesh Import V4.09. Again, same method is used for exporting the
GMDC file from milkshape but including
Export option instead of
Import and having an option called
Sims 2 UniMesh Export V4.09.
What is important to remember is to
TICK OFF Auto Smooth option under
Groups tab in milkshape before importing GMDC file in the program.
For meshing, you should get familiarized with
alpha groups and see how they work on EA hair that you've exported. Each group has it's second group that's for backfaces of that alpha group. For example
hair_alpha5 group has
hair_alpha3 group for it's backfaces. These (backface groups) should always be meshed if you are meshing alpha parts. This MTS thread/tutorial has some info on those:
http://www.modthesims.info/showthread.php?t=139819
If you are
regrouping more than one group in milkshape (select the faces you want in new group and click regroup), you also need to change
comments to what they were originally and
rename the new group accordingly to what it was named on EA's mesh.
After meshing, UV mapping, bone assigning and regrouping is done you can
export the edited GMDC with your 3D modeling programs export option. (export as GDMC in
blender or as UniMesh in
milkshape).
If you exported the file with blender, you will need to
import it into milkshape. If there is a popup saying that it needs to fix weighs that do not weigh 100%, click YES. If it does not show up, go to
Vertex menu on the top and find
Sims 2 UniMesh Fix Underweighted Bones V4.09 option. After that is done,
export the file trough milkshape.
You now have your edited GMDC file ready for import into mesh package, but first we need to take care of the
Linking Stage.
LINKING STAGE
For now we've worked with two packages, one being the
texture package and another one being the
mesh package. The way the game reads these is, it reads the texture package and then mesh package, so the texture one is the main one that handles ages, genetics, hair colors, eyebrow colors etc etc. Mesh is just there to be displayed as geometry after all this info is acquired by the game.
For this to work properly, you need to
link the
texture package to the appropriate
mesh package. This is done via
3D ID resources in the
texture package file.
Each 3D ID resource corresponds to one and only one
age group. This allows different meshes per age group. For that reason our
mesh package NEEDED to have only one age group resource of the same type.
Open up the
texture package with SimPE. To find out what age group the
3D ID resource corresponds to, you do not look into 3D ID resources directly. Where you need to look at are
names of the
Property Set resources and their
instances. Each property resource
name will have one of these in them:
-
pu (
pf/pm) - toddler (universal, female or male)
-
cu (
cf/cm) - child (universal, female or male)
-
tf(
tm) - teenage (female/male)
-
af(
am) - adult (female/male)
-
yf(
ym) - young adult (female/male)
-
ef(
em) - elder (female/male)
If there is
more than one af/am named property sets, some of them are either young adult or elder resources, but this does not matter as all three of them can easily be linked to the same mesh without problem.
Once you decide what ages you want to link to what mesh, you need to remember the
instance number of the property set and match it to the
instance number of the 3D ID resource. Once you find the 3D ID resource with matching
instance number, select it and then go to
Tools,
PJSE,
Body Mesh Tool and then choose
Linking Stage. Now this is where things go just a tad bit complicated.
You will get a
popup warning that will tell you that you won't be able to save your previous work after the linking is done and that you should save your work before you attempt this. You made no changes to the actual package, so in this context this is not really that important. You can just click OK.
Now you will be presented with a window where you get to
chose a mesh package file to which you want to
link your 3D ID resource. Select the
mesh package saved in your hair project folder and click OK. Once that is done, there will be yet
another popup, however this one is IMPORTANT. In order for changes to be committed, you need to, WITHOUT clicking on that
commit button in the corner,
select another 3D ID resource in the list. Once that is done,
save and your
texture package is now linked to your
mesh package for a sim age of your choice. Rest of the ages in the
texture package can be either deleted if you don't want them showing up in the game, or you could link them as well to other corresponding mesh packages that fit them. Or perhaps you can just leave them connected to EA mesh packages.
If you want more texture colors for your hair, you will need to link
MULTIPLE texture packages to your
mesh package (as much as the number of haircolors you want).
Adult, young adult and elder 3D ID resources are most commonly linked to the
same mesh package because they have the same bone structure and same face/body mesh, so the hair will fit all of them.
Now that you've prepared both packages, you can start the
Replacing Stage.
REPLACING STAGE
Now that both packages are ready and linked, it's time to start replacing your resources.
First, is the
GMDC file you edited and exported via blender/milkshape. This one should replace the GMDC file in
mesh package. So open your
mesh package in
SimPE and select the present GMDC file in it.
Do not replace the resource just yet. For this to work you need to
select the name of the file down in the plugin view, and
copy it. This is important because of the
fix integrity step you did previously. The import of new GMDC resource will change it's name so we need old name to be restored after the replacing.
Now that you copied or saved the old name, you can
right-click the resource in the resource list and select
Replace, then find your edited GMDC file in your hair project folder and open it. Now that the resource has been replaced, you need to
paste the name of the previous resource you copied into the new GMDC's filename in plugin view, click on
fix tgi and then
Commit. Finally save your
mesh package.
Now you can replace the textures in the
texture package. Open up the
texture package in
SimPE and under
Texture Image (TXTR) resources there should be multiple image files. Find the ones that matches sim age that your hair uses. This is a bit tricky because there's no names involved this time so you need to understand
what texture corresponds to what age. The adult and young adult texture will always be same in shape to the elder texture, which will always be black and white. Toddler hair textures are almost always simple. Sometimes teenage and child textures will be the same as adult texture, other times they will be their own thing, so take care when deciding what texture you want to replace.
Now to replace a texture you need
NvidiaDDS tools. It's not necessary to only install them, but they also have to be linked to SimPE.
To do this go to
Extra in the top, then
Preferences and under
System Folders there should be a field with text
Nvidia DDS Tool Folder. Click
Browse next to the text field and select the path to where Nvidia DDS tools are installed, then press OK.
Finally you can replace your desired texture.
Select the img file you want and then in plugin view, in texture preview, you will see the current hair texture.
Right click on it and find option called
Build DXT. Click it. Now here you will be prompted to choose the compression level, sharpening, the overall filter during the import and the texture file you want to import.
Set compression level to either
DXT3 or
DXT5, sharpening to
None, do not check any filter and then click
Open Image to open and import the texture you made. After that click
Build and it should bring you back to SimPE. Click
Commit and
save. You can delete the rest of the ages textures or leave them if you want to make your hair for more ages.
Now that the replacing part is done, the new hair should work in the game.
If it is not, you either made a mistake in these steps or your
SimPE is 'corrupted', by which I mean it just won't work. I've had this happen to me before I reinstalled my system and I have no idea what caused it. However, all of the steps above, under normal conditions, should import your hair properly in the game, given that you did 3D Modeling and Bone Assigning part correctly. Bone assigning is a bit harder part of all of this so I have some tips and visual presentations about it incoming in the next post.