This page is located on the SimsWiki. To view it in it's original form, click here.
Tutorials by Category

Body Shop: Recolouring | Meshing | Modding | Sims  Objects: Object Creation | Recolouring  Building: Building | Landscaping | Walls & Floors | Other: Careers & Majors | Hacks and Game Mods

Unimesh/Milkshape Tutorial: Level 3, Combining Mesh Parts



Unimesh/Milkshape Tutorial: Level 3, Combining Mesh Parts - wiki version

Base Game


You are expected to have successfully completed the Unimesh Beginner Tutorial and the Unimesh Tutorial: Level 2

This tutorial assumes mastery of the materials in the other tutorials, and some steps (even new ones) might not include screenshots. Even with that, there are over 100 steps in it and 36 screenshots.

This tutorial covers a lot of ground – the many steps necessary to combine parts of meshes to create a new mesh of your own. It also covers an alternative way to create the fat morph, which is handy especially when the edits being made to the mesh are complex. This method can also be used to repair an exploding ‘fat mesh’.

Basically in the first tutorial, you took baby steps, and it was designed to avoid many complex things. In the second tutorial, you were walking along, getting aquainted with some more milkshape commands and learning about uvmaps. This tutorial is going straight to a full out run. Some people will be able to read parts of this tutorial and apply it to a mesh they’re editing and it will work. But if one step is missed, things might not work.

So – if you decide use this tutorial as reference and then have questions, please do the tutorial as written and maybe that will clear some of those issues up for you. If you have questions and the project you’re working on is not this tutorial project, please post them in a new thread in the BodyShop Meshing forum. And of course, if you do have questions, include as many details, step numbers, and screenshots as applies.

This tutorial covers putting new shoes on a mesh. In this case, I’m using Maxis shoes from another mesh. Tips for using Al’s shoes or shoes from another age mesh will be covered at the end. The goal is to learn a whole lot about editing meshes.

Special Thanks

This tutorial is the third revision, passed down from generation to generation of mesher (okay, not really, but it sounds better than "This is the third update/rewrite for new tools and plugins."). Many thanks to WDS Brianna for the original version and Tiggerypum for v2. Also thanks to Inge and Peter for bringing us the PJSE plugin which makes this so much easier, and of course, Wes H for the awesomeness that is Unimesh.

What you will need:

