Replies: 5 (Who?), Viewed: 2799 times.
Test Subject
Original Poster
#1 Old 16th Aug 2021 at 6:23 PM Last edited by thornowl : 24th Sep 2022 at 4:13 PM.
Default Completely avoiding Milkshape (Blender 2.79-2.8+) / Manually editing bone assignments and morphs (Blender 2.8-2.9)
This post is sponsored by me struggling to select a vertex in Milkshape for like 20 minutes. Anyone who recommends MS to you in 2021 is either trolling or salty that they had to buy it back in the TS3 era.

This is mostly a collection of tips for making clothes (and maybe other CAS parts?) in Blender and TSRW. All of this information is probably obvious for the enlightened masters of the community, but considering that some people struggle to import an .obj into Blender, I think it could be useful to at least one beginner CC creator. Yours truly spent like a day trying to find this info on the Internet before giving up and figuring it out on my own.
I do have an actual question I'll ask in the end. Gotta justify posting it in this forum somehow.

Milkshape No More [Blender 2.79/2.8+]

My workflow is mostly copied from Lyralei's great Maxis Match tutorial with a few adjustments.
She uses Milkshape for five important steps: renaming the mesh to group_base, aligning normals, fixing seams, making lod2/3 and exporting as wso. Let's talk about how to do it all without Milkshape.

First, renaming the mesh. That one is easy. Just rename the mesh in Blender, duh.
Don't forget to change the name next to the white triangle, which you can see by clicking the plus button (2.79) or a small triangle pointing right (2.8+).

If MeshToolKit still refuses to see the mesh, make sure you exported it as an OBJ group rather than an OBJ object.

Next, normals. Even if we ignore our goal to ditch MS, its Align Normals function has let me down before. I use a method suggested by my friend miha97sr, which involves splitting sharp edges.
If you look at some EA meshes, you may notice that they seem to use it as well - that's why their meshes have so many double vertices. It's a common practice in games: Genshin Impact does that too, for example.
First, make sure you have disabled auto smoothing in object properties.

Next, select all edges/edge loops you want to be sharp (for example, the bottom edge of a skirt), press CTRL+E and click Mark Sharp. The edge should now become cyan.

Finally, add an Edge Split modifier and disable Edge Angle. Don't apply it, Blender will do that for you when you export the mesh. Just let it be.


! Be careful, however, if you're working with a relatively highpoly mesh, as splitting edges will increase your vertex count. You can temporarily apply the modifier to see the new vertex count, then Ctrl+Z to keep working. Make sure you're below the absolute maximum of 10k vertices for tops/5k for bottoms/15k for full body outfits, otherwise everything is going to break.

Before and after:



Next, seams. As Lyralei mentions, MeshToolKit has an option to fix seams, and personally I've never had it fail. You need to make sure that the seam loops are untouched, and if you happened to mess them up somehow, you can fix it with the snap tool. Add an EA mesh and snap those vertices back to where they belong.
Unless you added more vertices to that loop for some reason, you should be fine.



Seam Fixer seems to be partially broken in the latest version and doesn't work for toddlers, elders or female teens (other groups are fine). If you make clothes for those groups, get the 1.3 version as well.

! Skip the Seam Fixer for LOD2 and LOD3 if you don't wanna mentally scar yourself and your fans.

If you really don't want seams on your LODs, you can probably match seam vertices to EAxis positions and match normals with MTK. Maybe. I'm not deranged enough to try that.

Making LODs is easy with Blender's Decimate modifier, I think it works even better than Milkshape's. Drag the Ratio slider to the left to decrease the polycount. Just make sure it's first in the list before Edge Split, otherwise your LODs will have holes in them.


To be fair, some creators say that they prefer Milkshape's tools for LODs, but. I mean. You won't see those LODs up close during normal gameplay, and if you really care about quality, you might as well make them by hand. To me, it's not worth the hassle of using MS.

Finally, export it as .obj like usual, and make sure the export settings are correct.

Open MeshToolKit and run the OBJ to WSO conversion.

It tries to assign bones to the mesh, but the results can be a bit underwhelming. Just run it through all auto tools for WSO like usual.

Here we go, we prepared our mesh for TSRW without using Milkshape at all.



Editing bone assignments

Now, the fun part for deranged perfectionists like myself. Since my meshes are significantly different from any EA reference, bone assignments and morphs can get a bit wonky despite MTK's best efforts. All tutorials on fixing it I've found are done in Milkshape, and I don't understand why, since GEOM Tools exist.
I couldn't get them to work in 2.79, though. If 2.8+ crashes on launch for you because you're a proud owner of Intel HD Graphics, you can check Intel's website and get the latest driver for your GPU (Intel updated the drivers for old cards in like 2019 for some reason). It runs at 10-15 fps, but hey, better than nothing.

