Hi there! You are currently browsing as a guest. Why not create an account? Then you get less ads, can thank creators, post feedback, keep a list of your favourites, and more!
Field Researcher
Original Poster
#1 Old 29th Jan 2023 at 4:31 PM Last edited by mirabellarose : 31st Mar 2023 at 2:50 AM. Reason: Am an idiot and thought of a better way to do things
Default TS3 to TSM Hair Conversion for Blender FULL TUTORIAL
Hello. I've got a tutorial for you that will walk you ALL the way through converting a hair using Blender—no need to futz with Milkshape for this. Yes, this includes resizing the hairs so they aren't so cringeworthy. This is entirely geared toward beginners. Ready? Here we go!

What you will need:

* S3PE 14-0222-1852
* Grim's CASP wrapper
* Blender 2.80
* Smugtomato’s .simgeom addon
* TSR Workshop
* The TSM heads/bodies
* The patterns Sauris provided

What this tutorial will teach you:
Everything.

What this tutorial will not teach you:
How to breathe.

**Please note that when I say LOD 0, LOD 1, LOD 2, or LOD 3 I’m referring to the very high LOD, the high LOD, the medium LOD, and the low LOD, respectively.

Before beginning, it will be helpful to make a folder to hold all your files. My memory is the worst and if I’m interrupted, I have trouble remembering which files I’ve edited, and which are untouched once I get back to work. It helps to have a folder to put each edited .simgeom file in after I’m done with my edits. It also helps to have a folder to hold the completed hairs. Basically, just make a butt ton of folders to hold every conceivable thing. It’ll keep you organized.

1. Unzip the S3PE 14-0222-1852 portable file and put Grim's wrappers in the main folder. Let the files overwrite if it asks.
2. Open S3PE and turn off preview so that S3PE doesn't lag.
3. Drag and drop the package file in the main window. A new window will pop up. Make sure your settings are like mine and click the import button.
4. It’ll ask you if you want to autosave your import. Click no. We’ll save the file later.

**Alternatively, you can right-click on the package file, choose properties, and set it to automatically open with S3PE. Be sure to click Apply then OK before closing the properties window. If you set your computer to automatically open package files all you’ll have to do to open the file in S3PE is double-click it. This will save time if you’re converting multiple hairs.











5. Hold Ctrl and select the thumbnail (if there is one) and the 2nd, 4th, 5th, and 6th, GEOM files. Right-click and choose Export > To File. DO NOT RENAME THE FILES. You'll need the information in the names later.
6. If it's an old hair, there will be only four GEOMs. If so, just export all four GEOMs.

Nerd Explanation: You don’t need to export the 1st and 3rd GEOMs. Those GEOMs contain just one polygon and are only present because of the shader that’s associated with them. At some point, it became necessary for hairs to have two shaders. The SimSkin shader and the SimHair shader. The SimSkin shader doesn’t show transparency while the SimHair shader does. Because the Simskin shader doesn’t show transparency the solution is to have this shader assigned to just one polygon. That way, the shader exists in the file—this keeps the game happy—but doesn’t affect anything. Old hairs don’t have two shaders which is why there are only four GEOMs instead of six.



7. Download and install the .simgeom addon in Blender 2.80. Edit > Preferences > Add-ons > Install. Navigate to the file and click Install Addon from File. It should show up in the list but if you don't see it type "sim" in the search bar. Put a checkmark next to the addon to enable it.







8. Import the head .obj into Blender. File > Import > Wavefront (.obj). If you’re converting a female hair import the AF head; if a hair for a male, import the AM head. The female and male heads are not the same size so be sure to import the correct head. If you are converting long hair import the body, as well. You can, if you want, import the .obj file that's the head and the body combined but I found that it’s better if you keep the head and the body separate. I’ll explain why that is later.



9. Import the LOD 0 (very high LOD) simgeom. File > Import > Sims 3 GEOM (.simgeom). You can tell which one it is by its file size. You can also look at the instance number of the 2nd GEOM in S3PE to identify the file. In my case, the LOD 0 instance number is 0x164432DC44E5C9CE as you can see in the earlier screenshot of S3PE.



