I'm trying to make a new hair mesh after following a mash of different tutorials (I'm using Blender instead of Milkshape, and have never done conversions or Sims 2 CAS parts) to edit an existing mesh as a first test (that worked fine!), but I can't seem to get my new mesh to actually appear in the game - the hairstyle is there in CAS, but it's just a scalp and sometimes a weirdly flickering black square under the sim's feet.
What I've done:
Exported the mesh and textures from a base game hairstyle (the adult female long thin braids) using CTU
Made a completely new mesh in Blender 2.92 with SmugTomato's Blender GEOM tools v2.1.3 (thank youuuuu): made strands from nurbs curves, converted them to meshes, joined all the meshes into one, decimated the mesh to reduce the poly count, imported the LOD0 of the adult female long thin braids to transfer its GEOM data to the new mesh, assigned the upper and lower half of the vertices in the new mesh to vertex groups named b_HeadNew_ and b_Spine2_ (no idea if this is right, this was based on HystericalParoxysm's Milkshape tutorial), duplicated the mesh and reversed the vertex order (Mesh>Sort Elements>Reverse, another Milkshape thing I'm not sure if I did right), scaled down the duplicate by about 0.999 (do I actually need to do undersides for a hairstyle where all the strands are tubes?), renamed the vertex groups and recalculated vertex IDs with the Sims 3 GEOM tool (why? I couldn't export until I did this but I'm puzzled), and then exported the mesh to a new .simgeom
Packaged everything up with DABOOBS - used the same .simgeom for LODs 0 and 1, and a version decimated again to under 2000 polys for LOD2; used the texture files from the long thin braids basegame hair, which I don't expect to look good but was hoping would at least work for checking my new mesh with
Loaded the game and saw that this did not work
And that's where I am, currently. Any advice on where I might be going wrong would be appreciated! The package and an image of the mesh are attached if that's any use.
[Edit: It's possible the problem was that I named my vertex groups wrong! (was using only one underscore _ instead of two __) The mesh now appears, but is not attached to the head at all, it's down by the sim's foot for some reason - it moves with the head like it's linked to that bone, but with a really weird offset.]
[Edit: The reason the mesh wasn't lined up properly with the body was that its origin in Blender wasn't in the right place! The way to fix this is Object>Snap>Cursor To World Origin, then select the mesh, then Object>Set Origin>Origin To 3D Cursor. Otherwise, the hair will be offset from the body by whatever distance its origin in Blender was offset from the world origin.]
[Edit: Just some more useful information I've learned - Blender can transfer vertex weights from one mesh to another using the DataTransfer modifier, so you don't have to do that from scratch if you have another mesh to reference (for example, a base game hair that's about the same length as your new mesh and falls roughly the same way around the head/shoulders/back). After that, use Mesh>Weights>Limit Total on the new mesh to limit the number of bones for each vertex to 4 so you'll be able to export it to a .geom, and also Mesh>Weights>Normalize All in case the data transfer messed up any weights.]