SimPE, Milkshape, Unimesh 4.06 (or higher) Make sure Unimesh is 4.0.6 or above, because it has improved code for reading in second meshes. (don't have them, go do the beginner tutorial!)

The downloadable patterns from this tutorial templates for UV mapping

Demon432's Tools – both align normals and extended edit. To install them, download both files. You then need to move the two files named msExtendedManualEdit.dll and msAlignNormals.dll to My Computer/Local Disk/Program Files/Milkshape 3D (whatever version you’re using)

For this tutorial I used Unimesh 4.06, Milkshape 1.7.9, SimPE .58

Part 1: Set Up Your New Mesh

We’re going to dive right in from the end of the Unimesh Tutorial #2. This section is a summary, you should know how to build a mesh by now.

Did you save your project? If so, you can use the final SimPE file for this edit. If not, you can use the unaltered mesh and it will work just fine.

Make a new folder for your work files named TUTORIAL3TEENSHOES

In BodyShop create a new project and import it to the game with either the unaltered sundress or your new dress from tutorial 2 ( tfbodysundress_) Quit BodyShop.

In SimPE, build a new mesh file with the 4 parts of the mesh ( tfbodysundress_), save to your DOWNLOADS folder (I named mine MESH_tig_tutorial3teenshoes)

Fix Integrity, save again, and save the modified shape and cres to TUTORIAL3TEENSHOES folder

Put the modified shape and cres into the recolor file from your SAVED SIMS folder.

Quit SimPE.

note: The above info was the old way before PJSE.  You can use the info from Unimesh 1 - New Mesh Basics to build and link your recolor file from your SAVED SIMS folder. 

Check if the recolor shows correctly in Body Shop

When I went to check in BodyShop, this is what I saw:

My skirt is coming down onto the legs and it’s too short! Why?

The texture is for my new sundress, but the MESH pieces I just used to build the mesh are from the original Maxis sundress. I’m going to fix that when I read in my meshes into milkshape, so no worries. Matter of fact, this is nice because I can clearly see that the recolor is working correctly.

Now let’s go find some new shoes. I picked the shoes from this outfit:

While we have it, make a new project with the outfit, because we’ll want the shoes texture and alpha for our dress. Name it TEENHEELS. Quit BodyShop.

The name of the outfit is: tfbodyhipmandarintop_

In SimPE use the finder and extract the gmdc file for that mesh, and save it to the tutorial3teenshoes folder – I named it tf-bodyhipmandarintop so that I can tell it apart from the gmdc of the sundress. We don’t need anything else. Quit SimPE.

Part 2: Begin the Edit

In Milkshape I’m going to import first my original dress, and then the mesh I’d like to get shoes from. I am NOT going to make the fat morph yet, I’m going to work through all the details with my fit body first, and then later make the fat morph.

1. Fire up Milkshape, make sure autosmooth is off.

2. I am going to Unimesh Import dress3.simpe from my tutorial2 folder. If you made more edits than 3, simply import the last edit. If you don’t have your files from tutorial2, you’ll need to use the gmdc from tfbodysundress (which you just used to build the mesh)

This is important – answer NO to ‘create blend groups’. (this means you do not want to make the fat morph, we'll do that later)

4. Now we’re going to Unimesh import in the 2nd mesh that I saved to tf-bodyhipmandarintop in my tutorial3teenshoes folder.

5. You’ll get a new dialog box – “If you import over another model, results may be unreliable. Do you want to continue? Click OK

THIS NEXT STEP IS CHANGED FROM THE SCREENSHOT, Unimesh's behavior around this has now been changed twice... Make sure your Unimesh says 'include' or does not ask at all. If it doesn't ask you have the latest unimesh and that's even better!

Then you’ll get another dialog box – “Do you want to INCLUDE additional bone definitions?” (this prevents another entire skeleton from being added to our project) Click NO

If you don't see this box, and you have unimesh 4.09 that's all good, it's being smart for you.

7. And lastly you’ll be asked again if you want to ‘Create Blend Groups’, answer NO.

Finding the Place to Cut

Now, you will see 2 body groups, and you should also notice that some parts of the mesh look identical, to the point that you can’t tell there are two sets of vertices there, and other parts of the mesh look different (skirt, shorts, parts of the shoes)

Now I’m going to zoom in on the area around the shoes. IDEALLY, I should look for a spot where the two meshes match up identically… like the set of vertices right above the ankle. That’s where I’d then choose to join the mesh. Here, I’ll circle it for you.

Now, because this is a tutorial and I want to teach you MORE, we’re going to use the row above that instead – which does not look identical on the different meshes. That way I can teach you how to properly adjust everything – and you’ll better be able to combine any mesh parts you want in the future. (I might regret this decision, but here we go!)

9. Hide the second body by selecting the group and using the HIDE button. (the pants mesh)

Using Model – Select – Vertex, select all the vertices below that row of vertices on the dress body (the shoes and ankles)

Hit DELETE on the keyboard and delete those vertices. Now we’ve got a footless dress mesh.

12. Go back to the groups tab, and click the 2nd body group and HIDE to show the 2nd body with the shoes we want.

13. Click on the first body, and click HIDE to hide the skirt mesh. Now you should not see the skirt any more, just the pants mesh.

Using Model – Select – Vertex, let's start deleting the body of that mesh. As we're not sure exactly where the dividing line is, let's first going to simply delete everything from the pants up. Zoom back out so you can see the body, or simply use one of the smaller left windows to select a large area to delete. And then hit DELETE on the keyboard.

In order to be able to tell the mesh pieces apart more easily, right click on the window and set the display to ‘textured’ and then right click again and select ‘colored groups’ and right click once more for ‘wireframe overlay’

Now hide and show the first body, and then go in and select the rest of the vertices above the joining line, and delete them. Notice when hiding and showing the 2 meshes, there's an almost perfect match at that seam. Remember we picked a seam that was not perfect, and you can see that at the back of the leg. We’ll fix that later.

Okay, so now you have the two parts of the mesh in two groups. Time to SAVE! We’ve been editing for quite a while now.

17. SAVE AS - tut1.ms3d in your tutorial3teenshoes folder

Part 3: Joining the Vertices Exactly

If we put the mesh into the game the way that it is, the legs would show a line (and actually have a section that does not match properly. So the first goal is to get the vertices to have EXACTLY the same value. We can’t do that by eyeball, we must use either of these two methods below.

Select one pair of vertices at a time Then either use – VERTEX – SNAP TOGETHER (useful if they look lined up already) Or use Demon’s Extended Manual Edit

I’m going to use Extended Manual Edit because I want to show this to you – it’s a way for you to make the edges meet and choose which mesh you want to use as your guideline. While it doesn’t matter that much for this particular outfit, you might want to someday join a skirt to a belt area or such where you will not want the belt to be distorted.

Extended Manual Edit is also the tool to use to make sure that the neck is an exact match (if moving a mesh from one age to another) and to make sure that the waistline meets on top and bottom meshes.

Select a vertex on the front of the leg (which is really 2 vertices, 1 from the top mesh, one from the feet).

Use MENU – VERTEX – EXTENDED MANUAL EDIT. Set the settings to show Index, XYZ and B.Names. Now look at the values. In this case, the values on these front center vertices ARE identical, so just click CANCEL or close it with the red X in the upper right corner.

Then continue around the leg seam, selecting one vertex (or the two close to each other). Once you’ve done a couple more, you’ll see this, a spot with 4 vertices!

This is because you’ve hit the seam that separates the front of the sim from the back. So yes, there really are 4 vertices all aligned perfectly so that they look and act as one. These vertices also have identical x, y, z values and bone assignments, so it’s all good. Be sure to check the values on yours and make sure they are identical, if they are not, follow the directions below.

21. As you continue around the back of the leg, you will hit a spot that DEFINITELY has different values, because you can see the vertices are not touching. Select both vertices and then bring up Extended Manual Edit.

The Mesh marked with the 0 at the front is the dress mesh, the mesh marked 1 is the shoes mesh. (that is the order we read them into the program) Select the X value for the first mesh, and ctrl-C (copy). Select the X value for the second mesh and ctrl-V (paste). Repeat for the Y and Z values as necessary. When all the values are identical, press ACCEPT.

23. Now select the next pair of vertices. Yes, this is a bit tedious, but careful work here will give you a mesh that acts as if it was always part of the same mesh! Go around both legs. Examine them and make sure things look right to your eyes.

24. Now let’s SAVE AS tut2.ms3d

Part 4: Adjusting the Normals

25. Right click on the 3D window.

  • Turn off Colored Groups
  • Right click again, turn off Wireframe Overlay
  • Right click again, select Smooth Shaded

26. Now look really closely at that seam. Rotate the mesh around. I was able to see ever so slight a line on the back of the leg where the meshes meet. It’s not a gap, just a change in the gray shading. In this case it is very subtle, but we will smooth it over anyway.

27. Select Colored Groups again so that you can easily spot the seam line.

28. Model Tab – Select – Vertex – and select the seam.

Right click and go back to wireframe, just so you can see you selected all the vertices.

30. Now we'll use Demon’s Tool – Align Normals. Do NOT EVER use the Milkshape Smooth All command, because it will make all the seams on your mesh have a line on them.


31. Now right click and select Smooth Shaded. This time it should look perfect!

32. SAVE AS tut3.ms3d

Part 5: Bone Assignments

33. First, use menu VERTEX – Sims 2 Unimesh Fix Underweighted Bones

You *always* need to do this on your mesh, so that any rounding errors are corrected and all the bone assignments add up to exactly 100%. If there are assignments that are not exactly 100%, there will be small display quirks; the mesh might appear to have holes or semi-transparent areas in some views.

Now, because we chose to use ‘Extended Manual Edit’ to join the vertices at the seam, we’ve already seen the bone assignments. And on this particular example (and likely with many Maxis meshes you might take pieces from) the bone assignments are identical and fine. Still, I’m covering how to check and change the bone assignments using the Unimesh Bone Tool – because you will need to set bone assignments if you make new pieces for your mesh or read in object file additions for your mesh, like Al’s shoes.

Also, if you did the quick thing and ‘snapped together’ the vertices, you still need to check their bone assignments.

34. Select a vertex along the seam (which you know will be 2-4 vertices that are precisely at the same spot).

35. Menu – VERTEX – Sims2 Unimesh Bone Tool

A pop up will show. To just view (and not change) the bone settings, simply press the arrows on the bottom of the screen. In this shot, there are 2 vertices selected. As you flip back and forth you can see they have the same value.

If you change any of the values in the vertex’s bones, you must click the COMMIT button before you click on the arrow to view the next vertex, or the changes will be lost. When you are done making changes, click COMMIT ALL (or CANCEL).

Some areas of the mesh have complex bone assignments (such as the stomach area). On the other hand, some areas of the arms and legs have as simple bone assignment (just like this edit) and all the vertices have the same assignment. You can do many bone assignments at once with the Unimesh Bone tool.

If you have a ring of vertices that you want to ALL have identical bone assignments, the easiest way to make the change is to select them all and bring up the bone tool. Then make sure the first vertex has the bones assigned the way you want. Click APPLY TO ALL and then COMMIT ALL.

This section about using the Unimesh bone tool was primarily for your information. The bone assignments on the leg should all be fine – all that was needed was to fix the underweight bones. For practice, select a couple more vertices and bring up the bone tool to check their values. You can also check bone assignments on other parts of the mesh, for instance, if you check some of the vertices on the sim’s stomach area, you will find they have 2-3 bone assignments instead of just one.

Note: if you are working on a different mesh and/or cut your mesh pieces close to the ankle or knee (or are joining 2 meshes at, say, the waist) the bone assignments will probably NOT automatically match as they do in this project. So do make sure to check them and make them identical. A difference of as little as 1% on any assignment can cause your mesh to get a tiny gap along the seam as the sim animates.

36. Bone assignments are done - SAVE AS tut4.ms3d

Part 6: Separate the UV Mapping

We need to make sure that the points on the uvmapping match up exactly where they were snapped together. I expect that some of the lower leg’s mapping is currently very close to the upper leg mapping, but it should be exact. In order to make it easy to know which points belong to the lower leg once they’re merged, I’m going to pull the top row of vertices down a bit on the lower leg on the uvmap (not the mesh!), and then I'll realign them after I've combined the meshes into one. So, let’s get a texture on that mesh and look at the uvmap.

37. Assign a texture and bring up the Texture Coordinator (This is covered in the 2nd Unimesh Tutorial )

  • use menu – EDIT – SELECT ALL
  • go to materials, hit new, read in checkpattern.bmp, hit assign
  • change scale to .5

Now, because we didn’t change it, both groups are named ‘body’ which is a bit confusing. The 2nd one is the shoes, and you can see them there at the bottom of the screen.

Click SELECT and then select the top row of the leg. Then MOVE and move them downward some.

39. Close the Texture Coordinate Window

40. SAVE AS tut5.ms3d

Part 7: Combining Groups into One (Regrouping)

Before exporting this mesh, it needs to have the same amount of groups as it started with, and with the same names and comments.

Go to GROUPS tab and click on the 2nd body. Hide and show it, make sure it’s the shoes. Then type in ‘shoes’ next to the RENAME button and hit the RENAME button. Now we have 2 groups – body and shoes.

We need to save the comments from the body group. Click on the body group. Click on COMMENT, and a window will pop up with the comments.

43. Select the comments with your mouse and CTRL-C and copy them.

  • Open up a text file and save the comments there just in case.
  • Click OK to close the comments window.
    • ModelName: body
    • Opacity: -1
    • HasTangentArray:
    • NumSkinWgts: 3

44. Select the entire mesh using MENU – EDIT – SELECT ALL

Click on REGROUP. The body and shoes groups will disappear and there will be one group named ‘Regroup01’

46. Now the original settings need to be restored. Rename ‘Regroup01’ to body by typing in ‘body’ next to the RENAME button and click the button

47. Click COMMENT and paste in the comments you copied, hit OK

You do need to carefully keep track of names and the comments when you’re doing this, but that is all you need to do to combine different groups back into one group.

48. SAVE AS – tut6.ms3d

Part 8: Fix UV Mapping

Now there’s just the one body group. Time to go fix that uvmap where the legs join.



Now the gap where the leg sections meet is visible. (We created/expanded that gap in Part 6)

Zoom in on the gap by typing 3 into the scale box and hitting SCALE.

Hold down CTRL and left click and drag to find the area of the legs with the gap

Starting with the lower left leg on the uvmap, one at a time,

Click SELECT, select the lower point, click MOVE and move to align it perfectly with the corresponding point on the upper leg.

53. Repeat this all the way across, using CTRL-left click to move across as needed. Remember that there will be 2 back legs and 2 front legs to fix.

54. When you are done, close the Texture Coordinate Window.

55. SAVE AS tut7.ms3d

Part 9: Export the Mesh and Fix the Texture

56. EXPORT – SIMS2 UNIMESH EXPORTER body1.simpe (you can quit Milkshape now, but it’s not necessary)

57. Start SimPE

  • Open up your mesh MESH_tig_tutorial3teenshoes with SimPE
  • Replace the gmdc with body1.simpe
  • click YES

59. SAVE

Quit SimPE
  • Start BodyShop
  • Create Parts/Start New Project/Create Clothing
  • Go to TEEN, Everyday, and look for that dress (with a * on it)

Hey, look at that, she now has high heeled sandals on.

Now these shoes don’t look bad on that shape, but let’s go fix the texture to be the shoes.

62. Click the EXPORT TEXTURES button in BodyShop and name it something like TUT3.

63. Now we need to use our graphics editor and combine the shoes from the TEENHEELS folder we saved way back at the beginning of this tutorial with this dress.

  • So you must edit body~stdMatBaseTextureName.bmp in the teenheels folder and select and copy the entire bottom area (do it all the way across, that makes alignment easy) to get the shoes. Close that file
Open body~stdMatBaseTextureName.bmp in the TUT3 folder, and paste the shoes into the bottom of the texture. Be sure to line the graphic up at the bottom and left and right edges, so that it will be perfectly aligned on your mesh.

Now repeat this for the ALPHA file - body~stdMatBaseTextureName_alpha.bmp. Copy the alpha for the shoes from the teenheels folder and paste it into the file in the TUT3 folder.

Now click on the REFRESH arrow in BodyShop, and you should see your new shoes.

66) If all is good, give it a name and Click IMPORT TO GAME

67) Quit BodyShop

Part 10: Testing in Game

68 Now is the time to test this mesh in the game. Take it into the game, double check the texture around the feet. Have the sim dance, sit, etc, and zoom in and stare at those lower legs. Pause the game. Move the camera around the sim, checking the lower legs from various angles. Let the sim move a bit and pause it in a new pose, and check again. Do this at least 4-5 times, looking for any signs of a seam or gap or strange animation (like a spike coming out of the leg is probably a bad bone assignment.) Also do make sure to look at the rest of the sim, just to make sure nothing got damaged in the edit by mistake.

I must say this - the animation in the game is not perfect even with Maxis created meshes. So, if you notice something, like the foot going a bit into the floor, or the leg/foot catching the hem of a long skirt in some of the sim's odder moves - do not immediately stress out. Compare your mesh's behavior to the behavior of the base Maxis mesh(es) you used; dress your sim in the Maxis outfit and try and get the same results. Back out a bit from the super-close zoom of your mesh and ask yourself - does this look normal, or is the error really obvious? You can definitely fix any gaps or seams on your mesh, so if you see them, do go and fix them.

I find having a cheat dresser in the game so I can 'buy' clothing without going to town very handy for the purpose of testing outfits.

Assuming this is all looking good, we’re still not quite done – because we didn’t make a fat morph. But we will.

69. Quit the Sims 2.

Part 11: Make the Fat Morph

We are going to start fresh and import the original mesh we started with in order to get all the parts we need. Then we’ll go get our new mesh and put it in place.

70. Go to Milkshape - MENU – FILE – NEW

71. I’m going to Unimesh Import the gmdc from tfbodysundress

72. This is important – answer YES to create blend groups

Now there are 2 groups, body and ~00MORPHMOD.0

73. Before going further, click on the body and COMMENTS and copy the comments to a text file

  • ModelName: body
  • Opacity: -1
  • HasTangentArray:
  • NumSkinWgts: 3
  • MorphRefNum: 0

74. Copy the comments from the morph group also

  • MorphNames: botmorphs fatbot

75. Now we’re going to Unimesh import our new changed mesh – body1.simpe (or whatever number you are at, if you found errors to correct) from your tutorial3 work folder.

76. You’ll get a new dialog box – “If you import over another model, results may be unreliable. Do you want to continue? Click OK

77. Then you’ll get another dialog box – “Do you want to exclude additional bone definitions?” (this prevents another entire skeleton from being added to our project) Click OK

78. Now we’ve got 3 groups – body, ~00MORPHMOD.0 and body

79. The 2nd body should be highlighted – go copy the comments we just put into a file for body 1 and paste them into the comments for the 2nd body. The difference will be that the last line will now read: MorphRefNum: 0 Click OK

80. Now click on the first body, and click the DELETE button.

81. Click on the body group that’s left (which is our shoes mesh) and click the UP button to move it to the top of the list.

82. SAVE AS – tut8.ms3d

83. Now to make the new morph. Click on the ~00MORPHMOD.0 and the HIDE button. You should see your mesh look like it’s become thinner.

84. Now, just to make sure, click on body and then HIDE. Now there should be nothing visible on your screen. Click HIDE again to show the body. Pivot it around, just to double check that it’s got the heels. Yes, good.

Click the SELECT button, the mesh will light up red.

Menu – EDIT – DUPLICATE SELECTION will cause a new group to appear in your groups window (for me it was ‘Duplicate03’)

Now you have a new copy of the modified body. It’s important to make sure you are editing the duplicate and NOT your original at the same time – so take these extra few steps and save yourself a headache.

87. Click on the Duplicate and HIDE. Click on body and HIDE. The screen should be empty. Then click on Duplicate and HIDE to show your duplicate only.

88. Now you can hide and show the morphmod and the duplicate and adjust the duplicate to be similar to the morphmod. Only use commands like MOVE and SCALE. Do not add or delete vertices, that will make things explode.

The goal is to create a body shape *similar* to the morph, it doesn't have to be exact - but by being close, then as your fat sim changes clothing, they will still look like the same body proportions.

This next part will vary depending on what works for you. You can use the wireframe display or textured display with colored groups, or flip between them.

First I actually grabbed the pixels on the chest and used a simple move to pull the out and downward a bit. I was satisfied with that shape once I was done.

Then I moved further down the body, pulling a few vertices forward on the stomach to smooth things.

91. Then I selected most of the hips/skirt area, and then I used SCALE:

  • with X
  • and Z set to 1.1
  • and Y set to 1 using the Center of Mass setting.
  • Then I set X to 1 (so that only Z was 1.1)
  • and I scaled one more time.

92. I then grabbed some pixels here and there to futher smooth the skirt shape. Remember that if 1.1 moves the mesh too much, you can try 1.05.

Make sure to check your mesh with ‘smooth shaded’ as a display from time to time. You want the mesh to have a nice smooth shape, with the vertical and horizontal lines still looking smooth as it distorts; it just has to be similar to the original morph, not a perfect match.

93. Once you have created your new fat morph, it’s time to replace the original.

  • Copy the comments from ~00MORPHMOD.0 to ‘Duplicate’
  • Copy the name ~00MORPHMOD.0 and then RENAME Duplicate to ~00MORPHMOD.0
  • Delete the first ~00MORPHMOD.0

In this step, you need to pay attention to the names and order on the list of your mesh groups. The 'colored group' settings in Milkshape will reassign as you delete or add groups, so you cannot use the colors of the mesh parts to identify the different groups.

Make sure you have the correct groups, you should have exactly 2, and hiding and showing them should be a fit and fat body with the heeled shoes.

94. SAVE AS – tut9.ms3d

Part 12: Testing the Fat Morph and Importing the Final Mesh

95. EXPORT – SIMS2 UNIMESH EXPORTER body2.simpe (or whatever number you’re up to)

Now we’re going to do a quick test of the fat morph before having to go into the game to test. (Thank you Dr. Pixel for this test) We’re going to clear things and read in the mesh we just saved and see if the fat morph looks great.

96. FILE – NEW


Now you should see 2 groups. Hide and show them. If anything looks exploded, you need to do Part 11 over again.

If you only get one group, body, and it looks fat – that’s because you accidently edited both your body and fat morph together, and since the data was identical no morph was created. Never fear – if you’ve been following directions here, you can still recover your unaltered fit mesh and put it back into place. Rename the 'body' 'morph'. Now import body1.simpe. Remember we saved all those comments and names - good. Move the 'body' up to the top, and paste in the new comments for body from that text file. Now paste the comments for the morph (from the text file) into the morph group. Rename the morph group to be ~00MORPHMOD.0 And EXPORT with a new number. Then test again with Step 96 and the most recent SimPE file.

No explosion? You see both body and morphmod, and when you hide and show them you can see a difference between fit and fat? Good! Now replace your mesh with this new mesh.

98. Open up your mesh (MESH_tig_tutorial3teenshoes) with SimPE 99) Replace the gmdc with body2.simpe or whatever the last version is (click YES)

