Quick Reply
Search this Thread
Forum Resident
Original Poster
#1 Old 1st Jul 2023 at 5:48 AM Last edited by CardinalSims : 1st Jul 2023 at 7:49 AM. Reason: Screenshot fix.
PART TWO: Hair Morphs and LODs from LOD0 in Blender + Final Assembly
The continuation of TUTORIAL: Hair Creation Start to Finish (2023), separated for applicability of the following topics to unrelated projects.

This tutorial assumes you have a completed (fitted, bones assigned, in GEOM format) hair mesh, as created in Part One of the tutorial, known as LOD0.
These are the steps that are mesh-centric, with all resources being derived from this base. I will be covering the methods of simple handmade morphs and clean LODs, as well as assembling the final hair package. I might refer to concepts from Part One quite often, but I've otherwise tried to avoid leaving out any information.

Requirements:
Blender (written with 2.93)
DABOOBS
MeshToolKit

A completed LOD0 .simgeom.

LOD Index
  • Import LOD0
  • Remove Undersides
  • Create LOD1
  • Create LOD2 and LOD3
  • Export with GEOM tools

Morph Index
  • Import LOD0
  • Duplicate LOD0
  • Fit Meshes to Morph States
  • Export with GEOM tools.

Assembly Index
  • Compile Package with Delphy’s Barber Shop
  • (optional) Auto-Morph LOD1 in MTK
  • Append Morphs in MTK

LOD CREATION

Import LOD0
Import GEOM into Blender, either into your existing project or a new blend file.
Material Properties can be reapplied, if you wish to preview the hair better. I usually stay in Solid Preview, to better see the LOD destruction.
You can also note that under Object Data, the bones should be displayed as Vertex Groups.


Remove Undersides
If you’re following the tutorial, this step will be familiar. LODs come out with patchy normals (the flickering black triangles you may have seen if you have made hairs before) if you decimate a mesh that has undersides.
Refer to the Removing Unwanted Geometry section of Part One if you don’t know how to remove them.

Create LOD1
Rename the single-sided mesh to LOD1.

Make sure you're in Object Mode. Add a Modifier set to Decimate.


The Face Count displayed is your Polycount, and you want to get this to about half per LOD, give or take depending on your preferences.

There are a couple of different ways you can make cleaner LODs. A lot of tutorials admit that LODs are allowed to be ugly, but I think it’s valuable to teach you how to make them better if you want that.

1. Some players play on lower detail settings and the highest LOD for them is LOD1. It is considerate to have a ‘playable’ LOD1. You might recall many threads about why CC hair has those black triangular shadows and the solution being to use Very High Sim Detail. The solution is also to use well made CC!
2. Sims in lower detail will still be in the background of your screenshots. They’ll stand out less without visual errors.

Set Decimate to Collapse, tick Triangulate, drag the Ratio (or click and type in) to around 0.5, and preview the effects in the viewport.
Switch between Solid Preview and Material Preview, as well as switching the modifier preview on and off, to get an idea of how much unwanted destruction has occurred. Increase the Ratio, if needed, and watch for improvements.



Now, on certain meshes with less complex shapes, it might look just fine around here. You can go ahead and Apply the modifier if so.


Duplicate your LOD1 twice by selecting it in Object Mode, CTRL + C, then CTRL + V. Rename one duplicate ‘LOD2’ and hide it.
Select the other duplicate, switch to Edit Mode, and flip the normals as in the Create Underside step of Part One.


Join both sides of LOD1.


Recalculate IDs, Export GEOM, save as LOD1.


Create LOD2 and LOD3
Hide everything but the duplicate you named LOD2.

Repeat the same Decimate process to reduce the face count by half. This one will definitely be much rougher- tweak to your preference.
A hole appears on my mesh on being reduced by 0.5 again.


This can be remedied by increasing the ratio until such oddities disappear, or by creating a ‘cleaner’ LOD with a method such as I will demonstrate.



Duplicate LOD2 twice. Rename one ‘LOD3’ and hide it.
Once more, flip the normals of the other duplicate and join both meshes.

Now I have a bit of a different trick up my sleeve.
To me, a LOD3 with invisible backfaces is better than a LOD3 that has been shredded beyond recognition. And by definition, the duplicate without an underside is exactly half the face count.