10. Select the mesh and press Tab to enter edit mode. The entire mesh should be selected; the whole thing will be orange if so. If it isn’t, press A to select everything.



Handy tip: after selecting the mesh, press 5 on the Numpad to enter orthographic mode then press the period key on the Numpad to zoom into the mesh. This way, the camera will rotate easily around the mesh. If you want to zoom into a certain section of your mesh, select a vertex or edge, or face (doesn’t matter which) then press the period key on the Numpad. If, for some reason, you want to return to perspective view just press 5 again.

11. Scale the hair down and move it if needed. To scale use the S key and you can constrain the sizing to the X, Y, or Z axis by pressing X, Y, or Z after pressing S. Rotate the mesh with R, and move the mesh using G. Just as with scaling, you can restrain your movements or rotation to the X, Y, or Z axis, as well. Don’t worry if the hair clips into the head; you’re making rough adjustments right now. In my case, I had to scale the hair overall and then scale it further along the Y-axis. The hair was wide when looking at it from the side view. This made the bangs clip into the head but that’s okay.
12. Now we need to fine-tune the adjustments. Before beginning, make sure you are in vertex select mode (1) and turn on Proportional Editing (2). You’ll need to utilize Show X-Ray (3), as well. The keyboard shortcut for Show X-Ray is Alt + Z.



Handy tip: Show X-Ray is a valuable tool for this task because it makes the mesh semi-transparent and allows you to select vertices that you wouldn’t otherwise be able to grab. Proportional Editing is useful, too. Proportional Editing will move the vertices surrounding a selection in proportion to what you’ve selected. It keeps things smooth looking. Here is a video explaining the tool.

Please note that in Blender 2.80 Proportional Editing has three modes. You can read more about the modes here.

At times, you may find Connected Only to be useful as it doesn’t change the shape of unconnected hair cards, but I haven’t found Projected from View to be helpful. Usually, I leave Connected Only and Projected from View unchecked.

Nerd explanation: At some point, you will encounter the word “normals.” What are normals? Meshes have a front side and a back side (duh) and the term “normals” refers to the front side of a mesh. In most video games, if not all, the front of a mesh will be rendered okay, but the underside will be invisible. Obviously, this is not what you want so you have to make sure the meshes are facing the right way. In Blender, when a mesh is facing the wrong way—when you’re dealing with “flipped normals” (another term you’ll encounter)—the mesh will appear dark grey. Unless I’m mistaken, in Milkshape the mesh will appear black. In both software applications, if back face culling has been enabled the underside of a mesh will appear invisible. Alpha hairs are made up of multiple strips called hair cards that are layered on top of each other. Transparency in the mesh is important—otherwise, the texture will not be rendered appropriately—but having the mesh turn completely invisible when viewed from certain angles is dumb and ugly. To fix this issue the hair cards are duplicated and the duplicated cards’ normals are flipped so that they are facing inward (alternatively, if you’re modeling in Blender, you can do the same thing with the Solidify modifier. Just be sure to uncheck Fill Rim). This way, you’ll have hair cards that are back-to-back, and you’ll see no unwanted transparency in the game. Why am I explaining all this? So that you understand why Show X-Ray is useful. As stated earlier, it lets you grab the vertices of the hair cards that have their normals flipped. If you move vertices that are back-to-back you can avoid hair cards clipping into one another. You’ll see what I mean as you continue through the tutorial.

13. Press A twice to deselect the mesh. Or you can left-click somewhere in the window.
14. Before you start fine-tuning your adjustments, remember, if you have Proportional Editing turned on for the first time and you press S, or G, or R you need to scroll your mouse wheel inward to resize the circle thing. (I’m sorry. I don’t know what that circle is named in Blender).



15. Turn on Show X-Ray (Alt + Z) and use B to select some vertices. If you accidentally select some vertices and want to deselect them, you can lasso deselect by holding Ctrl + Shift and using the right mouse button to draw an outline around what you want to deselect.