100. SAVE

101. Quit SimPE

Part 13: Fix the Shoe Sounds

We changed these shoes from what look to be flip-flops into high heel shoes. When sims walk in the game, their feet make small sounds, based on the type of shoe the sim is wearing. JM Pescado has posted the codes for fixing the sound to match the shoe!

102. Open the new recolor file we just made from your SAVED SIMS folder – I suggested naming it simply ‘tut3’ - mine was named 7fd17c27_tut3.package, yours will have different numbers at the beginning.

I usually find it easiest to look in my Saved Sims folder and use the view menu to see the directory listing ‘Arrange Icons by.. modified’ Then I just open that file with SimPE - it will be either at the beginning or end of my directory listing.

Find the Property Set (GZPS) and click on it in the left window, then in the right window.

In plugin view, you need to find the value for shoe

The following values have been identified:

  • 0x00: None - This outfit is a top and has no shoe. Don't use.
  • 0x01: Barefoot - This outfit is barefoot and has no shoe
  • 0x02: Heavy Boot - Heavy stompin' boot.
  • 0x03: Heeled: Some kind of heeled shoe, produces the heel click on walk.
  • 0x04: Normal shoe: Generic ordinary shoe lacking noteworthy characteristics.
  • 0x05: Sandal: Some manner of floppy sandal, found on Maxis sandal-skins.
  • 0x07: Armored: Found on the OFB Knight Armor.
