This is a featured upload!
It showcases the best talent and creativity available on MTS and in the community.
This is what the name implies - a set of tools for the serious Sims mesher. It's still very much a work in progress, but I've been working on it for almost six months and this seems like a good time to officially upload it. Updates will probably be frequent, especially as more people try it out.
Please report any bugs, problems, and stuff not working, and don't hesitate to suggest any (reasonable) improvements!
Some of the Toolkit screens are attached below for illustration. Select files using the buttons which bring up the standard Windows file browser. Basic instructions for each function are in the tab for that function. As more tutorials for the use of this set of tools are done by me or others, I'll link them below.
Frankensteined Clothing in Seven (reasonably) Easy Steps
(GEOM FrankenMesh, BGEO for clothing, GEOM tangent fixer)
List of functions:
- Examine Mesh - display GEOM data: Select a GEOM (.simgeom or .geom) file and its contents will be displayed. Click the 'Display Faces' and 'Display Vertex Data' buttons for listings of detail face and vertex information.
- FrankenMesh - select one to three modified (or unmodified) base meshes, with their original morphs, and make a new combined base with combined morphs. If only one mesh is selected it will be renumbered and its morphs will be updated to match it. Morphs can be either morph GEOMs or the BGEO files the game and most custom packages use.
- Match Morphs - select a modified base GEOM mesh and its original morphs, and update the morphs to work with the modified base mesh. Morphs can be either GEOM or BGEO.
- Number/Renumber Meshes - select a set of a base GEOM and its morphs (GEOM or BGEO) and renumber vertex IDs or add them to meshes with no numbering.
- Combine Meshes - combines up to three meshes with no other changes.
- Replace Values - select a source GEOM and target GEOM and copy selected data from one to the other - useful if you want to revert to original UV or bones or whatever without losing other changes.
- Convert to TSRW WSO - just what it says. Select a set of base GEOM and its morphs (GEOM or BGEO) and make a .wso file suitable for importing into TSRW.
- Mesh Tangent Fixer - recalculates tangents, useful to fix muscle definition distortion in meshed edited with Milkshape or Blender. Select a GEOM base mesh and save a recalculated mesh file. Can also be used on TSRW meshes - export project contents as a .package, extract GEOM meshes, recalculate with this tool, and replace the GEOMS in the package with the fixed ones.
- Examine WSO - select a .wso mesh file and display its contents. Click on the meshes listed (base, fat, fit, thin, special) for a detail listing of vertex and face information.
- FrankenMesh - select one to three WSO meshes and they will be combined into one with morphs updated to match altered bases. If you select only one mesh the morph update only will be done.
- Match Morphs - select a .wso mesh and the morphs will be updated to match an edited base.
- Examine BGEO - select a BGEO morph data file and display its contents. Click each section for each age/gender/species (if there's more than one) to display a detail listing of morph data.
- Make Clothing/Hair BGEO - enter a unique name for the specific item and morph (Ex: cmar_amDemoTopModifed_fat), select morph meshes for each lod, and make a BGEO suitable for clothing or hair. Makes one morph at a time. Up to three meshes (ex: lod1, lod1_1, etc.) can be selected for each lod.
- Make Slider BGEO - enter a unique name for your morph, select the age/gender/species, and select a morph mesh for each applicable lod. Click the 'Add new Age/Gender/Species Group' button to include more ages, genders, or species. Takes the selected morph meshes and makes a BGEO suitable for sliders.
- Convert to Mesh - select a BGEO morph data file and the corresponding base mesh(es) and make morph meshes to match the bases.
Auto tools for GEOM
- Examine SKCON - select a .skcon skeleton data file and display the contents.
- Bone Scan - select a GEOM or TSRW .wso mesh file and this tool will scan it for underweighted bones, missing bones, etc. Problems will be fixed if possible and a new mesh can be saved.
- Match Bones at Seams - Milkshape rounds off bone assignments which can result in a small gap at seams between meshes, usually at the waist, which appears only in the game. This function takes a mesh and a reference unaltered EA mesh and changes the bone assignments of all vertices at the same positions to fix this problem.
Auto tools for WSO
- Auto-assign bones - select a base GEOM mesh to assign bones to (target mesh) and a similar reference GEOM base mesh to get bone information from. Reads the bone assignments from the reference mesh and applies them with optional interpolation to the target mesh. All vertices in the target mesh can be processed or only ones with no bone assignments.
- Auto-create morph - select the base mesh you're working on and a similar reference base mesh and its morph (GEOM or BGEO). Reads morph data from the reference base and morph pair and applies them to make a new morph GEOM mesh with optional interpolation. Makes one morph (fat, fit, thin, special) at a time.
- Auto-assign UV - select a base GEOM mesh to assign UV coordinates for and a similar reference GEOM base mesh. Reads UV coordinates from the reference mesh and applies them with optional interpolation to the target mesh. This is of very limited use since seams are not handled well, but it might be a starting point or handy for texture assignment in Milkshape or Blender.
- Auto-assign Vertex ID - select a GEOM mesh with missing vertex IDs and an optional, similar reference GEOM mesh. Copies vertex IDs from the nearest vertices, either from the reference mesh or the same mesh.
- Mesh Mirror - Select a GEOM base mesh and its morphs (GEOM or BGEO). The mesh will be flipped horizontally, including creating new morphs, and including flipping bones and UV coordinates. The mirror can be saved as a separate mesh or combined with the original.
(added in V1.1)
- Auto-assign bones - select a WSO mesh to assign bones to (target mesh) and a similar reference WSO mesh to get bone information from. Reads the bone assignments from the reference mesh and applies them with optional interpolation to the target mesh. All vertices in the target mesh can be processed or only ones with no bone assignments.
- Auto-create morph - select the WSO mesh you're working on and a similar reference WSO mesh with working morphs. Reads morph data from the reference mesh and applies them to make morph meshgroups for your mesh with optional interpolation. Makes all morphs at the same time.
(added in V1.3)
To-do for a future version
- Name Those Files - adds names for unnamed resources in packages containing CASPs (the vast majority of clothing/hair/accessories/makeup/tattoo/etc. packages).
- Add Morphs to Clothing/Hair - easy addition of morphs to CASP packages. Lets you import either morph meshes or BGEOs. Imported morph meshes can be added to the package either automatically converted to BGEO format or in mesh format. (BGEOs are the standard method and should be used for the final product unless there is some reason not to. The morph mesh format may be useful during development and in special cases.) Please note the procedure for use:
- Open the package
- Add each morph
- Save the package
- Close the package
- Fix Tangents - recalculates tangents for all the GEOM meshes in a package in one easy step.
I'm no longer developing this tool.
Unzip all files into a folder and run MeshToolKit.exe. You must have .NET 3.5 or higher installed. This should also run under Wine or Mono on Mac / Linux, and I'd like feedback from anyone who tries.
Delete the files.
Here's the lovely Jessi, who arrived as half a woman with no bones or morphs.
After auto-bone assignment using a swimsuit mesh as reference here she is with vertex colors based on bones - I had to fix a few verts between her fingers but that was all:
And here are auto-created morphs. The fat and pregnant ones are a little bumpy but this will probably not happen on a normal-poly mesh:
And last, after Mesh Mirror and auto-UV assignment. The UV mapping needs a lot of work.
BloomsBase for the Jessi mesh - she made an excellent example of a super high-poly mesh to show what Toolkit is capable of. Plus she's rather eye-catching!
Everyone in the Create forums for help, feedback, and suggestions.
Peter and Inge Jones for s3pi which is used for package handling: https://sourceforge.net/projects/s3pi/
7/28/12: Version 1.1
9/2/12: Version 1.2
- Added Auto-bone assignments and Auto-morph for TSRW WSO
- Added separate tab for WSO auto functions
- Fixed bug of next vertex ID number not being updated in GEOM renumber function
- Added ability to optionally add vertex ID for meshes without them in ID-numbering functions
- Added GEOM mesh combine function for all mesh types with no renumbering or morph updating
- More clearly labeled slots for files in BGEO / Make Clothing/Hair BGEO function
- Added functions for GEOM and WSO meshes to match bone assignments at seams with other meshes
- Removed BoneScan finding of 'imprecise bone weights' since it's useless
- Fixed bug in Auto_assign vertex ID
- Fixed behavior of GEOM Copy Values which copied bone assignments incorrectly
- Fixed really dumb error in WSO auto-morph and morph-match functions which scrambled UV maps
- Fixed bugs in bone weight fix tools
- Fixed 'too many bones' detection for WSO meshes
Also a somewhat related note - TSR has fixed the TSRW calculation of tangents in its new version that came out 8/28, so now muscle definition should show up correctly on TSRW items.
9/6/2012: Version 18.104.22.168
Bugfix for an error causing the Frankenmesh function to crap out if morphs are included.
9/11/2012: Version 22.214.171.124
2/13/2013: Version 126.96.36.199
- Bugfix for TSRW tools not correctly handling meshes with no morphs
- Bugfix for Bone Tools / Match Bones at Seams not correctly assigning TSRW .wso bones
- Bugfix for Bone Tools / Match Bones at Seams incorrectly allowing .wso reference meshes
12/20/2018: Version 188.8.131.52
- New tab of "Package Tools" added:
- Name Those Files
- Add morphs to Package
- Fix Tangents for all meshes in package
- Bugfix for TSRW Auto-Bone that caused Index Out of Range crashes in certain meshes
- Bugfix for GEOM Combine Meshes causing errors when combining Pet meshes
- Bugfix for bad logic in Auto Bone for GEOM and WSO that assigned extra weight to last bones in assignments
- Bugfix for creation of morph meshes by morph-match and from BGEO. This bug was significant only when using morph meshes in packages instead of a BGEO.
Various small fixes which I worked on years ago but never got to updating the tool. This version is untested and should be considered a beta, so I'm leaving the previous version up for now. Please report any specific problems you find in it.