…LOD3 is actually already done.
You of course don’t have to do it this way and can repeat the previous steps as normal.

Congratulations! You made all 3 LODs.
From a LOD0 with 7648 faces, I have made a LOD1 with 3824, and LOD2 with 1916, and a LOD3 with 958. Feel free to be more severe with them than I was, check EA polycounts for reference, etc.
You can also use LOD0 as LOD1 on reasonable polycount meshes, but once you know how easy it is this doesn't really save that much time.

Export with GEOM Tools
Recalculate IDs and Export GEOM on each and save under their respective names.

To finish up, repeat the SimGeom Editor Fix step from Part One on each LOD.

Letting LODs into your heart begins with acceptance...



MORPH CREATION

Import LOD0
Begin with the same LOD0 as before, in a Blender file with each of the body references as made in the Prep Tutorial .
Material Properties should be restored to view the texture, as the mesh will be directly edited here.

Duplicate LOD0
For long hair, you’ll typically want to duplicate your base mesh FOUR times. In Object Mode, select the mesh and CTRL + C then CTRL + V.
Rename them for each morph they will become.

On a short hair that only has pieces near the face, duplicating once is fine (only the Fat morph affects the face).

Fit Meshes to Morph States
Hide all meshes except the one you want to morph. I will be starting with Fat.
Hide the default/base body and unhide the Fat body. You will be able to get an idea of what parts have to move from here.


An important detail to keep in mind going forward- verts can only be moved in order for this to function as a morph mesh. No geometry can be added or deleted from these duplicates- any changes like that need to be made to the original before morphs are created. Nor should any parts be separated.
Experience with the same Blender functions as used in the Edit Mesh stage of the first tutorial are required. You can use the same set of tools outlined there, as well as demonstrated in the prep tutorial, to make changes to the mesh to fit the morph.

Note: These tools are designed to be used with a mouse, no need for a graphics tablet (I have one and do not use it for Blender work).

I predominantly use Sculpt Mode this time, for more natural movements. Most of the hard work was done making sure the original mesh fit the body to begin with.
The Grab brush and Elastic Deform brush are all you need, default strength, press F to resize the brush with your mouse movement.


Start with a large brush to make general changes and get smaller for subtle clipping. Many small clicks will move things smoother than dragging a distance all at once. You can also hold CTRL for a drag to translate as ‘towards’ or ‘away’ instead of up and down.
- Be generous with the space around the face, to allow for the way the face moves when animating.
- Problem areas to check include the back, the bust, the shoulder/clavicle, the cheeks, and the neck.
- If the ends of some parts don’t move as expected, switch to Solid preview to see sections of the mesh the Alpha texture may be hiding.


When you are done, hide your morph and repeat these steps for each of the others.
- Fit morph problem areas are the upper back, flatter chest, top of shoulder.
- Thin is generally just smaller, needs the front and back to hug the body closer.
- Pregnant morph doesn’t just change the stomach! Includes larger bust and rounded back posture.

Export with GEOM Tools
Select one morph and navigate to Sims 3 GEOM Tools under Scene Properties.
Click Make Morph, add the morph name, and link it to the original (non-duplicate) in the project.


Repeat for every morph.
Now export the ORIGINAL geom, all linked morph meshes will export with it to the same location. Do NOT Recalculate IDs.

If you overwrite your original LOD0, remember to repeat the MTNF fix on it.
When following this tutorial in the future, you technically only have to do the fix at this stage, I only included it in the first part for those who might want to test their mesh without morphs or LODs.

PACKAGE ASSEMBLY

My working philosophy when it comes to modding is to use a combination of the most reliable tools with the most modern tools, which is why I’ve strictly cut out the programs that I have and why I use some much older ones that aren’t often used in tutorials.

Compile Package with Delphy’s Barber Shop
DABOOBS is not just perfectly fine for assembly, but is infinitely more reliable than hand-importing all your resources into TSRW. Use CTU if you need a quick preview. The only thing you can’t preview are morphs, but hand-making them means you already know what they look like.
I suspect the humourous title of this tool might do it more harm than good when it comes to people feeling comfortable recommending it, so I’ll just refer to it as Barber Shop.