16. I can’t give details at this point because every hair will require something different. Usually, I turn on Show X-Ray, grab some vertices to move (you don’t have to grab all of them; just one vertex or a few vertices in the area you want to be moved), turn off Show X-Ray so I can better see what I’m doing, and I’ll move the vertices and perhaps rotate them, if necessary. I continue doing this until the hair is shaped the way I want.
17. Another useful thing to do is to hide the body by either clicking the eye in the outliner up in the right-hand corner or by selecting the body then pressing H, and then rotating the camera until you can see inside the head. You can then grab some vertices with Show X-Ray turned on, then move those vertices. You can also enter user perspective view and zoom so close to the head that you find yourself inside it and grab vertices that way. The goal is to keep as many vertices outside of the head as possible but in some cases, the mesh will look worse if some areas aren’t clipping into the head—it’ll look as if the hair is not connected to the scalp. This is especially true around the hairline. Just use your best judgment. Use Alt + H to unhide anything you’ve hidden.

By the way, this is why I said it’s best to import the head and body separately. You can’t see inside the head if the body is attached to it. I discovered this the hard way. Ugh.



Handy tip: Sometimes, it helps to see how the texture looks on the hair as you’re moving vertices. To do this, turn on preview in S3PE (so you can see what each texture looks like) and export the multiplier. There should be at least four IMG files. There’s the control, the multiplier, the specular, and the bump map. The bump map will appear transparent (it’s not. It just looks that way in S3PE and in TSRW); the specular is almost black; the control is red, green, and blue; and the multiplier is a light grey. Right-click the multiplier and choose Save DDS.



Back in Blender, click the materials tab (1) and click the New button to create a new material (2). Next to Base Color click the little circle button (3). In the new window that pops up, select Image Texture (4). Press the Open button (5) and open the multiplier you just exported. Hopefully, you’ll see the texture on the hair but if not set the viewport shading to show the texture (6). You may need to enter object mode to see the texture, however (7).







18. Rotate the camera around the hair to see if everything looks okay. If it does, hold shift and select both the head and the body then press X > delete.



19. Select the hair and go to File > Export > Sims 3 GEOM (.simgeom) and overwrite the LOD 0. Move the edited file to a new folder so that you know which one you’ve finished.



20. I really do not like the way the mesh shifts from LOD 0 to LOD 1 when you move the camera away from your sim in the game. I find it jarring. I prefer to use the LOD 0 for both LOD 0 and LOD 1. So, after saving over the LOD 0 file I save the file a second time and overwrite the LOD 1. This way both the LOD 0 and LOD 1 contain the same mesh. If, instead, you choose to reduce the polycount for the LOD 1 the instructions for that are in the next few steps.
21. Now, we need to reduce the polycount to make the other LODs. You should be in object mode but if you’re not press Tab. Go to the modifiers tab and click the Add Modifier button.
22. A new window will pop up. Select Decimate.



23. Click the Ratio button and slide your mouse to the left to lower the polycount. Or you can double-click it and enter a value. For instance, type in 0.5 to reduce the polycount by 50%. Click Apply when you’re done. (1)
24. It’s very possible you’ll have loose, unconnected vertices after decimating the mesh. Select your mesh and enter edit mode. Go to Mesh > Clean Up > Delete Loose. (2)



25. It’s also very possible that you have too many bones assigned to a single vertex or more. No vertex should have more than four bones assigned, and I believe this is true for all video games. Press F3 and in the search box that pops up enter “limit.” Select Limit Number of Weights per Vertex. (3) Blender should already have the limit set to 4 but if you need to double-check, you’ll see a little box appear in the lower left corner. You can open it up and see what the number is. (4)
26. Because you’ve removed vertices you have to renumber them (Renumbering is not needed unless you’ve added or deleted vertices). If I understand correctly, the purpose of renumbering is so that the game knows where each vertex exists in 3D space. This is helpful for making morphs but the addon seems to require renumbering whether your mesh has morphs or not. Go to the Scenes tab and press the Recalculate IDs button. Give it a few seconds and Blender will tell you what changes it’s made. (5)



