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 24th Feb 2023 at 6:42 PM
Default Hair showing through sim
Hello!
I'm doing a hair conversion (TS4toTS2), everything turned out fine, but for some reason the lower part of the hairstyle - a braid, shines through the sim. There are 3 parts in the mesh - hair (skull and hair on the head), hair_alpha3 (braids around the head), hair_alpha 5 (back braid and ribbon). As soon as I did not rearrange the transparency and the order of the parts, nothing changes, the braid also shines through the sim. I even combined all the parts into a common mesh (hair), but the result is the same. This is the second hairstile had this problem with. Where the hair is neck length, everything is fine.
I really need advice and ideas what could be the problem.


bodyshop video (don't know how to embed video here)
https://youtu.be/uqzEkZ9_aLs
Screenshots
Advertisement
Mad Poster
#2 Old 24th Feb 2023 at 7:23 PM Last edited by simmer22 : 24th Feb 2023 at 7:35 PM.
Can you upload the files (mesh + texture, the package files?)

Usually this is caused by having the wrong setting in the TXMT, but that's usually more of an issue for accessories (there's an issue with cloned glasses in Bodyshop). Hairs should normally get the right setting, but there could be the odd one out that causes this bug.

You can check if the hairs have "StandardMaterial" (which would cause this issue) instead of "SimStandardMaterial" (the proper setting for most hair groups) in the "cMaterialDefinition" tab in the TXMT for any hair_alpha parts.

If you have any parts that are supposed to stay skin colored, these need to be in a separate group called "hair", with the "SimSkin" setting in the TXMT. Generally, it's a good idea to keep that one for hairs, unless they're large enough to hide the whole scalp/forehead/ear section of the head.

You shouldn't collapse all of them into one group, that would cause other issues.

--

Another possibility is if the layering of the mesh parts and/or the opacity settings (if you're using Milkshape?) are off, which would cause the game to think it's supposed to layer the mesh in the wrong order. But then only the hair would be the problem, and it shouldn't show through the rest of the sim.

There's a few other things too, but it would help to look at the files (if none of the above is it).
Field Researcher
Original Poster
#3 Old 25th Feb 2023 at 7:57 AM
Material properties (TXMT) says "SimStandardMaterial", I checked. Sending project files.
Attached files:
File Type: zip  project HairMeshKorean02.zip (2.13 MB, 1 downloads)
Mad Poster
#4 Old 25th Feb 2023 at 1:10 PM
It's possible the issue comes from partially unassigned bones. If the hair is imported into SimPE with partly unassigned vertices, that could also cause the see-through issue. Did you auto-assign them?

In Milkshape, if you use more than 2 joints for a vertex, the comment "NumSkinWgts:" needs to be set as "NumSkinWgts: 3" to be able to read all of the info. If set to 1 it only uses one joint for each vertex, 2 only uses 2 joints.

If you export a partly unassigned mesh to Milkshape (for fixing or similar), it gives you a prompt asking you if you want to fix unassigned bones, and it will assign those weights somewhat randomly to the other vertices already used, usually giving the highest weighting to the joint at the top of the list, but roughly keeping the same weighting (for the setting 2 or 3 - for 1, it only keeps the first joint and sets it to 100).

If you're working only with Milkshape, there's a couple tools in the Vertex menu called "Sims 2 Unimesh Select Underweighted Bones V4.09" and another called "Sims 2 Unimesh Fix Underweighted Bones V4.09", which could come in handy. You can also use the "Adjust other weights [100]" in the Joints menu, to make weights set to 100 if you're doing anything manually.

If you click "no" in the prompt for fixing unassigned bones, the partly unassigned bones won't always register as such (they may show up as assigned to "none" but greyed out, and it doesn't seem like Milkshape always acknowledges them as unassigned). It's best used for checking a mesh if you're unsure it has unassigned joints.

(Not sure if Blender has a similar system to the comments in Milkshape, some way to save the joints info a particular way, but when the file is exported from Milkshape to SimPE, the info is stored in the Elements tab in the GMDC in SimPE)
Field Researcher
Original Poster
#5 Old 25th Feb 2023 at 1:56 PM
You are probably right, since I tried to take a different hairstyle as a reference, there in the source mesh "NumSkinWgts: 3" and it works fine.
I made a multi mesh (adult, teenager, child) and now in the adult and teenager the mesh had "NumSkinWgts: 3", and in the child "NumSkinWgts: 2" and this mesh again gave a similar show-through effect. But I don't know how to fix it, simple editing in the comments doesn't work, so I had to look for a suitable mesh where all age groups have "NumSkinWgts: 3".
Thanks for the help, I will try and figure out how I can fix "NumSkinWgts: 2" to "NumSkinWgts: 3" on my own.
Mad Poster
#6 Old 25th Feb 2023 at 4:40 PM
The easiest method (if you use Milkshape) is to import the mesh, click "yes" to "fix underweighted bones". Then click the "comments" button in the Groups tab, change the number, click "ok", do this for all the groups, and then export the mesh, and import it back to SimPE again.

Do that with each of the meshes.

While you're at it in Milkshape, change the order of the mesh groups so Hair is on top, then Hair_alpha3, and hair_alpha5 at the bottom (there's up/down buttons in the Groups tab). Technically the game should be able to see the correct group layering using the "opacity" setting (-1 for "Hair" group, and rising numbers for each alpha group - I mostly see odd numbers used here), but sometimes it helps having the proper order in the mesh file, too.
Back to top