Here’s a rundown of the resources you should have for this stage.
LODs 0 through 3. Morphs will be applied later.


Hair Textures (Diffuse, Specular, Control, Normal) as well as Scalp and Face textures, which you can either make or export from an EA hair.

Part Three of the tutorial will cover creating a texture set, but I’m covering assembly now because for many conversion hairs you will already have this.

Open the Barber Shop, enter your Creator Name and press Start.
Give your mesh a unique name and click Next.


Double click to select all the categories that apply to your hair. These can be changed later so don’t worry about it too much, especially for expansion flags that aren’t listed.


Some Notes:
Teen through to Elder can fit the same hair, but if you want the unique grey hair thumbnail in CAS you will need to make a separate elder-only version of the hair.

Click next, and import each of your LODs, then Next again.


The texture page can be a little overwhelming.
It’s important to include a texture, or a key to an EA texture, for every single slot even though it lets you continue without some.


I personally extract and use EA textures, they aren’t very large files and it doesn’t bother me doubling them up.
I also use two tiny blank textures for when my hair doesn’t need scalp and/or face textures, which you can download here.
Use emptyOverlay for Diffuse you want to be blank and blankSpecular for Specular and Control you want to be blank.

Click Next, then Generate!, name and save your file and wait until a text output appears in the box. Then you can safely close the program.


Optional, but I preview my work in CTU. File > Open the package, then click on the Designs tab for the hair to load into the preview window.

Don’t worry about the hair looking shadowed, CTU is just showing the undersides on top. This will render fine ingame.

You can add/change the category flags with S3OC, or manually in S3PE, if needed.
The main hair CC is complete, and all that is left is to attach the morphs.

Auto-Morph LOD1 in MTK
Optional.

While I’m not a fan of auto-morphing my entire project, there is no better reference for one than a handmade morph. I make LOD1 morphs this way.

In MeshToolKit, Auto tools for Geom > Auto-create Morph Mesh
As the mesh to morph, select your LOD1.
As the reference base, select your LOD0.
As the reference morph, select a morph made in the earlier section.
Click Create Morph Mesh and save with the morph name ie LOD1_fat.


Swap the reference morph and Create Morph Mesh again for every morph you have.
Quick and easy, and to the same accuracy as your handmade ones.

Append Morphs in MTK
Lastly, you can also use MTK to simply attach morph meshes without having to mess around with a single .wso.

Package Tools > Add Morphs to Clothing/Hair
Open the package you assembled in the Barber Shop.
Choose GEOM as the source, select what morph you are adding, and make sure both checkboxes are unticked.
You may have to resize the window to see the Select File option for the morphs- they should be self explanatory.


Import the LOD0 morph and the LOD1 morph if you made one in the previous step.
Click Add Morph to Package.
Repeat for each, changing the Morph setting each time, then click Save Package.

A note on ‘Add as Morph Meshes?’:
This option adds a morph as GEOM instead of a BGEO. I can’t find any drawback to using BGEO, so it is fine to leave this unticked.
If you’d like to copy the way EA does it, however, GEOM morphs are usually used for short hairs that only have the fat morph! I like to tick this option when that is the case.

You can safely close MTK.

PART TWO COMPLETE

Your hair is complete to a EAxis and beyond standard of quality
You now know how to make a hair that is fully fitted with bones, LODs, and morphs. It only gets easier with practice.

For the retexturers, this tutorial will pick up in
PART THREE: Complete Hair Texture Set from Diffuse in Photoshop/GIMP
Advertisement
Lab Assistant
#2 Old 26th Aug 2023 at 11:55 PM
Thank you so much for this tutorial!! Did you end up making a part 3/tutorial for hats with hairs? This was super useful and I’d love to see more tutorials
Forum Resident
Original Poster
#3 Old 27th Aug 2023 at 2:05 AM
Quote: Originally posted by chocoberrychoco
Thank you so much for this tutorial!! Did you end up making a part 3/tutorial for hats with hairs? This was super useful and I’d love to see more tutorials