27. Export the .simgeom and overwrite the LOD 2 file. Move the file into the folder with the other edited files.



28. Repeat the process for the last LOD.
29. Once you’ve edited the LOD 0, saved it twice and overwritten the LOD 0 and the LOD 1, and reduced the polycount for the LOD 2 and LOD 3, it’s time to import the meshes back into the package file.
30. Open the package file with S3PE. Right-click on the 2nd GEOM in the list (this is your LOD 0) and replace it with the LOD 0 that you edited. You can tell which it is by the instance number. In my case, the LOD 0 instance number is 164432DC44E5C9CE.
31. Do the same with the 4th, 5th, and 6th GEOM resource. Again, match up the instance numbers. Save your file and close S3PE. File > Save.



32. Open TSRW and click Create New Project.



33. A new window will pop up. Click New Import in the lower left corner then click next.



34. Click the browse button and navigate to the package file that you just saved. You’ll have to set the little window thing from TSR Workshop project (*.wso) to Package (*.package) to see your file. Open the file.



35. A little window will pop up asking if you’re working on a Sims 4 package. Click no, then click “next” twice followed by clicking OK. Wait for the meshes to load.



36. When TSRW finally opens click the texture tab. You can see that one of the patterns is striped and this won’t work for TSM. If you convert a hair that contains a pattern that TSM doesn’t have the hair will be red. And by “red” I mean blinding, neon red. To avoid this, we need to set the patterns to solid colors.
37. Click Pattern A and a little edit button will appear. Click Edit.



38. A new window will pop up. Click the import button. (It has a green arrow on it). Navigate to one of the patterns that Sauris provided. It doesn’t matter which one. Click done to import the pattern. The other patterns should be solid colors so you can ignore those.



Alternatively, you can click the icon with the folder in the upper left corner and select a solid pattern that way. You can find a solid pattern in the miscellaneous section.

**Important note: I discovered that there's usually a weird shine when the medium and low LODs are displayed in the game. So, before you continue follow the instructions at the end of this tutorial and remove the material entries for the medium and low LODs. After you've done that then continue with step 39.

39. At the top of TSRW click Edit > Project Contents.
40. A new window will pop up. Click Export > to .package and overwrite your package file. Click done when you’ve saved the file then click OK to close the window. You can close TSR Workshop after this.



In case you were wondering, I had you replace the meshes before changing the patterns because TSRW will change the instance numbers of the meshes once you export the package file. It’s easier to import the correct meshes when you can match up the instance numbers.

Helpful tip: Before exporting the package file from TSR Workshop it helps if you zoom into the hair in the 3D preview window first. The reason for this is that TSRW will take a snapshot of whatever is in the 3D window and make an icon from it. Many people don’t bother with this step and the result is an icon containing a tiny, tiny sim and you can’t see what the item is. Again, it makes it easier to identify what’s in a package file if there’s a thumbnail or at least an icon that shows a closeup of the mesh.

41. Open your package with S3PE again. Right-click anywhere in the window and choose Import > from file. Navigate to your thumbnail file and open it.



42. A new window will pop up. If you didn’t change the name of the thumbnail image, then everything in the window should already be filled out for you. Click OK to import the image. This thumbnail will not show up in the game, but I find it helpful in case I need to know what the hair looks like so you can identify it later if for some reason you need to.

**Important note: Save the file and close S3PE. Right-click the file, choose copy, then paste a copy of your file. It's best to do it this way because once you edit the CASP resource as described below you cannot open the file in TSRW. This is a problem if you find you need to make more edits. ALWAYS WORK WITH A COPY OF YOUR FILE. Trust me on this. I found out the hard way.



43. Open your copied file in S3PE. Click the CASP resource then click the grid button.



44. A new window will pop up. Unfold the MedievalProfession section and make a change. I changed Constable from false to true.