Note that the Armored value might not work for people who don’t own OFB, so be cautious about using that, unless you identify your mesh as only being for OFB – usually meshes we create can be used in all versions of the game.

So now I’m going to look. Indeed, the ‘shoe’ was set to 0x00000005 – the sandals.

104. Click on ‘shoe’, then in the box, change the 5 to 3

105. Click COMMIT and the SAVE

Part 14: Final Test

NEVER assume everything is fine. Always test in the game. Double check that everything animates well. Make your sim dance a bit or something and just make sure you didn't accidently move something. Go to CAS and flip between 'fit' and 'fat'. You can also delete any of the earlier recolors that don’t look quite right in CAS.

Woo hoo! Yeah! We made it. Pat yourself on the back. There's a 'Thank You' button at the end of the first message (scroll back up), if you click that it will encourage me to keep writing tutorials.

Tips for Future Projects

Now you’re free to take over the world! Well, at least to start modding meshes like crazy.

Al's Shoes

If you’re using Al’s shoes (available at which import as an OBJ and thus there are no bone assignments, you need to make those bone assignments match a similar Maxis mesh. Start up a second Milkshape and import a Maxis gmdc and look at the bone assignments on that mesh and make the same ones on your new foot/leg/shoe using the Unimesh Bone Assignment tool I showed you in Part 5. Do NOT use the tutorial provided at simskins, that tutorial is totally outdated and not compatible with the current milkshape/unimesh. Do not weld anything. Use the bone tools as taught in this tutorial.

Adding Other Parts

If you’re importing some other little OBJ, like a flower or something, make the bone assignments match that of the vertices around the the spot where it meets the mesh. You will need to test these sorts of things carefully in your game (not just BodyShop) and possibly make adjustments.

The obj will need to be uvmapped - it might already have one, although if it does, the uvmap would still need to be moved to an open space on the texture. See Dr. Pixel's Milkshape UV Mapping Shoes/Extras Mini Tutorial for an example of how it's done.

Converting A Mesh or Parts From One Age to Another

Start your mesh by building a mesh file that is the proper age, gender, and type of mesh - full body, or top or bottom.

In Milkshape, start by importing the gmdc that is the proper age/gender/type for your finished project.

Then import any other meshes, parts, etc, without adding any additional bones. (newest unimesh won't even ask, it will do the right thing)

Use the proper age and gender mesh as your guide for scaling down the other parts to fit. If going from teen/adult to child, consider using a child's upper body and adding on the unique mesh parts, so that you don't have to try and properly flatten the chest area. Pay careful attention to the proportions, a straight scale-down of another age mesh often will not look quite right.

You will also probably want to use the hands from a correct age/gender mesh, along with possibly the upper neck.

Make sure the neckline is a perfect match with extended edit, and the same for the waistline if the mesh is a top or bottom only. Or use Wes' new Vertex Data Merge and Normal Data Merge tools, which make copying that data much quicker.

As usual, when you're done make sure you have the right number of groups with the right names and comments. If you're building something from many pieces, I'd rebuild the fat morph as with tutorial #3.


Unimesh supports bumpmaps (has for over a year). The easiest way to have bumpmaps is to use as your base mesh a Maxis mesh that _has bumpmaps_, even if the bodyshape is not what you want.

Make your initial recolor with that mesh, and use that mesh to make your meshfile, and read that mesh into unimesh as your first mesh. THEN read in whatever other mesh or meshes you want to use. Make sure to copy the comments from the original mesh before deleting the groups you don't need.

Alpha Meshes

Alpha meshing is extremely advanced for the most part. I strongly suggest waiting until you are really comfortable editing meshes, meaning you can do them without checking a tutorial, before even trying an alpha mesh edit.

Alpha meshes have multiple groups, similar to hair. Working with alpha meshes is complicated and they simply will not always animate perfectly. That is why almost all the Maxis meshes are not created that way. To get your alpha mesh to look good most of the time often requires a LOT of fiddly work going in and out of the game to adjust things.

You will need a base mesh that has at least 2 groups (and then when you add morphs there will be more than 2 groups, so you will need to look carefully at what you’re editing). The most common meshes people use for the base are the child fairy and teen hula and adult hula. That lets you make alpha meshes for everything but toddlers.

Use the same techniques to replace whatever parts of the meshes with whatever parts you want. You can give it a new body, you can add things to the body (which will alpha to skin). You can give it a new whatever it is where the skirt was. Depending on what you are doing, you might need to line the skirt (see the Milkshape Tips here - About the ‘insides’) and also look at the uvmapping section. Once your new mesh is in, you'll need to make a new recolor and give the parts appropriate textures.

The steps (in this example using Hula mesh): Make a mesh with the hula mesh Import the hula gmdc, save the info about what the groups are named and their comments Import any other gmdcs you want to use, say like the swimsuit or a dress mesh to replace the body with (do not import more bones) Replace the 'body' group in the original mesh with a different body -- but be SURE to copy the comments from the original 2 part mesh to your new body group and have it named the same Delete the original body and move the new 'body' up to its place In the end, you should have the same number of groups with the same names and comments as you started with.

In order to have your, say, overskirt, animate correctly and move with the rest of the body and not have the underskirt pop through it too often, the overskirt has to have vertices that correspond to the mesh parts below it. Then you can start with making matching bone assignments, and the pelvis area and knees will bend on the outer skirt similar to the inner skirt. After you’ve done these assignments, you will have to go into the game and make the sim walk, sit on a chair, sit on a couch, and start adjusting things, by either changing bone assignments or moving the vertices. Then go back and make the sim dance and jump on a couch. You will want to minimize the quirks in the display that will happen from time to time, so that most of the time the sim in game animates well, and limbs aren’t popping through your alpha skirt. It’s one thing to have an occasional bad display during a dance move, but another to have it there the frequently when they’re sitting on the couch talking or walking around.

Tig's thoughts/experiences/comments on alpha meshes: Generally simply trying to layer, say, and entire tight skirt or pants over a body mesh will produce a mesh that will have frequent 'bleed throughs' of the body mesh as the sim sits, dances, etc - this is due to how the vertices deform with the skeleton to animate - even if you match the vertices and bone assignments exactly, if they are too close together it's likely that you'll get some bleed-through. So only use alphas where they are most needed, and preferably not tight against the body. Even with all that effort (trying to align vertices, making the values the same) you will probably have to go in and out of your game alot and experiment with small changes to make your alpha behave well. I spent as much time (if not more) fiddling with my alpha loincloths as I did initially constructing their meshes.

Alpha meshes also usually have more vertices, and use 2x as many graphics, and thus are more of a demand on people's games. So don't make an alpha mesh unless you need an effect that you cannot get any other way - two meshes for shorts that are of different lengths will actually animate better and be easier to recolor and so on, compared to one alpha mesh to create variable length shorts.

Good luck on your future meshing adventures!

A note on uploading...

It's great to be excited about having completed your first few projects. However, these first few beginner projects are usually just that: basic beginner projects, meant more to show you that you can do it than make anything spectacular. You and a thousand other people will have done this tutorial, and there's really no need for you to upload your finished mesh (especially considering that WDS Brianna uploaded her dress without the dangle way back in 2005. So please don't upload either this tutorial's project or your homework projects to MTS2 - such basic stuff will not be accepted. Wait until you've got a bit more experience under your belt (i.e. when you have gone through the other Unimesh tutorials) before uploading.

Having trouble?

In a perfect world, everyone would follow this tutorial word-for-word and do everything just right and never have any trouble. But sometimes things go wrong. So here's a list of common problems and mistakes people make, and the most likely fixes.

Sharp Seams/Lines Down Arms and Sides

If you are seeing sharp lines, seams, or edges down the arms and sides either in Milkshape or once you're looking at your edited mesh in Body Shop, then you forgot to uncheck Auto Smooth as described in Part 6, Step 3, or at some point you accidentally hit "Smooth All" on the Face menu. This is not fixable once imported - you must start over the Milkshape editing parts, and import without Auto Smooth checked.

Strange Transparency or Holes

If your mesh appears to have invisible parts, things showing through that shouldn't, or holes, then you probably said No when asked if you wanted to correct underweight bones in Part 6, Step 4. Reopen your MS3D file in Milkshape that you saved in the last step of Part 6. Then on the Vertex menu, select "Sims 2 UniMesh Fix Underweighted Bones V4.09" and then click OK when it tells you how many were adjusted. Re-export your mesh and continue with the rest of the steps in the tutorial from Part 7 onward.

Questions? Comments?

There is a discussion thread for this tutorial which is here:

Please make sure you've checked the "Having trouble?" section above and re-read anything you're stuck on before posting. The original tutorial discussion thread is closed for comments. If you're having trouble with or have questions regarding something else, please post in the main Body Shop Meshing Forum.

Related Links

Tutorials by Category

Body Shop: Recolouring | Meshing | Modding | Sims  Objects: Object Creation | Recolouring  Building: Building | Landscaping | Walls & Floors | Other: Careers & Majors | Hacks and Game Mods