Thank you for letting me know it was useful!
I have quite a few extras written in part, but yet to take screenshots and format it all. Now that I know there's interest, I'll definitely bump it up my to-do list
Lab Assistant
#4 Old 27th Aug 2023 at 6:28 AM
Quote: Originally posted by CardinalSims
Thank you for letting me know it was useful!
I have quite a few extras written in part, but yet to take screenshots and format it all. Now that I know there's interest, I'll definitely bump it up my to-do list


No rush! I was just so excited to see a nice modern tutorial covering this all since so many tutorials are kind of old by now
Test Subject
#5 Old 7th Aug 2024 at 11:15 AM
Expecting part three! Really appreciating your detailed tutorials!
Test Subject
#6 Old 27th Sep 2024 at 8:07 PM
this has been amazingly helpful!! thank you so much for this series! would definitely love to see a part 3, and any tips for hat hairs, as i've been meaning to make one
Test Subject
#7 Old 26th Oct 2024 at 3:04 AM
Hi, amazing guide. I am attempting to convert a sims 4 clay hair to sims 3 following this tutorial, but I seem to run into issues when trying to use the GEOM tools blender addon. I am currently trying to create the morphs, however I get an error that reads:

Python: Traceback (most recent call last):
File "C:\Users\gamer\AppData\Roaming\Blender Foundation\Blender\3.6\scripts\addons\io_simgeom\operators.py", line 116, in execute
for prop in o.id_data.keys():
RuntimeError: IDPropertyGroup changed size during iteration

I have no idea what this means. I was wondering if you could help me? If not, I completely understand.
Forum Resident
Original Poster
#8 Old 26th Oct 2024 at 3:46 AM
Quote: Originally posted by willow_nelu
I have no idea what this means. I was wondering if you could help me? If not, I completely understand.


Hi!

Are you getting that error when clicking Make Morph, or when exporting?
I usually run into GEOM Tools errors if I forget to switch back to Object Mode. If it's happening on export, you may want to test without making any changes to make sure it's not one of the edits causing it.
If that doesn't help, it could also be a version issue. Try installing Blender 2.93 and see if it works, just in case something was broken in the 3.x+ update

Cardinal has been taken by a fey mood!
Test Subject
#9 Old 26th Oct 2024 at 7:45 AM
Quote: Originally posted by CardinalSims
Hi!

Are you getting that error when clicking Make Morph, or when exporting?
I usually run into GEOM Tools errors if I forget to switch back to Object Mode. If it's happening on export, you may want to test without making any changes to make sure it's not one of the edits causing it.
If that doesn't help, it could also be a version issue. Try installing Blender 2.93 and see if it works, just in case something was broken in the 3.x+ update


Thank you for such a quick reply! I have actually gotten a different error when trying to export the Geom as well. Although, the error I posted about in the reply occurred when I clicked on Make Morph. I honestly don't know what it could be that's causing the errors...I'll definitely try out your tips. Thank you, again.
Test Subject
#10 Old 26th Oct 2024 at 10:36 AM
Quote: Originally posted by willow_nelu
Thank you for such a quick reply! I have actually gotten a different error when trying to export the Geom as well. Although, the error I posted about in the reply occurred when I clicked on Make Morph. I honestly don't know what it could be that's causing the errors...I'll definitely try out your tips. Thank you, again.


Sorry to bother you again, but I've run into the same error I had before the one about making the morphs. When I try to export my LOD1 an error prevents me from doing so. It states "One or more vertices are assigned to more than 4 vertex groups, export cancelled!" For context, I am trying to convert a long clay hair from the sims 4. I tried this in blender 2.93 as well as a few others, but I always seem to run into errors no matter what. It allows me to export my LOD0, although after doing everything that follows (assigning bones, etc.) the mesh seems to move out of place and some sort of error follows me into the next steps. I would've loved to make it work, but it seems like it's not going too . I'd appreciate any help I can get, but, once again, I completely understand if you can't.
Forum Resident
Original Poster
#11 Old 27th Oct 2024 at 1:18 AM
Quote: Originally posted by willow_nelu
It states "One or more vertices are assigned to more than 4 vertex groups, export cancelled!"