Editing bone assignments in Blender is fairly easy if you know what you're doing. Open your TSRW project, go to Edit > Project contents like when you export it as .package. Scroll down to the first GEOM in the list (for LOD1) and click Export.

Export is as a binary file.


Change its file extension from .bin to .simgeom.


Now open Blender with GEOM Tools installed and either go File > Import > Sims 3 GEOM as usual or switch to Scene properties and use the GEOM Tools panel there.


! When importing GEOMs, make sure that the "Preserve Normals" box is checked (it's in the import window on the right), or your mesh is gonna have seams.


Switch to Edit Mode, select a vertex and press N. Find Vertex Weights in the Item tab — that's the bone assignments for that vertex.


Open Viewport Overlays and enable Vertex Group Weights.


The mesh will turn blue. To see the weights of a specific bone on the model, just click on one of the names in the list.


Hopefully, you already know what to do with this setup. If you don't, check out this Blender tutorial.
Weight paint works fine, btw.

After you're done, you need to make it ready for the game. Sims 3 needs all vertices to have a combined weight influence of 1 (which likely won't be the case after you edited them) and be assigned to 4 or less vertex groups. If it's assigned to more than 4, GEOM Tools will yell "Stop right there, criminal scum" at you and refuse to export the mesh.
To fix it, go to Weight Paint > Weights, select Normalize All (which fixes the first problem) and then Limit Total, which will delete any excess vertex groups assigned by Normalize All.


Now you can export the mesh as .simgeom, change its extension to .bin and import it back to TSRW.

Editing morphs

Editing morphs is easier to do, but more tricky to set up for this workflow... Make sure you follow these instructions very carefully unless you 100% know what you're doing. This process is incredibly sensitive to user error, a tiny mistake will turn your beautiful creation into a flat blob on the floor or an eldritch abomination.

For some reason exporting BGEOs from TSRW doesn't work properly for me, so I used S3PE for this.
Export your CAS part as .package and open it in S3PE, then scroll down until you find four BGEOs. Those are your fat, fit, thin and special morphs (in that order).


