This is a beginner tutorial for how to create objects and meshing in The Sims 3. This tutorial will not teach you the textures for TSR Workshop. This will only cover Milkshape 3D and some instances of UV Mapper Classic.
What You Will Need
- TSR Workshop
- Apple’s TSR Workshop Tutorial
- Milkshape 3D 1.8.5
- UV Mapper Classic
- Graphics Program – You will also need a program that can handle DDS (Direct Draw Surface), and it must also be able to handle Alpha Channels. I use Photoshop CS2 (or newer) as my personal preference.
- DDS Plugins
- 512 x 512 Wood Texture (for when we get to mapping)
Extracting from TSR Workshop
For this tutorial we are going to make a new coffee table. Make sure after downloading Workshop you follow Apple’s guidelines to put the plugins into Milkshape. We will be using Apple’s guide as an extra reference.
Open TSR Workshop. You will click on Create New Project.
A window will pop up immediately and you will click on the Object butt on and then Next as shown.
Now we will click on Surfaces ► Coffee Tables.
Aha! There are all the listed coffee tables we can clone. We want to clone: Club Coffee Table 1×1 as shown in Apple’s Workshop Tutorial.
Apple refers to a WSO file. Workshop only exports WSO files. That is why we need the plugins installed so that Milkshape will then support the WSO file. While we work we will work with a Wavefront obj file. Wavefront obj files do not support bone assignments which we will have as we go. The final result will again be a WSO file for import into Workshop.
Now click Next.
The following window pops up and here is where we will give our project a name and description.
- The top line is for your project name. This is what we will save the wrk file name as. Yes yet another extension name, the wrk file. This is the file extension for the saved project. You will see the method to this madness in just a moment.
- You can name the object as it will show in game.
- The description the object will have in the game.
Notice that in the Mesh tab of Workshop you have a file named High Level Detail, Low Level Detail and 2 Shadow files. These files are all parts of your item, and you will edit the first two to make a new object.
Export the files naming them High Detail Mesh and Low Detail Mesh, using the Export button.
Do not worry about the shadow files. You only need these two. Save your mesh files to a folder named Tutorial Table, and they will save to WSO Files.
The once you get those from Workshop you go to File ► Save, and Workshop will prompt you to save to a .WRK File so you can re-open your project later. Save it to the Tutorial Table folder that you exported your meshes to.
Next we’ll open Milkshape 3D. Before we begin, we’re going to set up our 3D view of Milkshape, like shown on the left.
You will right-click the 3D window with your mouse and make sure Textured is checked.
Next you need to go to the top of the Milkshape Window and make sure that Show Viewport Caption is clicked: Window ► Show Viewport Caption
On meshing, an object important coordinates are as follows:
X = Sideways Y = Up/Down Z = Front/Back
Also if you mess up a step you can go to Edit ► Undo for undoing your last step.
Now you will import the main High Level of Detail file into Milkshape: File ► Import ► TSRW Object
See the object we will edit below.
Notice the lines that circle the object? Those are the Bones/Joints assigned to our Mesh.
The bottom flat part is a Shadow Mesh named group_0.
These two things we are not going to worry about right now. We will have to deal with these later.
We can hide these blue circles by going to the Joints tab and double-clicking the bone to select and then go to Edit ► Hide Selection at the top of the Milkshape screen.
Deleting Shadow Mesh
Now go to the Groups tab at the top.
You will see names in the groups tab as shown on the left . In the case of our table there are 2 groups named group_0 and group_1. We want to use the table itself so in turn click on each group and hit select.
As you can see by the picture when I select group_1 it is the table itself, which is what we want to keep. Delete group_0 (Shadow Mesh) by selecting it and then hitting the Delete button.
You should now have an object that looks like the one below.
Selecting Box Tool
Now we are ready to make our new object mesh. I am going to the Model tab at the top and click on Box.
A little note about the Undo Option. I have named the boxes according to what I was doing in each step. Milkshape names your parts as it goes in its own order. If you must undo say Box01 and make another Milkshape automatically names it Box02.
When you done with the table, you should have 2 boxes and 3 duplicates in the groups tab.
Drawing the Tabletop
I will trace the upper part of the table as shown below, using the front view with the Box tool selected.
You’ll notice that the box will not have to be adjusted, as it’s okay as it is. Why? It’s okay, because that would EA’s predefined height for placing objects. Too high, and anything on the table vanishes. Too low, and things on the table float. A one-tile table should, in top down view, fit into one grid square of Milkshape, because a Milkshape grid square is the exact same size as a single Sim floor tile.
If we were making a dining table, we’d need to check that the width and length matched EA 1-tile tables too — so that the table fits the interaction with the Sim.
Notice how the tabletop is red? That means that section is currently selected. Anytime a part of your mesh is red in Milkshape, it means that that portion is selected. You can deselect everything by going to Edit ► Select None at any time and reselect by going to your Groups tab highlighting the group/mesh part and hitting Select.
Creating the Table Legs
Moving on to the table legs, again, we will use the Box button under the Model tab.
Draw a box about as wide as you would like to have a leg. See how it needs to be adjusted? Doesn’t look like a leg yet. So, we’ll adjust.
Scaling the Leg
See the X Y Z circled? These are all the axes of your object. X for the side, Y for up and down, and Z for front and back.
We obviously want to take the box and reduce it from front to back, so we will put a 0.9 value in the Z field:
- X = 1.0
- Y = 1.0Z = 0.9
1.0 moves nothing. 1.1 makes large adjustments to the box outward from either X, Y, or Z. 1.01 makes smaller adjustments that direction whereas 0.9 shortens the mesh part in the direction of X, Y, Z. 0.99 makes smaller adjustments, and so on.
We click on the Scale button next to the X, Y, Z. Click until you have a square as in the picture.
Now we have to move the cube to the corner where a leg should go, right? But how are we going to see that over that old EA object I am trying to replace, you ask?
Hiding Reference Mesh
Go back to the Groups tab. See that we now have 3 groups?
group_1 (EA’s default)
We want to click on the group_1 now and then click the Hide button.
This will hide our original object so we can work with our new one.
You should now have only Box01 and Box02 visible. Box02 is the leg which is red, which means it’s already selected.
Go back to the Model tab and click the Move button.
Now you can move the leg to where it should be.
We want 4 legs, so let’s move on to the other legs. With your leg selected (it is if it’s red) go to Edit ► Duplicate Selection.
Now you have 2 legs.
Looking in the Group tab you can see our duplicate named Duplicate01.
Can’t see them in your viewer? That’s because one leg is on top of the other. We are going to fix that. Going to your Model tab, click Move and move that leg as shown to the back making sure your duplicate lines up with the original leg piece.
We are going to repeat this step two more times to get two more legs, moving them as I showed you to get them in the correct position for the table.
When you are done you should have something like this:
Make sure you only have 2 boxes and 3 duplicates when you are finished, along with your group_1 mesh.
Deleting Reference Mesh
We want to get rid of our original mesh at the point. So you will go to the Groups tab and click on group_1. Then hit Delete.
We now need to rename our groups in the Groups tab so we know what they are. This is very important for mapping our object!
Go to your Groups tab and select Box01. I want you to hit Select and see which part of our object this is. Box01 is the table top. So where you see the Rename butt on, there is a box next to it with the title. We are going to rename this Top. Type Top in that box and click on Rename.
We are going to do this for the rest of the pieces also, except you will name them Leg1, Leg2, Leg3, and Leg4. No spaces between the number and the word. Milkshape will lose anything you put a space in between. So if you name it Leg 1, instead of Leg1 then the 1 would be lost upon re-import later.
Exporting to OBJ
We are now going to export our mesh to a Wavefront .OBJ file. So you will go to File ► Export ► Wavefront OBJ… and save your object with a name like Table or whatever you like. Now close Milkshape.
When you close Milkshape, it will ask you if you wish to save the file. This is totally up to you. We have already saved our file to a wavefront OBJ. This option will save it to an MS3D file for Milkshape. If you need to save your project with the bone assignments we will be talking about so you can come back to it later, clicking yes will save the project intact with all the bones assigned.
Milkshape allows you to create some basic shapes – spheres, boxes and cylinders. Have a look around, and you‘ll see that most objects can be broken down into some combination of these.
Our table is a collection of boxes, but you could, for example, make the legs round by creating a cylinder for each leg.
A knob on a dresser or even on our table could be made from a sphere and so on.
Using this idea, you can build the basic shape of the object, and then manipulate and move until you have the finished object you wish to make.
We are going to cover one version of UV Mapper – UV Mapper Classic, which is a free version. Later there will be a separate mapping tutorial for UV Mapper Pro which is pay. Keep in mind that I recommend Investing in UV Mapper Pro once you decide meshing is what you want to do.
You must UV map your object in order for it to work properly in the game. This was the same for TS2, however in TS3 you must map your parts separate from each other and not overlap. This is very important.
Open UV Mapper Classic. Go to:
File ► Load Model
Find our table mesh .OBJ fi le in the folder you saved it to and click on it. A screen will pop up that gives you the vertex count as well as the facets (which is the poly count).
Click OK and your mesh should show in the window like below.
Doesn’t look like much, does it? Well we’ll fix that. Go to Edit ► Select ► by Group…
Now a box will pop up listing the groups that we made and renamed in Milkshape.
Let’s select Leg1 by clicking on it and then OK. We want to begin mapping our parts so we will go to Edit ► New UV Map ► Box.
Another window will pop up asking us for dimensions. I’m going to leave this to default and click OK.
Do you see how that made 6 pieces to our mesh? That’s what we want. Now we’ll resize that smaller for use later.
Slide at the dots to scale the image down. You should have something like below.
See where my Leg1 is now? We will repeat this process for all the groups in the mesh:
We want to make sure none of the parts are overlapping so when we scale each piece we will put on a different part of the white area.
You can hold down your Shift key while selecting to add more of your parts to the selection without using what’s already been selected. You can also use the arrow keys to nudge your parts up and down.
When you are done, your screen should be like mine with all the parts on different places on this gigantic white part.
See how I have scaled all to fit the space I’m working in? Now our parts are separate, and we can begin the first process of mapping our mesh as it needs to be.
Now think of a single tile object in game. It fits one solid floor tile, right? One floor tile is 256×256 pixels. How high is it? About the same. We have to think of the object’s height and width.
However, if we make a 256×256 texture, that will only be big enough for the tabletop.
So we need an image that is big enough to fi t the table top (256×256), the table underside (256×256) and of course the legs which are also 256 pixels high.
Why you ask? So our textures do not stretch. If we don’t follow these guidelines our textures will stretch beyond belief and we will embarrass ourselves with our object.
So, we will begin by clicking Edit ► Select by ► Vertex.
Now I want to begin to select each side of the flattened object one at a time. Here we go.
If you hit the ESC key in UV Mapper Classic it will undo your last edit on your mesh. There is a helpful hotkey guide under the menu entry Help.
I am going to drag my cursor over the first section of flattened mesh so that one little piece is selected like the one below.
Now I can resize that one piece of the side of the mesh part.
Our goal here is to have something that will work with our finished mesh texture in Workshop. I know this is one of the legs, so I will separate it and resize it like the one below.
We need to do that for all of the leg pieces. They are obviously the
ones on the map that have the same box map. Notice how one is
different? That’s our top. So in turn you are going to take all the
long pieces of the 2 legs on top and place on your map until your
map looks like mine.
Notice the smaller squares I have circled at the top? These were the tops and bottoms of the legs. UV Mapper auto mapped these for the dimensions it “saw.”
We need to move and resize these too keeping in mind that these will not be visible parts on the finished mesh so that our map does not need to dedicate a lot of space to them.
So I have scaled them and moved them.
Now we are going to do the same for the other 2 legs so that we make sure our dimensions are properly done on the map. Following the above procedure and placing your legs as shown below.
Now we want to make these legs fit better on our map. So we will drag our cursor first over the top set of leg sides and move them to fit that half of our white space on the map.
We will do the same for the bottom leg sides. Drag your cursor over the bottom sides and fit to the map in the same manner as you did the top keeping the bottom on the bottom part of the map.
Time to do our tabletop. Remember the tile rule I discussed above? 256×256? Well here we will apply to the top of the table. The top and bottom of the table obviously must take up more space on your map for your texture to look correct. Otherwise, your texture will be blurred in-game. Looking at your table top, you will notice 2 large squares and 4 small rectangles. Because we have UV Mapper, make a box map it automatically sized the top and bottom part of the table larger, then the sides. Big plus for us, because we now know which parts are which. Now we want to map the top so that the top and bottom take up as much of the other half of our white space as we can. Why? Well because if we don’t, our textures will blur on our object.
Selecting the pieces to the top like we did the legs, by dragging the cursor over the flattened mesh piece, we are going to resize the top and top sides so that they fit our map, making sure they don’t overlap.
UV maps fit onto whatever size texture we give them, therefore UV mapper will stretch and shrink your map to fit its working space in the window, so don’t worry at this stage about making everything look neat and square, because we’ll still need to correct it in Milkshape later.
You may have to overlap while resizing. That’s okay as long as you keep the part your are editing “active” that is selected. You just need to make sure it does not overlap once you’re done. Notice how I moved the sides of the top over? That was to make room to work.
Now we will resize the sides the same length as the top.
We have finished with UV Mapper Classic for now. We are going to save our UV Map. Go to File ► Save Model and a screen pops up like the one below.
Leave the default boxes are checked and save your .OBJ file by renaming it and saving to the folder your original was in. I like to overwrite the original with the newly mapped version.
You’re going to feel like you’re on a seesaw by the time we’re done with this mapping business using UV Mapper Classic, because UV Mapper Classic has a complicated rotate option and right now we’re going to need to talk about wood grains.
The grain on your tabletop sides will look a lot better if it is vertical rather than horizontal. Also check whether the table edges look right, too. This probably is not the case with your mesh right now. Most likely the top sides at the very least will have to be adjusted and probably also the legs. It looks much better for the grains to be facing properly. If your grain is going the wrong way, you will have to fix this as I will show you how to do.
UV Mapper unwraps boxes and cylinders at the click of a button, whereas in Milkshape we have to do all that by hand — tediously. However, in Milkshape we can make easy adjustments and see the changes happen as we make them. With UV mapper Classica, it’s a downright bear to use the rotate option to assure that your wood grains can face the correct direction. We can do this much easier with the Milkshake mapping tool and achieve the same results we are looking for. So we will be switching to Milkshape to rotate our grain in the correct direction for the purpose of this tutorial. As you progress in your meshing journey, you will be able to choose which option seems best for you personally.
Open Milkshape 3D once more. Go to File ► Import ► Wavefront OBJ… and find your table. We need to select the parts we want to assign a texture to so we will go to the Groups tab and select each part of the mesh by clicking on the mesh part and hitting Select until the entire table is selected.
- Go to your Materials tab.
- Click on New. This will create a new texture file for your mesh.
- Then click on <none> top one. You will be able to load a texture from there. Any one will do. I chose to use a light wood one for this tutorial, 512×512, so we can see what I’m doing. This material does not export with your project. It is only a tool to use while mapping. A wood or striped texture is best so you can see the direction of the grain.
- Then click Assign.
Not seeing your texture? Check that Textured view is ticked when you right click the 3D window of Milkshape as instructed earlier in Setting up Milkshape 3D.
As you can see by my preview, the wood grain on the table sides is not in the direction that a real grain would be. I could show you how to fix this in UV Mapper Classic, but as it was pointed out to me, using Classic to fix the wood grain is quite complicated if you are a beginner!
See how blurry it is?
Now we will begin to fix the side of the table so that the wood grain is in the right direction. Go to Edit ► Select None. Then go to the Model tab and Select ► Face ► Ignore Backfaces. See how I have selected only one side? That is what we want.
If you’re having trouble selecting the face, it’s often easier to select more than you need and then deselect the faces you don’t require.
- To select one edge of your table, ensure you are on the Model tab.
- Click Select, then Face, and ensure the By Vertex box is ticked.
- Now draw around the vertices of the edge you are trying to select. You will select a lot more besides, but that’s okay.
- To deselect the excess, press down the Shift key, and, using your Right Mouse Button, draw around all the vertices you don’t want selected.
Opening Texture Coordinate Editor
Now we are going to Window ► Texture Coordinate Editor.
A window will pop up, which is where we will fix the direction of the grain. Now I want you to remember how we mapped our object in UV Mapper Classic. Our object is still mapped in this way. But when we work in the Texture Coordinator, it won’t show our entire mapped object. Why? Because w are selecting part of our mesh to edit. You must keep in the back of your mind how the entire map looks from when you left UV Mapper Classic. You will find out why as we go.
Selecting UV Faces
After you open the Texture Coordinate Editor, you will get a window that looks like the one below.
There is a Dropdown List. We want to click on it and select Top.
This is what you will see. Notice how our selected part is showing. Remember our UV Map in Mapper Classic? Yes, this is one of those mapped parts.
Rotating UV Faces
Now click on Rotate and rotate your piece 90 degrees by taking your mouse and manually rotating it with the Rotate tool.
If the vertices aren’t red in the texture window, you need to select them by clicking the Select button and drawing an imaginary box around the rectangle. When the dots are red, that piece is selected and can be rotated.
With Move and Scale, there are two very handy tick boxes: Lock X and Lock Y. These will lock movement either sideways (X) or up and down (Y) so you can scale or move your meshes in one direction only. This can be really useful for lining up parts of your mesh on the texture.
Using the section that says Angle, you can type in 90 for a clean 90 degree turn. You must untick Lock X and Lock Y to scale.
Now I want you to think back to your UV Map. Once we rotate it, it distorts our original map. Even though we will be taking this back to UV Mapper Classic, we want to make our life a bit easier.
Scaling UV Faces
So we are going to select the Scale tool and scale to a small square.
We will do this with parts of the table where the grain is going the wrong way. So close the editor and go back to the main Milkshape screen. You will see 4 dropdown lists in each of your 4 screens. These are the different angle views of the mesh.
Next, using the dropdown in the top left window, we will select Back.
Repeat the above steps from Selecting Faces to Scaling UV Faces until all 4 sides are remapped:
Pay particular attention to the legs of your table. Is the grain traveling vertically? If not, you might want to rotate the legs on your texture map the same way we just did the sides of the table.
However, if you must edit the legs on your table, you will want to hide the other legs while you work.
So going to the Groups tab, click each leg in turn and hit Hide. You will work on each leg separately. The Hide button hides and unhides your group part. Once you finish one leg, you will that leg and move on to Leg 2, unhiding and so on.
Remember that you must change the dropdown list in the Texture Coordinator Editor as shown in Selecting UV Faces for each part of your group.
Now we are going to go to File ► Export ► Wavefront OBJ… Replace your mesh with the one we have redone.
Fixing UV Map
Open UV Mapper Classic. Go to File ► Load model. Pick out the mesh you just exported from Milkshape 3D.
As you can see, your map has 4 squares where our rectangle maps would have been, so we’re going to fix that. When your map is loaded, you will go to Edit ► Color ► By Group. You should have 6 pieces in each color.
Remember how we worked with our pieces when we originally did this mapping? We are going to fix these 4 pieces by doing that again. Go to Edit ► Select By ► Vertex and drag across one of the squares with your cursor. If your parts are overlapping, please jump down to the Wood Grains section to learn how to fix it.
We want to redo the squares to the original mapping position, so drag them back into place one by one.
Stretch to the correct size.
When you’re done, your map should look like the one below.
Go to File ► Save Model and overwrite our table model.
We need to save a UV Map, which is basically a .BMP file, so we can use it for our texture files later. Go to File ► Save Texture Map. A screen will pop up. You need to change the dimension to 512×512. Then click OK and name it table.bmp.
Now we are ready to begin the last part of our journey in making our mesh in Milkshape 3D.
We want to regroup the mesh into one part. Go to Edit ► Select All. This should make your entire wireframe preview red. Go to your Groups tab and click on Regroup.
Milkshape will rename the group Regroup00 automatically.
High Level Detail Mesh
We’re going to talk about the High Detail Mesh and the Low Detail Mesh. In Sims 3, there are many parts to something you can actually use in-game.
Because our wonderful programmers Micke and Johan have made it possible to autogenerate the shadow mesh in Workshop, we no longer have to worry about manually doing 2 of the 4 parts.
You basically have 3 types of shadows. Two are Sun Shadows for the High and Low Detail Mesh, and one is an actual Ground Shadow. We don’t have to worry about the sun shadows, but we do have to adjust the Ground Shadow to fit our mesh.
Keep in mind that we have made a very simple table so that our High and Low Detail Mesh will be the same. This is not always the normal routine for the High and Low Detail Meshes.
Generally you need to reduce the amount of vertices and faces of your Low Detail Mesh for a mesh such as a vase. A vase would have more polygons than the table that we have made, as it is a more complicated mesh. Then you would use the DirectX tool in Milkshape 3D.
For the purpose of this tutorial, we not going to go into the DirectX Mesh Tool.
Checking Current Assignments
You will now have a single file that is named Regroup00. We are ready to import our .WSO file. Go to File ► Import ► TSRW Object. Select the High Detail Mesh and import. Your screen should look like the one below.
Now we have to mess with the Bone, also known in Milkshape as the Joint. In Sims 3, most objects have bones that must be assigned. Very few do not.
Go to the Joints tab in Milkshape. Click on the String of Numbers there as shown below and click on the button Select Assigned. It now will whow you which part of the mesh is assigned. It shows in red in your mesh window. Ad you can see here, the bone is assigned to the table itself.
Ordering and Renaming
So we know that this bone is assigned to the table only. Now we’re going to go back to the Groups tab.
We want to delete the original EA table so that our mesh is the only table here. Click on the mesh (in this case, group_1) and click Delete.
Now we should have group_0 and Regroup00. The groups for meshes in Sims 3 MUST be in the order of the original mesh. Since group_0 is the first mesh in the original mesh, it should be on top in the order of the list in Milkshape. So select group_0 and tick the Up button in the tab.
As you can see here, it placed group_0 at the top.
We are going to rename Regroup00 to group_1 to match our old file. Go to the Groups tab and click on the Regroup00 group, then in the space circled, overwrite it, naming it group_1 and click Rename.
Now we are ready to assign the Bone/Joint. Select the table (select group_1 and the table should be red), and go back to the Joints tab. With the table selected, click Assign.
We are going to talk for a minute about the ground shadow part of our mesh (those flat planes on the bottom). If you look, you can see 4 small squares on that flat plane. Those are our table leg shadows.
The rest of the plane carries the texture for underneath of our table. In Workshop, there is a Shadow Texture in the materials part of the Mesh tab.
This actually has all of the shadow files for every mesh in the game. What EA has done is mapped the shadow to any one of these textures and resized to what a real life shadow would look like.
Extracting Shadow Texture
Since we want our table to have the proper shadows, I am going to quickly show you how to do that.
Open TSR Workshop and open your saved .WRK file.
- In Workshop, click on the Mesh tab. Make sure the dropdown list displays High level of detail.
- There should be more than one mesh group listed.
- Look for group_0. This is the ground shadow of the table.
- Click the word material next to Default material, and then the dots button that will appear.
- Click the Edit button.
- You can click the image, and then click the red Export button at the top.
- Export it as .DDS.
All EA objects use this very same Atlas, so we’ll export this and you can keep it for all time. Open your graphics program and save it as a .JPG or .PNG file for use later.
Assigning Shadow Texture
Go to your Groups tab, click on the group_0 mesh group (our shadow file) and hit Select.
Now remember that shadow file I just had you grab from Workshop? We will use that as our guide to adjust the shadow file. So as we did above to assign the texture to our table, we will do the same to assign the shadow to our ground shadow.
Make sure you deselect your table mesh before starting the shadow by going to the Groups tab and hitting the Select option (this will un-highlight your table).
Then click on your shadow file (The flat plane) which should be group_0 and click on Select which should now select the group_0 (it will be red). In the Materials tab click:
- In here you will load the Shadow Texture from above.
- Click Assign and you should be able to see your shadow under your mesh in the 3D window of Milkshape.
Since our object is pretty much scaled the same as the original, you won’t see a big difference here in the shadows.
But think about a different shape. Suppose our legs pointed inward a bit. Those 4 squares would not be in line with the legs. Suppose we made round legs? Then we wouldn’t want square shadows now would we?
This is where you would adjust that shadow. Just to take a look go to Window ► Texture Coordinator Editor.
In the drop down list as we did above click on group_0. You will see the shadow file I just gave you in the texture window. You can see the shadow files highlighted (the squares with red dots), and from here you can move them to the proper shadow by using the Move option and resize the shadow by using the Scale option.
See how there are soft shadows, dark shadows, and square and round shadows? You can move that square around to fit what type of shadow you think your mesh should use.
The One on the right, the plain square is our table legs shadow while the one on the right is the underside of the table top.
Our mesh is pretty close to where the shadows should be already. So we will leave as they are for now.
Saving High Level Mesh
We are now ready to export to our .WSO fi le for Workshop. Go to File ► Export ► TSRW Object and replace your High Detail Mesh file.
Low Level Detail Mesh
You will do the same for your Low Detail Mesh as the steps we took with the High Detail Mesh. So we will go to Edit ► Delete All to get rid of our current .WSO file for the High Detail Mesh. You already have a mapped .OBJ file, so you can import that and your low detail mesh.
Go to File ► Import ► TSRW Object. Import your Low Detail Mesh. You should have it in Milkshape when you are done.
You will notice once you import your Low Detail Mesh there is no floor shadow (the flat plane on the bottom). This is normal. The low detail does not have this included. Do you see how your low detail .WSO has only one group? It’s named group_0 because it’s the only group in your low detail .WSO file in this instance.
Now go to File ► Import ► Wavefront OBJ. You will import the .OBJ file we used for the High Detail Mesh. Now you will have the situation like the image below.
Now you will select in turn each group by clicking on them and hitting Select. Once your table is selected you will hit Regroup.
We now have Regroup00 in the groups window. Delete the group named group_0 and so what should we name our new group? Well group_0 of course! As we named our files in the high detail group_0 and group_1, it’s the same for the low detail, except that the low detail only has one group.
Therefore, Rename your Regroup00 to group_0.
Making sure your table is highlighted in red by selecting. We will again go to the Joints tab, click on the string of numbers, and click Assign.
As mentioned above, we already have the lowest poly count we can with this object so that you can import your mesh to the low detail WSO, assign your bones, and then export to the low poly mesh. In this case you will use the low detail mesh to make your sun shadow files in Workshop. This will not always be the case! More complicated objects need you to reduce the poly count before you continue with the low detail mesh! If you do not keep this in mind once you are practiced and making more complicated meshes, you can have very inflated files, which can really slow someone’s game considerably.
Now go to File ► Export ► TSRW Object. Export your .WSO, overwriting the Low Detail Mesh .WSO file.
You are now ready to import your mesh back to Workshop. Open Workshop. We need to open your .WRK file for the table. So click on Open Project. Find your table file where you saved it and open it.
Use the dropdown list and click the Import button.
Sun Shadow Meshes
We are now going to talk about Workshop and Sun Shadow Meshes. TS3 has sun shadows in game. If you see an object in game, you will see it not only has the floor shadow we talked about earlier, but also a shadow that appears to be given from the sun. These files are part of your mesh. We can autogenerate these in TSR Workshop.
Making sure you have imported your High LOD and Low LOD first, using the dropdown list, click on Shadow high level of detail.
See the arrowed button? This will generate the shadow for us.
Click on the arrows and the dialog below will pop up.
You want to choose from the list the higher vertices and faces count because this would be the actual table mesh. How do we know this? Think back to your table. It has all the vertices and faces, the other being the ground shadow. The ground shadow will always have the lower count.
We want to select our table, so click on it and hit OK.
Pat yourself on the back. Job well done!
Keep in mind that you want to start with simple objects and work your way to more complicated ones. Be patient, have fun, and take your time. Remember that not all objects will have the same high detail and low detail mesh, or you will have objects so large, no one would be able to use them.
Wood Grains in Milkshape 3D
We’re going to do a little mapping in Milkshape 3D. You could do all your mapping in Milkshape once you’re experienced. However, the benefit of using UV Mapper is that it can very quickly map out boxes and spheres for you. Once you’re used to mapping, you can use what you feel comfortable using.
Now we are going to see what happens when our wood grain is all messed up and we need to fi x it so that our object can look like it should. All wood grains going in the expected real life way which makes your object look a tad better.
Open Milkshape 3D.
We are going to set up our Milkshape to make sure we have some vital things working before we begin.
At the top of Milkshape make sure Show Viewport Caption is checked. Go to Window ► Show Viewport Caption.
Right click the 3D View and select Textured.
We’re ready to begin. I am going to start by creating a box. Go to the Model tab in Milkshape and click on Box.
We’re going to create a totally square box like the one below.
We’re going to create a Wavefront .OBJ file like we did for our table. Go to File ► Export ► Wavefront OBJ. Name it simply square.
Now we will open UV Mapper and import our square, File ► Load Model, and then find the square. Using the procedure above, I want you to click Edit ► Select ► by Group…
Notice because we did not rename our square, it’s simply box01. That’s okay, as we’re not really going to use this for a mesh; we’re using it to learn those infamous wood grains. With our square selected, again as we did above, click on Edit ► New UV Map ► Box.
You should have something in UV Mapper as shown. This is what we want. Now again, as above we shall export our Wavefront .OBJ and overwrite our square File ► Save Model.
Leave all defaults checked and overwrite square.
Now open up Milkshape 3D again. Go to File ► Import ► Wavefront OBJ just like we did for our table. Import the file we named square.
Select your square by going to the Groups tab and clicking on the group box01 and then hit Select.
See how our box has now turned red? That’s what we want. It’s now active and selected.
- Go to your Materials.
- Click on New. This will create a new texture fi le for your mesh.
- Then click on <none> top one. You will be able to load a texture from there. Anyone will do. I chose to use a light wood one for this tutorial 512×512 so we can see what I’m doing. A wood or striped texture is best so you can see the direction of your wood grain.
- Then click Assign.
Look at the grain direction on this square. We want to change that. We want the grain to face sideways.
We’re going to use Milkshape’s Texture Editor to get the map correct.
We want to map each side of our square. Therefore click Select, then Face and tick Ignore Backfaces. Now we will begin to select our mesh parts.
As you can see there are 3 windows that have Front, Left, and Top. We will change those as we go to map all sides of the mesh.
As you can see from the image below, I have selected one side of the mesh – the Front.
You select by dragging your cursor over the face of the object. It is the part that looks like the square with the line through it diagonally.
See how the side I selected is in red? Now I’m ready to map that side.
Go to the top and click Window ► Texture Coordinate Editor.
You will have a window pop up.
Notice how only one side of our mesh is in this box. That’s because we only chose one side. We will be working with the circled buttons, which are Move and Scale. The tab that now has box01 is the dropdown list for the pieces of your mesh.
Now we want to rotate this square so that the wood grain is going in a different direction. You can see by the picture the wood grain is going up and down, but we want it to go sideways.
So click the Rotate button and rotate the object 90 degrees, right or left. It doesn’t matter on this object.
Then close the Texture Coordinate Editor.
Look at your mesh in the 3D window. See how we changed the wood grain’s direction?
We want to do this for each side of our mesh. We are going to repeat this procedure for the Back, Left, and Right sides of the mesh by using the small drop down boxes I circled earlier.
So using the drop down you will select the Back as shown below. Then you will repeat the steps by going to the top and click Window ► Texture Coordinate Editor.
Once you have repeated the steps for each side we will go back to UV Mapper. We will now go to File ► Export ► Wavefront OBJ.
Open UV Mapper. We are going to fix our map now to the proportions we would need to actually make our square mapped and not have the textures stretch.
I am going to go to Edit ► Select by ► Vertex. By selecting the corner of each overlapping square, I can move the corners away from the overlapped parts.
I have selected the corner and moved it off the other square piece. See that red dot in the middle of my selection? That is the vertex I selected.
I’m going to do that for each overlap that I have one at a time until all squares are in their own space.
We want to move our squares around now so that each square takes up 1/6 of our map. Remember the rules for the map space we covered earlier. In the case of our square each side is the same so all 6 sides will need equal space on the map.
Using the same technique we will select each square and move them to fill the map. You should have something as shown when you are finished.
Now we will save our model and our UV map as we did above. You now have a mapped square with all the grain going the correct way. Hopefully you now can be well on your way to meshing with ease!
Ready to learn more about creating objects in The Sims 3? You’re now ready for Sims 3 Objection Creation Part 2!