Seeing as there is little to none about converting clothes, I decided to make this tutorial. This is a simple compilation of tips and tricks I’ve learned while converting clothes for The Sims 3 to The Sims 2 – keep in mind this is the way I do it, you are free to go about this any way you want, but I hope this helps. :)
A few things that will be covered in this tutorial:
- Converting TS3 clothing meshes to TS2
- Add morphs
- Adding groups to a file
Some things you will need:
- s3pe, which can be downloaded here: http://www.den.simlogical.com/denforum/index.php?board=19.0
- Cmar’s Meshing Toolkit: https://www.modthesims.info/download.php?t=481950
- Milkshape 1.8.5 (Note that WesH’s GEOM plug-ins: http://www.modthesims.info/showthread.php?t=357403 will not work in older versions!)
- TRWS plugins: http://www.thesimsresource.com/resources/view/category/creating-sims3-meshing/id/95/
- Possibly Delphy’s Multi-package extractor (only if you’re working with sims3packs and not .package files)
- Photoshop or any other advanced paint program.
The mesh I will be converting in this tutorial will be this one: the completely classic women’s suit from the fifth avenue set.
First download the file you need to your computer – you can either download the sets from here: http://freesims3.tumblr.com/ which is slowly uploading all the sims 3 store items (read their FAQ!), or from moreawesomethanyou in this thread: http://www.moreawesomethanyou.com/smf/index.php/topic,15100.0.html
I usually get my files from freesims3.tumblr because the files are already in .package files and I find that thread in MATY to be too disorganized (and the files are sims3packs). Once you have the file, go ahead and open it up using s3pe.
Once you're in s3pe look for the "GEOM" files - you'll notice that there's quite a few of them, but not all of them are the actual mesh. Some of them are morphs which will show up empty in milkshape without the real mesh. To tell them apart, look at the window on the right; you'll see a string of numbers and letters pop up when you click on the GEOM. Look for the GEOMs that say “Shader: 0xXXXXXXX SimSkin” – this is your mesh. There should be at least 3 GEOMs that say this (if there's more, extract those as well - they could be "chunks" of the mesh that have be separated from the mesh for some reason...)
Once you’ve found the three meshes with SimSkin, right-click or go to “Resource” -> export to file and save in a location you’ll remember.
Why are there three GEOMs? TS3 meshes are divided into three levels of detail: High, Mid and Low. We want the high detail mesh for better quality. Some store meshes are already labelled (LOD0 I believe is the high detail), but some aren't. A way to tell which extract GEOM is the high detail is to open your work folder, right-click -> Sort By -> Size. The largest file is the high detail GEOM - the rest you can delete.
*HOWEVER - in the case you had more than three GEOMs, you'll have to check in Milkshape for the missing pieces.
After you extract the GEOMs, look for a gray texture in s3pe, and export it the same way you did the GEOM. Another image file I suggest exporting is the masking layer; it usually shows up in s3pe as a red colour block. Why this one? Because it has alphas that specifically mask parts of the mesh for texturing purposes; it's a little easier to separate parts of the mesh for texturing if there's already blocks there for you to use.
Once you have all the files you need, close down s3pe and open up milkshape. Click on “File -> Import -> Q-Mesh Sims 3 GEOM Importer” and location the GEOMs you just extracted.
If you get a message saying "Unable to locate bone file Default Skeleton used", just click “Okay” and it will proceed as normal. Once the mesh is loaded, go the groups tab and rename the mesh to "group_base" - if you have multiple groups, make sure to "regroup" into one group and renaming it "group_base" before exporting - Cmar's toolkit doesn't like more than one group.
Before exporting the mesh, we need to adjust the arms so that they match up with the TS2 skeleton. Go under the “Joints” tab and check “Show Skeleton” and a blue skeleton should appear (TIP: if you're greeted by a blue blob mess, go to File-> Preferences -> Misc -> Joint Size: 0.011000).
Hit the “Anim” button at the bottom of the screen of the right side and the vertices should disappear. Hit the “Model” tab and “Select” -> Select option “Joint”. Select the shoulder joint and click on the rotate button.
Set the rotate option to “User point” and type in “45” in the “Z” box and hit the “Rotate” button.
Set the Z back to 0 (or click on it to “uncheck”), and type in "-6" or “-6.5” in the “Y” box and click rotate.
Next click on the elbow joint and type “-3.5” in the “Y” box and click rotate. Do the same for the other side, but using the numbers opposite of the above (Z = -45, Y= 6.5, 3.5); it should look something like this:
To make the new rotations stick once you click out of anim mode, go to “Animate -> RotateAll” and click okay. The skeleton will jump back to its original position, but the arms will stay in place.
Click the Anim button again to stop animation mode and then export your file as a “TSRW Object” and save it under a name you’ll easily recognize (ie: Classic Womens Suit) into your work folder.
Now we need to make a reference mesh – I would highly recommend using the Sims2Default Database (http://sims2defaults.dreamwidth.org/) as a guide when trying to match the right mesh to use a reference. You can also use custom meshes if you know the name of the mesh you’re looking. The closer to the shape of the TS3 mesh you can get, the better the assignment of bones will be. The dress I will be using as reference will be the “Suit” from the base game:
Rather than wait a billion years for bodyshop to open and clone a copy, I use SimPE's "Finder" tab -> NameMap Search and use the names from the database to look for what I need. It's faster and we really only need the GMDC mesh and nothing else at this point (if you're using a custom mesh, open it in SimPE and extract the GMDC). Once you've located your reference mesh, extracted it to the same place as your work folder and give it a descriptive name you'll remember (ie: afbodysuit-mesh or TS2 Reference mesh).
Import your reference mesh into milkshape; if you get these messages, click “yes” to both if you plan to use Cmar's toolkit to make morphs. If you plan to do your own morphs by hand, click "no" to "Create blend groups?"
Go to the groups tab and rename “body” to “group_base” and “~00MORPHMOD.1” to “group_fat” (and if the mesh has a pregnant morph “~00MORPHMOD.2” to “group_special”), and export it as a “TSRW object” file. Make sure to name it “Reference Mesh” or something that is clear so you don’t mix the meshes up.
Open up Cmar’s Mesh Toolkit and hit the “Auto Tools for WSO”; select the file you wish to modify in the first line and then your reference mesh in the second line. This will automatically assign the bones for you and it will prompt you to save the new file. Name it something that will distinct it from the old file and save.
Start a new in milkshape and import your reference mesh first as a unimesh; this will lay down the skeleton base we need, then import the new TSRW file you made with Cmar’s tool. And now we have our mesh will full bone assignments and everything; there is one problem though…
When you hit the anim button, you’ll notice that a lot of the vertices will “jump” down – Cmar’s tool has a slight kink that assigns a majority of the vertices to the “auskel”, which can mess up animations majorly. To fix this - go to the "Joints" tab and scroll up the list of joints till you find the "auskel" bone. Double click it and then rename it to anything.
Once you've done that, export it as a “Half-life SMD” (it should be the first one at the very top). Make sure you have these settings checked and click okay (name it something you’ll remember, or add “fix” on the end):
Start a new in Milkshape and import a TS2 nude body first (in this case, adult females); you can download TS2 body bases here. Click "Yes" to both pop-ups; again, this lays down the TS2 skeleton and joints as foundations. After that, import your TS3 mesh as a "Half-life SMD" and uncheck "rename bones" and hit "OK".
And volia~ The vertices should no longer be assigned the auskel bone and shouldn't jump when you hit the anim button. Now for the tedious part - fitting the mesh over the TS2 nude base. This requires a little more know-how and comfort in Milkshape and it's tools. TS3 bodies are a little different from TS2, so some scaling/moving and adjust may be required if you want to keep true to the TS2 shapes; but if you don't mind the little extra hips on females you can leave it be.
Hide the TS2 meshes (if you’ve imported the morphs as well, like I’ve done, but I will explain why I did that later), and double-click the mesh to select it. Go to the “Materials” tab and click on the “default.bmp” that will be there and replace it with the texture we extracted earlier. It will show up automatically on the mesh (and make it easier to see where the skin and cloth meet).
Now carefully delete the vertices of the skin on the TS3 mesh (arms, neckline, legs, etc) until you have something that looks like this:
Unhide the afBody and double-click to select it, hit “Ctrl+D” to duplicate it – you always want to have a back up of this, because if you mess up or the vertices don’t sit right you’ll have to re-import it again since undo can only go so far.
You'll notice that the neck on the TS3 mesh is a little higher and wider then TS2. Select the vertices around the neck and scale it/move it to fit better around the neck. Remember, the top vertices of the TS2 neck can not be moved or altered in any way, since it connects to the head and will look mis-matched if you mess with it. (For meshes like turtlenecks or high-collars, you'll just have to combine two vertices of TS3 mesh to line up with the top of the TS2 neck.)
Now is the tedious part - lining up the vertices of the two meshes together. This part is mostly guess-work and it's really up to your judgement where the best alignment is. Use the "Unimesh Vertex Data Merge" when snapping the vertices together - this will also transfer the bone weight data to the vertices, avoiding potential gaps.
(TIP: Vertex Data Merge will snap to whichever mesh is on top in the groups list: ie - Mesh A is above Mesh B in the groups list, therefore vertices of Mesh B will always snap to the vertices of Mesh A).
Another tip - if you don't want to combine vertices on the TS3 mesh (because it doesn't look great, or because you don't want to deal with mapping issues), you can use the "Divide Edge" (ctrl+p) to create a new vertex between two vertices on the TS2 mesh. However you need to be sure only two vertices are selected, or it'll complain at you (TIP: some vertices overlap on TS2 meshes, which can make it really difficult to follow that "two vertices only!!" rule; you can use the "Extended Manual Edit" to unselect the extra vertex. Open up the edit, then right-click on the vertex you don't need [again, guess work] and an "A" will pop up in the "State" row).
Finish up lining up/adjusting the arms and legs till all the gaps are closed. The end result should look something like this:
Now you can add any shoe you want - I'm just adding some simple pumps for this dress. Rename the TS3 mesh to anything you like; "dress", "Body2", etc - anything that sets it apart from the TS2 nude base. Why? Because TS3 meshes are mapped very differently from TS2 and it's much easier to give its own group than to fuss with making a new UV map. Be sure to give the mesh the appropriate comments as well, it will mess itself up or not show up at all.
And now for the morphs - if you prefer to do it by hand, simply duplicate the TS3 mesh and use the TS2 morphs as a guiding base. Be sure to give the morphs their appropriate names and comments as well. However, if you prefer to use Cmar's toolkit, you'll need to do the following.
First save what you have so far in milkshape; then delete all the TS2 groups (including the body with the shoes) till only your TS3 mesh if left. Rename it to "group_base" once again and export it as a "TSRW Object" again.
Now, remember earlier in the tutorial, when we imported the reference mesh we named it and it's morphs as such:
If you did this earlier, open up Cmar's Toolkit again, "Auto tools for WSO", "Auto-create Morphs". The first line is where you'll load your TS3 mesh; the second line is for the reference mesh. Click create morphs, it'll prompt you to save again - give it a name you'll remember (or just add "-morphs" at the end) and save.
Open up the saved Milkshape file we did earlier (it should have - your TS2 mesh + shoes, the TS2 morphs and the TS3 mesh) and then import the new morphs as a "TSRW Object" and volia~ It should have all the morphs of the reference. Sometimes you may get "black spots" on the meshes when you export a TS3 mesh; I believe it has something to do with the unimesh plugin not liking overlapping faces/vertices which, unfortunately, TS3 does a loooot. I have a tutorial here on how to work around this.
Anyways - you can delete the "group_base" since it'll be a duplicate of the TS3 mesh, give everything it's proper name and comments, delete the TS2 morphs and volia~ All done (save again for just in case). Once everything is in working order, you can finally export the mesh with the "Sims2 UniMesh Exporter". Save it the work folder with a name you'll remember (ie: 3t2-afbodyClassicSuit_MESH or so).
Now we’re ready to get this mesh into bodyshop. Open up bodyshop, pick a full-body female adult clothing, export it, name it something like “AFBase” and re-import it back into bodyshop. Close bodyshop and go to your SavedSims folder; click -> sort by date modified and it should be the first one. Cut and paste it into your work folder and open up SimPE.
Make a new file in SimPE, then click “Tools -> PJSE -> Body Mesh Tool -> Extracting Stage” and click on your new base. This will extract the things we need to make a new mesh.
Once you’ve extracted the parts, go back to “Tools -> Object Tools -> Fix Integrity” and a window will pop-up. Name it something descriptive (ie: your name-3t2-AFOutfitName); never use underscores! This step is important – if you don’t do this, it will override the original mesh! Once you’re done, hit “Save As…” and name it “MESH_YourName_3t2_AFOutfit” or however you wish, as long as you can tell what it is. Replace the “GMDC” with your new mesh and save.
Now to link this mesh to our base package; open up the base package in SimPE and click on the 3D ID Referencing File (it will take a minute or two for it to load), then click “Tools -> PJSE -> Body Mesh Tool -> Linking Stage”. You will get two pop-ups - just click "okay" for both and you're done.
In order for the file to register our new group in our mesh, we’re going to have to add it. Click on “Property Set” in the resource tree and it will bring up one file in the resource list next to it; click on that file and at the bottom, go into “plugin view” and look for “numoverrides” – change the number from “1” to “2”.
Click the next three lines underneath that and click “add”; change the number from “0” to “1” and the text “Body” to “dress” or whatever you named your extra group – do not touch anything else! Hit Commit for each file and then save. Drop your new mesh and modified file into your downloads folder and launch bodyshop.
Click on your new mesh – it will look weird because we haven’t given it the correct alpha yet, but first we need it to register the new group.
So click export it, and open up the project files in Photoshop or any other advanced paint program you use; you notice that you now have two sets of alphas and two sets of textures. One of those textures and alphas should be labeled “dress” in the title – that is where all your editing of the dress will be.
If you're using Photoshop, open the texture file we extracted and go to “Windows -> Channels”, and click on the “alpha” layer. This will bring up the alpha; select it all (ctrl+a) and copy and paste it onto our project file.
Click on “RBG” to bring up the texture, copy and paste it onto the “dress” texture file. Set that layer to “overlay” and add a new layer underneath to add colour to the texture. Merge all the layers together and save.
Do the same for the “body” texture and alpha for the shoes to show up properly, save and refresh your project in bodyshop. Check the appropriate categories (in this case, I’m doing both casual and formal wear), and the import it back into bodyshop and you’re done~
Oh - one more thing I forgot to mention; some 90% of Maxis meshes have bumpbmaps on them. What are bumpmaps? Skell explains them a bit here. But yeah - they're pretty useless (and most cards don't even support bumpmaps anyways \o/ ), so it's better to just delete them entirely and save some space. Once you've deleted the bumpmap from the file, save and you're done :)
(On a side note - some skirt animations may look wonky sometimes, but if you can live it, okay. Otherwise that requires tedious hours of adjusting the bones by hand in Milkshape with the joint menu if you want smoother animations...)