No worries!
This one is actually a different error, and one that I'm familiar with. This is just bone assignments being scrambled on the LODs, you can fix it by going into the Object Data tab (green triangle icon) and removing all the Vertex Groups with the minus button. When all your LODs are done, use MeshToolKit to copy the bones from your LOD0 back onto each of them.
I have a big update to this tutorial in the works, so it's not your fault that it currently mentions bones when it's better to do these steps before the mesh has them.

Running into one error repeatedly can be tricky to narrow down, but if it's slightly different each time there is often more information to know what happened
I'm always glad to help, it helps me iron out the bumps in the guide before I update it.

Cardinal has been taken by a fey mood!
Test Subject
#12 Old 27th Oct 2024 at 3:43 AM
Quote: Originally posted by CardinalSims
No worries!
This one is actually a different error, and one that I'm familiar with. This is just bone assignments being scrambled on the LODs, you can fix it by going into the Object Data tab (green triangle icon) and removing all the Vertex Groups with the minus button. When all your LODs are done, use MeshToolKit to copy the bones from your LOD0 back onto each of them.
I have a big update to this tutorial in the works, so it's not your fault that it currently mentions bones when it's better to do these steps before the mesh has them.

Running into one error repeatedly can be tricky to narrow down, but if it's slightly different each time there is often more information to know what happened
I'm always glad to help, it helps me iron out the bumps in the guide before I update it.


Thank you so much for your help! I'm finally at the point of putting the package together! I'm so glad I was able to do everything else after so many tries. And thank you for your tutorial! I hope all goes well working on your update. I'll be sure to read it when it's completed!
Scholar
#13 Old 27th Oct 2024 at 5:43 PM
Quote: Originally posted by willow_nelu
Sorry to bother you again, but I've run into the same error I had before the one about making the morphs. When I try to export my LOD1 an error prevents me from doing so. It states "One or more vertices are assigned to more than 4 vertex groups, export cancelled!" For context, I am trying to convert a long clay hair from the sims 4. I tried this in blender 2.93 as well as a few others, but I always seem to run into errors no matter what. It allows me to export my LOD0, although after doing everything that follows (assigning bones, etc.) the mesh seems to move out of place and some sort of error follows me into the next steps. I would've loved to make it work, but it seems like it's not going too . I'd appreciate any help I can get, but, once again, I completely understand if you can't.


I'm not sure how this would work using @CardinalSims hair creation methods, but that error is also covered by @Thornowl in the no Milkshape tutorial, which helped me out on garments. I know for garments, this works... In weight paint mode, click weights, then limit totals.

Shiny, happy people make me puke!
Forum Resident
Original Poster
#14 Old 28th Oct 2024 at 2:51 AM
Quote: Originally posted by LadySmoks
I'm not sure how this would work using @CardinalSims hair creation methods, but that error is also covered by @Thornowl in the no Milkshape tutorial, which helped me out on garments. I know for garments, this works... In weight paint mode, click weights, then limit totals.

When doing bones manually, yes.
But the reason the error appears during the LOD process is from decimating while there were bones assigned, causing them to get scrambled around. The resulting assignments wouldn't be desirable even if they're limited to 4 again, so it's more appropriate in this context to remove them for now.

LOD steps will be moving into Part One with the update, and should be less confusing than the original method here But there are so many screenshots to take and edit! So it's slow going

Cardinal has been taken by a fey mood!
Scholar
#15 Old 28th Oct 2024 at 4:22 PM
Quote: Originally posted by CardinalSims
When doing bones manually, yes.
But the reason the error appears during the LOD process is from decimating while there were bones assigned, causing them to get scrambled around. The resulting assignments wouldn't be desirable even if they're limited to 4 again, so it's more appropriate in this context to remove them for now.

LOD steps will be moving into Part One with the update, and should be less confusing than the original method here But there are so many screenshots to take and edit! So it's slow going


Ah, well yes... I guess that with 99% of garments I do, they require hand painted bones, and use of bone smoothing, etc. I have used limit totals on L0 hairs after painting, but my work flow on lesser LODs is thru object, either decimate, unsubdivide or BalancerNPro. That's why I wasn't sure if "limit" would work with lesser LOD geom bones. It makes sense now. )))

Shiny, happy people make me puke!
Back to top