45. Unfold ClothingCategory and change all sections to true. Don’t change the unknowns, of course. Make sure IsHat, IsRevealing, and IsHiddenInCAS are set to false. You can decide whether you want to enable ValidForMaternity and/or ValidForRandom or not. Click Commit to close the window.



46. Right-click the CASP resource and choose Details. Or you can go to Resource > Details, but if you do, make sure the CASP resource has been selected first.



47. This will bring up a new window. We need to change the instance number. To do so, put a checkmark next to Compress and Use Resource Name.
48. In the Name box enter a unique name. I usually put in the name of the file and the month and year. In this case, I entered “01-A-Swift0123.”
49. Click the FNV64 button and a new 64-bit instance number will be created. Click OK when you are done.
50. Save your file.



51. And that’s it! Go have fun with your new spiffy hair!



IMPORTANT NOTE: This hair and many others will alter the color of the eyes. If this happens, it’s because of where the hair’s UV islands are located. These hairs were made for Sims 3. The eye texture in TS3 is located in a different spot than the eye texture for TSM. To fix this, you have two options. You can move the UV islands in Blender, but this would require a redo of the textures. That’s a lot of work. Or you can simply use a contact lens such as the one ChickieTeeta made. It’s located in the blush section in CAS.

Here's a screenshot of a hair’s UV islands that are covering up the eye texture so that you can visualize what I mean.



Edited to add: If you see parts of the hair shooting up then there's a problem with the weight paint. To fix this, select the hair and enter weight paint mode, then go to weights > normalize all.

More edits: I'm kind of learning as I go along so bear with me. Regarding the weights issue. If normalizing the weights doesn't work you can decimate each vertex group (the weights) one by one. There's a little box in the decimate window that lets you select which vertex group you want to decimate. It seems to me that usually, it's the b__Spine2__ vertex group that ends up borked when you decimate the mesh so, if you decimated all of the vertex groups except that one that will fix the problem. Maybe. I didn't try it, to be honest. The simplest solution is to use the very high LOD mesh for all of the LODs.

But, I noticed another problem. Sometimes, when the medium and low LODs are displayed there's a weird shine on the hair that's very obvious. The only solution to this that I've found is to remove all of the material entries in the medium LOD and low LOD. First, ALWAYS KEEP A COPY OF YOUR FILE BEFORE EDITING THE CASP RESOURCE. What I mean is do everything except edit the CASP resource, then make a copy of the file and then edit the CASP resource in the copied file. This way, you won't have to redo everything every time you need to make an edit to your file. Once you've edited the CASP resource, you can't open the file in TSR Workshop anymore so it's best to keep a version of the file that doesn't have the CASP resource changed. I hope that made sense.

Okay. Moving on.

Open the package file in TSR Workshop. Go into the medium LOD, open the material section, and delete every entry. Click done when you're finished. Then, go into the low LOD and do the same thing. Then export the package as I've described earlier. You'll need to reimport the thumbnail as TSRW removes it when you export a package. I explained how to do this above.

If all else fails, you can clone a new hair, and make the appropriate edits to it including deleting the material entries in the medium and low LODs. I'm going to go ahead and make a tutorial on that and I'll post it in the next post.

Here are some screenshots (hopefully) explaining things.




I'm Lolabellesims. Hi! Check out my stuff at The Sims Resource and at www.tumblr.com/lolabellesims. Maybe I'll go nuts and publish something here, too.
Advertisement
Field Researcher
Original Poster
#2 Old 30th Mar 2023 at 8:56 PM Last edited by mirabellarose : 31st Mar 2023 at 2:56 AM.
Reserved because I'm going to do a tutorial on converting a hair meant for females to males so that you can have both versions in your game at the same time. This tutorial will also be useful if you've tried to remove the annoying shine in the medium and low LODs as I explained above and the problem persists. This happened to me and I had to essentially start over with a freshly cloned hair.

Stay tuned.

I'm Lolabellesims. Hi! Check out my stuff at The Sims Resource and at www.tumblr.com/lolabellesims. Maybe I'll go nuts and publish something here, too.
Back to top