More Awesome Than You!

TS2: Burnination => Peasantry => Topic started by: kiki on 2009 March 14, 05:08:38



Title: TUTORIAL: Separating Meshes
Post by: kiki on 2009 March 14, 05:08:38
This tute isn't for clothing creating beginners - it's an intermediate thing. I've attempted to make it as idiot-proofed and simple as possible, but it does require that you know what you're doing to a certain extent because I'm not going to go into how to modify meshes in minute detail once in milkshape - there are tutes all over MTS2 for that. Due to sheer length, this tute will cover multiple posts - that can't be helped.

Required Progams:

- Bodyshop
- SimPE
- Milkshape 3D (iz payfile, but PIRATE CAT DOES NOT PAY FOR DOWNLOADS!)
- A UV mapping program, such as UV Mapper (if you're using a newer EP mesh only, as they have parts all over the place and you WILL need to adjust the UV mapping).
- A shooping program (I use Photoshop CS3)

Note: You CAN use Wings 3D or Blender for these things, but I don't use them personally so this tute is written with what I use - which is an arred copy of Milkshape. If you want to try using other programs go right ahead, but if you run into problems I won't be able to help you with it because I don't know how to use them.

-----------------------------

Part 1: Yarrrr, drop yer anchor!

First thing you need to do is create yourself a base game "dummy" mesh. It has to be something from the base game to ensure that anyone would be able to use it, regardless of EPs or SPs they have. This cuts down on whinging and also it makes things easier for you (the further you get through the EPs and SPs, the more complicated UV maps have gotten).

In this tute, we're going to be taking a top half off a full clothing mesh, so the "dummy" mesh we need to make as a base for our finished mesh needs to be a base game top. Because bodyshop + SimPE open at once = death to ramz no matter how much you have (my laptop has 4 gb of ram and even I struggle with both open) I'm going to do the bodyshop ground-work all at once to make things faster.

In bodyshop, go into the create section, start a new project and into clothing to choose a base game top as the "dummy". It doesn't matter which base game top you use (personally I like to use one that is bright and stands out to me amongst my other CC), provided that it matches the age group and sex that you want the finished mesh to fit (no using male teen if it's an adult fem mesh, for example). Choose a top, export the textures and name it something obvious like "BASE_DUMMY_TOP" so that you can find it easily. Don't change the category it appears in (because only everyday has tops and bottoms), give it an appropriate tool tip. Import it into the game, where you will see it available under everyday tops with a CC star on it.