Right click the morph you want to edit (I wanna edit the thin morph, so I'll click the third BGEO) and export it to file. If you want to rename it, make sure you don't delete the .blendgeom extension.

Tip: if S3PE has a stroke every time you click anything and takes years to load, switch Preview to Off at the bottom of the screen.


GEOM Tools don't support this file format, so we'll use MTK to convert it. Open Morph Tools > Convert to mesh, then select the BGEO and the base GEOM you extracted from TSRW (check the first part of "Editing bone assignments" if you haven't done that yet, or just export the GEOM from S3PE).


Import your base GEOM (the one you exported from TSRW/S3PE, not the one you just made with MTK) into Blender, then either go File > Import > Sims 3 Morph or navigate to GEOM Tools' panel in Scene Properties and click Import Morphs. If you don't see this button or see "Make Morph" instead, make sure the base mesh is selected. Import the morph GEOM you made with MTK.


! Again, when importing GEOMs, make sure that the "Preserve Normals" box is checked (it's in the import window on the right), or your mesh is gonna have seams.


Your morph should now appear as geom_MORPH_0, and you can edit it like a normal mesh.
Don't delete or add any vertices if you don't want to break your morph.
Tip: if you used Split Edge modifier for the mesh and now want to move a vertex that has a double, use proportional editing to keep them together.

When you're done, select the base GEOM mesh (not the morph) and export it as .simgeom. You'll see two files appear: one for the base mesh and the morph with a _MORPH_0 suffix.


Now we need to put it back in TSRW. First, if you didn't edit all 4 morphs, you'll need to export the rest of BGEOs from S3PE as well. Since I edited the thin mesh, for me that will be the first, second and fourth BGEO. Rename them while exporting so that you know which one is which.
When you're done, open MTK and go to Conversion Tools > GEOM to TSRW WSO. Select all the five meshes you just exported and click Convert to TSRW.

Now you can import this wso file into TSRW as usual.

I'm not exactly an expert on this, so if you know a way to do all of this more efficiently, please let me know.
Honestly, I don't know why tutorials for this stuff are nowhere to be found, since good Blender tools are there to use and it's much easier than editing in Milkshape imo.

For the actual question... One thing that bothers me is if there's a way to manually offset the hands from the body in an idle position, like when sims are wearing wide skirts.

You can achieve that by cloning a CAS part that already has that offset, like the base game hidden repairman outfit. But there aren't many options for guys, and I wanna make, like, REALLY wide skirts lmao

Edit: in case someone has the same question, you can export/import bonedeltas in TSRW (explained in LadySmoks's reply). There's also a bonedelta editor, but looking at it makes me wanna quit 3D.

Special thanks to Lyralei, CmarNYC, cmomoney and SmugTomato for making the masochistic experience of creating Sims 3 CC more tolerable
Research on bones/morphs editing was mostly done out of spite for a friend who said it's impossible
7 users say thanks for this. (Who?)
Advertisement
Virtual gardener
staff: administrator
#2 Old 24th Aug 2021 at 11:26 AM
Great tutorial!

I'lll admit, since Smugtomato released their Blender GEOM tool (See: https://modthesims.info/d/656413/bl...-2-8x-2-9x.html)

I've been entirely skipping Milkshape from my workflow too! Since forever I always thought it was a bit of a finicky program to work with (and, I think we all can agree that Blender just has gotten so comfortable to use, that Milkshape is just a nightmare to work with, especially with vertices and what not).

I actually hadn't thought of doing it the way you're doing it though! Personally, I just clone a CASpart with S3OC, then export the GEOM I need, import that into blender, make the changes/apply a whole new mesh over it, and voila! But your approach might be more favourable since you don't have to worry too much, when meshing an item from scratch, about the bones and the morphs :p

Regarding the question though, I really have to dive deep into that again. I know somewhere in either the BGEOM or the GEOM file there's something for that, but I honestly don't remember so I might edit my comment once I figure that one out again.
Lab Assistant
#3 Old 12th Feb 2022 at 10:26 PM
Quote:
Originally Posted by thornowl
This post is sponsored by me struggling to select a vertex in Milkshape for like 20 minutes. Anyone who recommends MS to you in 2021 is either trolling or salty that they had to buy it back in the TS3 era.

But there aren't many options for guys, and I wanna make, like, REALLY wide skirts lmao

Special thanks to Lyralei, CmarNYC, cmomoney and SmugTomato for making the masochistic experience of creating Sims 3 CC more tolerable
Research on bones/morphs editing was mostly done out of spite for a friend who said it's impossible

Wonderful tutorial!!! You do several things differently than I, and present things I will need to try, and see how they work for me. Often, many roads from point A to B! A matter of finding best one. )))

I have never used Milkshape... $$$ Many use it and Blender, but I have always found ways to do all in Blender. As you mention with custom meshes, Tool Kit has limits. I still cannot live without it! I have alway fixed morphs by converting the morphed by Tool Kit .wso, convert to .obj, and importing them all to Blender as "split by group". Then to adjust each vertices in each mesh as necessary. Can be tedious! But, often must be done, especially fat morphs. ((( Then export as .obj and try to convert in Tool Kit to .wso, but something happens on export sometimes, and I must convert .obj to geom, then to .wso. Often, I only use this as a new reference and remorph my original mesh.

As to arms and wide skirts... There are several in various EPs. I forget which exactly, but Into The Future has a few which EA moved the arms out, as I believe mail carrier and repair woman. The mascot from University is ridiculously moved out. I will export the bondeltas as .bin and name 0 thru 4 as they correspond to morphs, base, fat, etc. My project in TSRW, I export and save the originals as back up, then import those bondeltas to my work. You can do the same in s3pe, but if you need to return to the TSRW file, you still have the old bonedeltas, and then have to switch again.
Test Subject
#4 Old 9th Sep 2022 at 8:02 AM
Dearest apologies. I am working in the newest version of blender and TSRW doesn't seem to be able to read "group_base". I renamed both triangles and MeshToolkit accepted the OBJ. It was exported under "Objects Groups". This is the error message TSRW gives me.

Found no base group, CASP mesh import requires one group named 'group_base'. Rename the groups and try again.

I'm having trouble figuring out my mistake.
Test Subject
Original Poster
#5 Old 24th Sep 2022 at 4:17 PM
Quote:
Originally Posted by Blazinga
Dearest apologies. I am working in the newest version of blender and TSRW doesn't seem to be able to read "group_base". I renamed both triangles and MeshToolkit accepted the OBJ. It was exported under "Objects Groups". This is the error message TSRW gives me.

Found no base group, CASP mesh import requires one group named 'group_base'. Rename the groups and try again.

I'm having trouble figuring out my mistake.

idk if you lurk without logging in or something. i sent you a dm two weeks ago
Back to top