Quick Reply
Search this Thread
Test Subject
Original Poster
#1 Old 22nd Jun 2024 at 1:01 AM
Default Every time I use this specific hair in CAS, my computer fan goes crazy even though it's only 1500 poly. What's wrong?
So sorry if this is not the right thread to post this in. It's not my mesh, I'm just looking to fix it if there's a problem. I'm also a complete beginner when it comes to creating CC so chances are not high that I can fix it, but I'd like to know if it's even possible, and if not, if it's bad idea to keep it in my game or not.
I'm trying to use this hair by Rollo-rolls on Tumblr, but as the title says, my computer hates it for some reason. It's not high-poly at all, but it is a resize, and I noticed in-game that the hitbox (or whatever it's called) is much bigger than the actual hair... so then I opened it in Blender and it looks like the mesh itself was not resized, only the texture. Could that be it? I don't know enough about anything to know if that would cause problems, but if so, would it be super hard to fix? Or, could there be another problem with the hair altogether?
Also, if it is unfixable, does my fan going off mean it could be doing damage to my computer like what can happen with high-poly meshes? Or am I good?
Any help would be greatly appreciated!!
Advertisement
Instructor
#2 Old 22nd Jun 2024 at 3:53 AM
While nothing stands out to me while looking at the package itself, there's a huge red flag ingame- with the FPS counter on, the game falls from an even 59fps to 12fps. Definitely something wrong, so I took a deeper look.

I found an archive of the original aikea-guinea hair and it does have the same issue.
To rule out that an issue hasn't been inherited between versions, I pulled the meshes and textures- compressing some parts that could benefit from it- and put the hair back together in Delphy's Barbershop. This one drops frames to a crawl as well.
I'm confident it's the unique scale of the mesh, perhaps the complexity of the pieces pointing in all directions as well. I made a smaller tester in Blender and it only drops to 36- which is still an issue, no hair I've made makes it drop at all, but means it can improve.

/

Personally, I wouldn't use the hair in this state from a pure performance standpoint. Whatever is stressing the game to the point of an 80% frame drop sounds unpleasant for the rest of the game trying to function around it.
But it's likely not PC damaging unless your hardware temps are reaching unsafe levels under that strain, or if you hear a whine/whistle like noise from your graphics card.

As for fixing it, it's not a very difficult job if you know a little bit of Blender.
I have a Blender setup tutorial here, you'll also need SmugTomato's GEOM plugin. The shape is the main complicated part, to resize while keeping the pieces where they need to be. Keeping the texture intact is more simple- scale the UV by the same amount and it should retain its appearance.
If you're not too interested in learning those tools to fix it, I could take a longer look at fixing it over the weekend. Alternatively, if you get the mesh to a point you're happy with I'd be glad to put the package together with LODs and morphs for it

The concept of a low poly CAS mesh being too large or complicated for perhaps the collision or lighting calculations, if I were to guess, is really interesting. As annoying of a problem it is, thank you for bringing it here!
Test Subject
Original Poster
#3 Old 22nd Jun 2024 at 6:23 AM
Quote: Originally posted by CardinalSims
While nothing stands out to me while looking at the package itself, there's a huge red flag ingame- with the FPS counter on, the game falls from an even 59fps to 12fps. Definitely something wrong, so I took a deeper look.

I found an archive of the original aikea-guinea hair and it does have the same issue.
To rule out that an issue hasn't been inherited between versions, I pulled the meshes and textures- compressing some parts that could benefit from it- and put the hair back together in Delphy's Barbershop. This one drops frames to a crawl as well.
I'm confident it's the unique scale of the mesh, perhaps the complexity of the pieces pointing in all directions as well. I made a smaller tester in Blender and it only drops to 36- which is still an issue, no hair I've made makes it drop at all, but means it can improve.

/

Personally, I wouldn't use the hair in this state from a pure performance standpoint. Whatever is stressing the game to the point of an 80% frame drop sounds unpleasant for the rest of the game trying to function around it.
But it's likely not PC damaging unless your hardware temps are reaching unsafe levels under that strain, or if you hear a whine/whistle like noise from your graphics card.

As for fixing it, it's not a very difficult job if you know a little bit of Blender.
I have a Blender setup tutorial here, you'll also need SmugTomato's GEOM plugin. The shape is the main complicated part, to resize while keeping the pieces where they need to be. Keeping the texture intact is more simple- scale the UV by the same amount and it should retain its appearance.
If you're not too interested in learning those tools to fix it, I could take a longer look at fixing it over the weekend. Alternatively, if you get the mesh to a point you're happy with I'd be glad to put the package together with LODs and morphs for it

The concept of a low poly CAS mesh being too large or complicated for perhaps the collision or lighting calculations, if I were to guess, is really interesting. As annoying of a problem it is, thank you for bringing it here!


Wow, thank you so much for your help!!! I wasn't expecting anyone to go into so much detail, I so so appreciate it I've been meaning to learn more about CC making/Blender so I will definitely look into your tutorial over the weekend. Fair warning, it's very possible that I won't be able to figure it out though so I might still need your help later on lol (if you're willing). Thank you again!
Test Subject
Original Poster
#4 Old 23rd Jun 2024 at 6:46 AM
Alright, I'm back! I followed a good chunk of your tutorial with another hair (got all the stuff in Blender done, minus editing the UV map because I only have GIMP)—super helpful by the way!! Do you have any idea when you might post part 3?

I'm still unclear on what I need to do to fix this hair though... it might be too ambitious of a project for my skill level. But, I'm still determined to try and get it fixed because I desperately need it for a certain sim. If it's too hard to explain it to me, then I would be very grateful if you'd try to fix it, but I also have no problem trying myself if you can explain. I can see that the mesh probably needs to be resized or cut down somehow so it's closer to the size of the texture (because wow, that is a lot of extra space), but I don't know how to go about doing that so the pieces all stay in the same place and without messing up the UV. What do you suggest I do?

Update: As I was writing this, I started messing around in Blender and found out you can chop off chunks of the mesh with the knife tool. However, due to the mesh having about a million pieces jutting out at all different directions, it's pretty hard to see what you're cutting, and on top of that you have to cut and delete every piece twice (sometimes more for some reason). I'm assuming that's because of the underside, but again, due to the construction of the mesh I imagine that would be extremely time-consuming to remove (unless there's a different way to do it other than what you had in your tutorial). I know you can separate by selection to isolate parts of the mesh, so that makes it a bit easier, but it's still not ideal. Is there an easier way to do it, like some way to mass-chop all the pieces instead of doing them one by one? Or is chopping up the mesh not what I should be doing in the first place?
Instructor
#5 Old 23rd Jun 2024 at 8:25 AM
I hope you're at least having fun with the process!
Admittedly, my own tutorials are a little outdated compared to how familiar I am with the process now and I ended up a little intimidated on how to continue or go about heavily updating them

For now, the focus can be on just resizing the mesh.
When I quickly made the smaller version as a test, it didn't look too bad except that some of the parts that sit on top of the head had sunken in too much. Other than moving pieces like that, you should be able to get most of this done just by utilising Scale (with geometry selected, the S key is a shortcut to scale with the movement of your mouse) and repositioning with Grab (G). The UV can also be modified in Blender, so with some luck may be able to skip any steps related to image editing.

Here's a quick image of the steps to preview the texture quickly:


And here's a pic of one piece of the hair separated:


As you can see, each piece of this hair is just two polygons making up one square. Other hairs would usually have a lot of polygons connected into one large piece of hair, which you'd be able to select individually and delete. These are limited to either adding cuts (which would be a repetitive manual job, as you noted) or simply scaling the square.

But taking this screenshot also helped me notice the second issue with this mesh- this piece actually has 4 faces. An unnecessary double of the faces have been welded together in a really strange way, effectively doubling the polycount for no reason- and in a way that Blender can't clean up automatically. Which could well be part of the reason it misbehaves in-game, my own brain doesn't like the math of 4 triangles having 5 edges altogether either
Checking a bunch of the other pieces and they ALL have this problem. Time for some invasive surgery.



Right-click in Edit Mode with the entire mesh selected to get the option to separate by loose parts (all 396 of them) so that you can hide all but a few. Or you can press L on one to Select Linked, and Separate by Selection to get just that one.
The hair is too dense to easily separate the backfaces (flipped copies of each piece that are supposed to be there, but will get in the way while editing) so I will go through each loose part today and remove them, then fix the doubled faces. I'll test how that effects performance on its own, but if it's still in need of resizing I'll upload the mesh for you to use as the base.

I'll keep screenshots of each step, so that even if I end up fixing it as I go along you can follow the same steps to know how to do so yourself
Screenshots
Instructor
#6 Old 23rd Jun 2024 at 11:37 AM
Here's a .blend file and two versions of the GEOM for you to experiment with: https://drive.google.com/file/d/14h...iew?usp=sharing

The .blend contains the hair, fully cleaned of the welded faces and separated into four pieces (Front, Back, Left, Right) to make it a little more accessible to edit. It will probably be purple when you open it, as it will be looking for the texture in the file path I had it- just go back to material properties or the Shading tab to open the texture again (which you can export from the original package in S3PE).
LOD0_base is the fully merged mesh if you'd rather import and mess around with that, and LOD0 is a complete one with backfaces.
This one drops to 20fps, so the resizing should still be done, but it's an improvement. The complete one has 776 faces- that means there were almost a THOUSAND unnecessary (functionally invisible) faces.

I don't know of any plugin or tool that can fix that kind of mesh deformity automatically, so I did it manually.
In Face Select mode (shortcut is 3), I selected the two visible faces, clicked Del, and chose Faces.

Which would show no visible change- because there were two more identical faces underneath. I repeated this on every individual square. Sometimes the tedious way is the only way about it.
Some might think "Why bother?" but I had a podcast on and an evening to burn, so why not?

In fact, I feel rather bad for the hair. It has been around for nine years, I'm pretty sure I've even downloaded it several years ago myself, and gone through four different creators- SupremeSims, julia526, aikea-guinea, and rollo-rolls - and that whole time it was crippled by a very severe oversight. It could have been the tiniest mistake when it was originally designed, or maybe it got run through something like Milkshape's Model Cleaner and it wasn't obvious that vertices and edges were merged destructively. It feels nice to patch it up so it doesn't have to lug all that mess around anymore.

Lastly, here's some of the steps you can follow for resizing:

Have a go at replicating those and let me know if the bigger areas are more troublesome to match up. I'll probably work away at my own resize, maybe one for aikea's texture too, but I'm sure it'll feel neat to have your own creation in your game
Screenshots
Test Subject
Original Poster
#7 Old 24th Jun 2024 at 7:40 AM
Quote: Originally posted by CardinalSims
I hope you're at least having fun with the process!
Admittedly, my own tutorials are a little outdated compared to how familiar I am with the process now and I ended up a little intimidated on how to continue or go about heavily updating them

Definitely! I've been meaning to learn Blender for a long time so I can make my own 3D models, and though I haven't gotten to the actual sculpting part yet, I'm so glad I was able to learn the basics and especially to not be completely alone throughout the process
Ah. That's totally understandable. Well, no pressure or rush, but I do hope you post it someday. If not though, I don't think anyone will be mad—the effort you put into parts 0-2 to make them so in-depth and easy to understand is more than enough. I can't understate how helpful it was!

Quote: Originally posted by CardinalSims
The complete one has 776 faces- that means there were almost a THOUSAND unnecessary (functionally invisible) faces.

I don't know of any plugin or tool that can fix that kind of mesh deformity automatically, so I did it manually.
In Face Select mode (shortcut is 3), I selected the two visible faces, clicked Del, and chose Faces.

Which would show no visible change- because there were two more identical faces underneath. I repeated this on every individual square. Sometimes the tedious way is the only way about it.

That is so much work you have done, wow Thank you so much! I wanted to add... I actually made a discovery. It's partly bad news because it means you did a lot of that work for nothing, but good news for the future because it means no one will ever have to do it again if there happens to be another mesh with the same problem. I noticed in my .blend of the hair that, when selecting any of the individual squares with L, it was showing the correct number of faces (2, instead of the 4 you had), and then, when I selected the whole mesh, it already had your fixed number of 776 faces. I was so confused because I knew I hadn't downloaded any of the files you gave me yet (thought I was going crazy for a second lol), so I did a bit of digging. Turns out, somewhere along the line I converted the geom file to a .obj file (probably before I started following your tutorial), and it looks like those extra faces got deleted in that process. I did multiple tests, both with aikea-guinea's version and rollo-rolls' resized version, and sure enough, it happens every time. It's also not dependent on Blender—I got the same results using TSR Workshop to export the geom as a .obj. Useful, but it does make me wonder if anything important is getting deleted too... it doesn't look like it from what I can see, but then again I don't really know what I'm doing lol. I'll probably still use your version for the removed backfaces and seperated parts which will be VERY helpful, but I am sorry you had to do all the extra work of deleting those duplicate faces.

Quote: Originally posted by CardinalSims
In fact, I feel rather bad for the hair. It has been around for nine years, I'm pretty sure I've even downloaded it several years ago myself, and gone through four different creators- SupremeSims, julia526, aikea-guinea, and rollo-rolls - and that whole time it was crippled by a very severe oversight. It could have been the tiniest mistake when it was originally designed, or maybe it got run through something like Milkshape's Model Cleaner and it wasn't obvious that vertices and edges were merged destructively. It feels nice to patch it up so it doesn't have to lug all that mess around anymore.

You clearly have a lot of love for content creation, I love that It really is a cool hair and there aren't many others like it at all, so I'm really glad it's fixable, or at least improvable. I'd hate to do a bunch of work just to keep it to myself, so I even might end up posting my completed version on Tumblr (I would give you credit too, of course). If nothing else I'll just post it in this thread for anyone who stumbles upon it. Unless you want to post your version, in which case I'll just leave that to you.

But I'm getting ahead of myself. As for actually fixing it, thank you so much for explaining all that, I was able to get the scaling to work without any issues!! I have a feeling it'll take me a while to do the whole thing, but I have a lot of free time so I'm going to try. I'll let you know if I run into any problems on the way. Thank you again for all your help so far, not just with the hair but for literally teaching me how to use Blender. You've been so nice
Instructor
#8 Old 24th Jun 2024 at 10:22 AM
Quote: Originally posted by lynbutnot
Turns out, somewhere along the line I converted the geom file to a .obj file (probably before I started following your tutorial), and it looks like those extra faces got deleted in that process.

That's an awesome discovery! That must mean that GEOM (and probably .wso too) can hold onto weird data like that when technically those faces shouldn't exist anymore. Specialised formats can have a few hiccups like that.

Converting through .obj is useful for a few other reasons, the only notable downside is that bone assignments are lost in that format. I usually start with an .obj when I make my own hairs, I'd just been sticking to GEOM so I could test it faster ingame- otherwise I may have eventually noticed.
No harm done, deleting a few hundred faces in Blender is fun in its own way

Feel free to do whatever you want with your edit. I think I'll focus on seeing if there is a way to optimise the aikea version further, to be playable while still that large. If I have any luck and share it on my blog, I will tag you
Test Subject
Original Poster
#9 Old 26th Jun 2024 at 2:47 AM
Alright, so it took me all day yesterday but I completed the hair and got it working in-game! So far my computer fan isn't going all crazy so that's great news. But something has gone wrong with the texture and I was wondering if you'd know why.
This is my version (excuse the ugly default sim):

And this is the original:

As you can hopefully see, the texture on my version looks a lot "crunchier" on some parts and just less full in general for some reason. Could that be the work of that extra layer of faces from earlier? That would suck Fingers crossed I just did something wrong somewhere.
Screenshots
Instructor
#10 Old 26th Jun 2024 at 6:14 AM
Looks like a transparency issue, which can sometimes happen depending on the order mesh parts are joined together and/or if somethings up with the shader data on the GEOM.

If you'd like to attach the package to a reply or link to a download, I can take a look at it and see if I can spy which of those might be to blame.
Test Subject
Original Poster
#11 Old 26th Jun 2024 at 10:31 PM
Quote: Originally posted by CardinalSims
Looks like a transparency issue, which can sometimes happen depending on the order mesh parts are joined together and/or if somethings up with the shader data on the GEOM.

If you'd like to attach the package to a reply or link to a download, I can take a look at it and see if I can spy which of those might be to blame.


Thank you! Here it is. I forgot to mention, I didn't add a halo texture because the original hair didn't have one. I know you said not to leave any of them blank, but I didn't know what else to put there so I just tried it without. Not sure if that has anything to do with it, but I wanted to make sure you knew that just in case.
Attached files:
File Type: zip  RR_SSRemiResized_v3EDIT.zip (4.79 MB, 2 downloads)
Instructor
#12 Old 27th Jun 2024 at 9:15 AM
The missing halo isn't a problem in this case, though in the future it wouldn't hurt to pull a halo from an existing hair to use. Other textures when left empty can cause some annoying issues.

A closer look at the screenshots and I'm quite sure it's related to the order the mesh parts are in- in short, when the game is rendering transparency it decides which ones are in front and which ones are behind, and combining mesh parts in Blender can rearrange that order. On a mesh this dense, it's difficult prevent all overlapping parts from looking strange (if you look at the darker part near the top of the original, you can see that the issue is actually happening there too- it just moved to another area) but you can lessen the effect. When viewed from an angle where the parts aren't overlapping, they'll look normal.

You can take the GEOM back into Blender, separate the parts that are misbehaving, and experiment with what order you re-combine them. Selecting the main mesh then the separated part and joining, or vice versa to see what order looks better ingame. Adding more/less layers of separation as needed. Make sure to clear the cache files between tests and you can import it right back into the same package after the MTNF fix*.
If desperate for the exact original look, you could try to apply what you've learned to the original mesh that wasn't separated for editing.
*I also discovered something a little silly about my own tutorial- the MTNF fix doesn't actually need to be exported and imported, just opening the GEOM in SimGeomEditor and saving is enough to fix it Well, at least that makes it a little faster to do little tweaks like this and import it right back into the same package.

Some other things that can mitigate the sharpness itself, combined with the above if it's still not looking quite how you want it, is to adjust the texture alpha itself and/or increase the transparency tolerance on the GEOM.
For the texture alpha, that would involve applying a small amount of blur to soften the edges of the cut out.
For the GEOM, selecting it in S3PE and pressing the Grid button on the bottom panel can allow you to access and edit the shader data directly. Changing the transparency from 1 to a number like 0.9 or 0.85 allows for 10-15% allowance for partially transparent pixels instead of strictly cutting it as visible vs invisible.


Here's a comparison of before and after applying those two changes, without fixing the order in Blender:


I also made some alternate textures for this hair while testing that you can use or edit if you want: https://drive.google.com/file/d/1kh...iew?usp=sharing
There's a new detailed normal map, the original control resaved as DXT1, and some different versions of the diffuse. V1 has a denoised (cleaned of pixellation / low resolution artifacts) alpha, V2 both the texture and the alpha are denoised (may be too smooth for your tastes), and V3 is the same but with blurred edges on the alpha as described above.
Screenshots
Test Subject
Original Poster
#13 Old 1st Jul 2024 at 10:43 PM
I've hardly had a free minute in the past few days but I'm back now! Sorry about that.

Quote: Originally posted by CardinalSims
A closer look at the screenshots and I'm quite sure it's related to the order the mesh parts are in- in short, when the game is rendering transparency it decides which ones are in front and which ones are behind, and combining mesh parts in Blender can rearrange that order. On a mesh this dense, it's difficult prevent all overlapping parts from looking strange (if you look at the darker part near the top of the original, you can see that the issue is actually happening there too- it just moved to another area) but you can lessen the effect. When viewed from an angle where the parts aren't overlapping, they'll look normal.

You can take the GEOM back into Blender, separate the parts that are misbehaving, and experiment with what order you re-combine them. Selecting the main mesh then the separated part and joining, or vice versa to see what order looks better ingame. Adding more/less layers of separation as needed. Make sure to clear the cache files between tests and you can import it right back into the same package after the MTNF fix*.
If desperate for the exact original look, you could try to apply what you've learned to the original mesh that wasn't separated for editing.

I had no idea that could happen! I'll experiment over the next day or so with that and report back with my results. Hopefully I'll be able to get it close enough to the original. And if that doesn't work I'll try editing the shader data too—I might also open up the original hair in S3PE to compare and see if anything was edited there by the creator (I'm assuming those values get saved rather than just resetting to zero).

And I will definitely take a look at those revamped textures to see if I feel like I need them or not Thank you for sharing!!
Back to top