(http://i66.photobucket.com/albums/h260/lumare/ts2tute/TS2BodyShop2009-03-1414-21-19-57.png)

(http://i66.photobucket.com/albums/h260/lumare/ts2tute/TS2BodyShop2009-03-1414-23-30-35.png)

Now choose an appropriate full body outfit that you'd like to separate into a top. Because our dummy is from the base game, you can now pick a full body outfit from ANY EP or SP. I'm going to use this full body outfit from the TS2Store. Repeat the same thing from the base game top (extract the texture, import back into the game with an obvious name). As with the base game "dummy" mesh, it will appear in your everyday full body outfits with a CC star.

(http://i66.photobucket.com/albums/h260/lumare/ts2tute/TS2BodyShop2009-03-1414-33-59-64.png)

(http://i66.photobucket.com/albums/h260/lumare/ts2tute/TS2BodyShop2009-03-1414-34-53-53.png)


Title: Re: TUTORIAL: Separating Meshes
Post by: kiki on 2009 March 14, 05:12:28
Part 2: We can rebuild it...We can make it better...

Meshes won't appear properly in bodyshop unless they're linked to a recolour. This was the point of our "dummy" top in bodyshop, to make a disposable starter recolour for the mesh we need to now build. Fire up SimPE and go into your saved sims folder (NOT your projects folder) to open up your base game dummy.

In the resources list, you'll see a file of the type GZPS. The first half of that file name is the name of the base game mesh you will use to build up your own mesh. In this instance, our base mesh we'll be building from will be "aftoptuckedwaist". Now we need to build a mesh that will stand alone as a base game mesh without replacing that original mesh, but that will link to our anchor recolour we just made in bodyshop.

(http://i66.photobucket.com/albums/h260/lumare/ts2tute/Untitled-4.png)

(http://i66.photobucket.com/albums/h260/lumare/ts2tute/Untitled-6.png)

On the side in SimPE, we need to do a namemap search for our base game mesh, aftoptuckedwaist. When you hit the search bar, about 100 years will pass while SimPE goes through all your game files to find every instance of this. It's a bit of a pain in the ass, because we only need 4 files, but meh - whatever. The 4 files that we need contain the following:

- GMDC
- GMND
- SHPE
- CRES

You can see those in the screenshot below here, these are the nuts and bolts of a mesh file. YOU DO NOT WANT the LOD15 file. These are the low-end graphics files. They are BAD, and deserve to get the hose. Double-click on each of those files in the side-search to open them up, then extract them and save them into a folder on your desktop where you can easily access them. They will come out as random strings (don't touch the names) each with a .BAK file, so all up you'll get 8 files in your folder on your desktop. If you don't have 8 files there, UR DOIN IT RONG.

(http://i66.photobucket.com/albums/h260/lumare/ts2tute/Untitled-8.png)

From the menu in SimPE, click "create new package" to make yourself a mesh. In the resource list box up the top, right-click and add each of the 4 files you just extracted into that box (not the .BAK files). Save this to your downloads folder (where you put CC you've downloaded) as MESH-yoursuperawesomefilenamegoezhere (or whatever you want to name it).

(http://i66.photobucket.com/albums/h260/lumare/ts2tute/Untitled-12.png)

Once you've saved it, we need to make it MOAR AWESOME than the base game mesh (sidenote: if you skip this step, it becomes a base game replacement mesh). From the tools menu, choose "fix integrity". When the scenegraph rename wizard comes up, anything you type in the box will appear as part of the mesh parts' names once you click update. This will make the mesh unique and will stop it from replacing the original base game mesh. Click okay, you'll see your 4 mesh parts were updated to the new name in your resource list. Save the mesh a second time.

(http://i66.photobucket.com/albums/h260/lumare/ts2tute/Untitled-14.png)

(http://i66.photobucket.com/albums/h260/lumare/ts2tute/Untitled-16.png)

Now we want to link the anchor recolour to our new MOAR AWESOME mesh, instead of the base game mesh. To do this, we extract the CRES file and the SHPE files out of our new improved resource list and save them to our desktop (not in the same folder as the original 4 files...you'll never find them again). Also make sure to extract the GMDC file to a separate folder on your desktop all by itself, it is the file we'll use in milkshape.

Open the original "dummy" file out of your SavedSims folder again. In the resource list, right-click and add in the CRES and SHPE files you just extracted (do NOT save yet). Click the 3DIR file in the resource list and you'll see it come up in the plugin window below. Click the "package" button and a box will pop up. Click on the Resource Node and Shape options there, and drag them into the 3d Referencing File editor in the plugin view.

(http://i66.photobucket.com/albums/h260/lumare/ts2tute/Untitled-17.png)

(http://i66.photobucket.com/albums/h260/lumare/ts2tute/Untitled-19.png)

Close the package, then delete the Resource Node and Shape in the plugin view that appear at the TOP of the list. Once you've done that, move the ones you dragged (which will be at the BOTTOM of the list) to the top, in the same order as before (Resource Node at top, Shape second). Click the "commit" button then save the file. Back in the Resource List, delete the CRES and the SHPE files you added in (a line will appear through the names), then save the file again to remove them completely.

(http://i66.photobucket.com/albums/h260/lumare/ts2tute/Untitled-21.png)

The mesh has now been built, now we need to get the mesh part for our full body outfit. From your SavedSims folder, open up the file you designated as your full body outfit. Repeat the steps to find the file name (in my case afbodyafricanwoven) but instead of extracting all the files, just extract the GMDC file into a separate folder on your desktop. Close SimPE, and we're ready to start meshing!


Title: Re: TUTORIAL: Separating Meshes
Post by: kiki on 2009 March 14, 05:12:56
Part 3: My Milkshape brings all the boys to the yard...

Firstly I'm going to assume that you know the basics of milkshape and have both Wes_H's and Demon's milkshape plugins installed. I'm ZOMG LAZY so I'm not going to track them down for you if you don't have them, but they're available on MTS2. Import the base game GMDC into milkshape FIRST, choosing the option to "create blend groups" and "correct skin weights" (if necessary). This is important, because it also imports a working FAT MORPH, which is something that all meshes need. Your fat morph will be named ~00MORPHMOD.1. Hide it for now, we don't need to work with it yet.

Now, import your full body GMDC into Milkshape too. The program will scream at you that it's unstable and dividing by zero, ignore it. This time, DON'T choose to include additional bone weights (this would make your final mesh go asplode in bodyshop), DON'T choose to create blend groups, but DO choose to correct skin weights if necessary.

You should see 3 groups listed in the groups tab: top, ~00MORPHMOD.1 and body. Start hacking away at the bottom half of the body mesh, until you get the bottom half of your body mesh lined up with the bottom of the base game mesh.

Click on the top group, then click on the "comment" button. A box will pop up, that includes the definitions for the top half of the mesh. Copy that stuff into a notepad file.

ModelName: top
Opacity: -1
HasTangentArray:
NumSkinWgts: 3
MorphRefNum: 0

Delete the top group, and move the body group up to the place where the top group was. Rename that group to "top" like the old file, and click on the "comment" button again. Copypasta everything from that notepad file into the comments box to replace the text already in there.

Unhide your ~00MORPHMOD.1 group. Select your top group from the list, then click the "Select" button to highlight it red. From the EDIT menu, choose "Duplicate Selection". You will now see a group called "Duplicate00" in the list. Hide your "top" group, and move the Duplicate00 group up so that it is listed just below the top group. Move the vertices around so that they line up with the ones in the ~00MORPHMOD.1 group (which creates a fat morph for your top that matches maxis fat morphs so that your top is usable with maxis pants for fatties).

Repeat the last part there - copypasta the comments out of the ~00MORPHMOD.1 into the Duplicate00 file, then delete the ~00MORPHMOD.1 file and rename the Duplicate00 file to that.

MorphNames: topmorphs fattop

Now, from the VERTEX menu choose "Sims 2 UniMesh Fix Underweighted Bones", then export your new mesh file to your desktop. Name it something obvious again, so you can find it.

Fire up SimPE again, and open up the mesh file that you created in your Downloads folder. Right-click on the GMDC file in the resource list and choose replace. Replace it with the file you just exported out of Milkshape, click "Commit", then save your mesh again in SimPE.

--------------------------------------------------------------------

Part 4: Bodyshop Redux and the finale

Now we need to fix up the alphas and the textures on our top mesh. This is where our original two extracted files come in handy. Having extracted them as projects, their alphas and textures have been separated for us into projects folders in bodyshop.

You want to go back into Create Parts, and start a New Project, in Clothing. Click everyday and choose your original top. Extract it as a new project. Fire up your shooper program and go to your projects folder. Replace the Alpha for the top half of your fullbody outfit with the alpha of your base game dummy, same with the textures.

???

Profit!


Title: Re: TUTORIAL: Separating Meshes
Post by: CatOfEvilGenius on 2009 March 14, 06:23:06
Good tutorial, but I noticed a crucial bit missing, wes_h's vertex data merge and normal data merge.  If it's actually there, my excuse is no glasses. ;) 

no crack at the waist

After you've chopped chopped off everything below the waist, you need to use wes_h's merge vertex data tool at the waist.  Not all body meshes have a waist at the same height as Maxis separates.  Not all body meshes have the same bone weights at the waist as separates do.  If the vertex coordinates of a top waist and a bottom waist don't match exactly, there will be a visible gap.  If the bone weights don't match exactly, you will see cracks appear when the sim moves.

To use the merge vertex data tool, you need a Maxis top and your chopped up body mesh top.  Make sure the Maxis top is at the top of the groups list, *above* your top.  Select a pair of vertices at the waist, one from the Maxis top, one from your top.  Use vertex data merge.  Do this for each pair, all around the waist.  Then do this for the fat morph as well.  MilkShape will complain that fat morphs cannot be donors, so rename the Maxis fat morph to something like "fat" and it will work fine.

no seam at the waist (may or may not be needed, depending on type of shirt)

If your top has naked skin at the waist, or is skin tight, or untuckable, or you just don't want any visible seam at the waist, then you will also need to use wes_h's merge normal data.  Do this for each pair of vortices all around the waist, regular mesh and fat morph too. 

untuckable tops

If your shirt mesh meets the bottom mesh at the waist, but the shirt texture extends down past the waist, you have an untuckable shirt.  If worn with naked butt untuckable pants, the shirt looks untucked.  If you are making an untuckable top, you'll want the UV map of your top to match up perfectly with the UV map of a bottom.  You can use Cat's UV data merge for this, same forum as wes_h's tools.  Note that most Maxis men's bottoms have the same UV at the waist, but women's bottom UVs vary widely.  Untucked tops / bottoms are easier to make for men.

no pants / skirt texture on shirt

If it has only one mesh group, you need to make sure the UV map of your top does not overlap the UV map of bottoms.  If you have overlap, the texture of the bottom will appear on the top.  Sometimes you're lucky and the Maxis UV map is fine as is, has no overlap, sometimes you're not so lucky.  If your top UV map overlaps the bottom, there's two things you can do.  Option one, squash the UV map upwards.  Original Maxis textures will no longer work on your mesh now unless you squash them too.  Depending on the texture, squashing may or may not make them look crappy.  Option two, should probably have its own tutorial.  Split your top mesh into two groups.  Each group gets its own texture.  More on that in the next section.

3D untucked tops (not the same as untuckable)

If your shirt mesh (not just the texture) extends down below the waist, you have an untucked shirt. 

* Untucked tops must have either squashed UV maps or be split into two parts so you don't get bottom texture on your top.
* Untucked tops must have correct bone weights so they don't intersect the bottom when the sim moves.

Here's how to split the shirt.  One group is the chest, arms, neck, the other group is the torso below the chest.  There are tutorials on MTS2 that explain how to add a mesh group (or several) to an existing mesh and recolor package, but there's an easier way.  Just take an existing CC two group mesh and its recolor and use those as your starting point instead of a one mesh group Maxis top.  Feel free to use any of my MTS2 untucked tops as templates for this purpose.

Untucked tops almost always need to have their bone weights adjusted so the bottom mesh doesn't intersect the top mesh when the sim moves.  You don't want the sim's butt, waist, or hips poking out of the top, that just looks wierd.  Use the bone weights of Maxis bottom as a guide.  Find top vertices that are close to bottom vertices and try to match up their bone weights.  Make your sims walk, run, jump, sit, lie down, do the smustle.  Adjusting bone weights can take quite a bit of time, but is worth the effort.  Keep in mind that some bottoms will never work with untucked tops, for example very wide ballerina skirts and the like.


Title: Re: TUTORIAL: Separating Meshes
Post by: kiki on 2009 March 14, 06:32:16
Why did you add all that shit about untuckables when that is a whole other kettle of fish and another topic entirely?

Untuckable tops are the fucking devil and I refuse to have anything to do with them because most of them look tacky, which is why I didn't cover them in this tute (also, it's not what CandyToast asked for). Both Wes_H and Demon's alignment tools were mentioned. My technique that I listed in here has never caused a seam at the waist, either and as for bone assignments, you don't need to touch them at all provided that you don't add additional bone weights and that you make sure you fix underweighted bones before exporting. Most people that are new to meshing and try to fuck around with bone assignments break them and do more harm than good.

If you're going to go into Untuckables, go make your own thread about it for a tute Cat, because this is nothing to do with untuckables and is just about separating maxis meshes. Maxis doesn't make untuckable meshes, so it's not relevant to this thread. Nothing more, nothing less.


Title: Re: TUTORIAL: Separating Meshes
Post by: CatOfEvilGenius on 2009 March 14, 07:59:50
Nobody accused you personally of making meshes with cracks so please chill.  You mentioned that folks should have wes_h plugins, you didn't say what to do with them.  I have seen tops made by others that were simply separated (sweaters, shirts) and did have cracks because wes_h's plugins had not been used at the waist.  If the body mesh you're separating has a skintight top or belly baring top, you can often get away with not using those plugins because the vertices and bone weights happen to be correct, but you can't always count on that. 

The person who originally requested your tutorial isn't the only one who'll read it.  Others who read it may wish to make many different kinds of tops, not just tucked ones.  All three kinds of tops, tucked, untuckable, and untucked, can start with the procedure you've described.  You can in fact make untuckable and untucked tops by separating Maxis meshes, it's been done.  It's true that the techniques for the last two merit their own tutorials, but I figure some MATYzens can benefit from just a few pointers.  If you're that bothered by others sharing what they know, I'll not bother you anymore.