Replies: 17 (Who?), Viewed: 12463 times.
Field Researcher
Original Poster
#1 Old 20th Oct 2012 at 2:31 AM Last edited by sciguy77 : 21st Oct 2012 at 3:46 AM.
Default Using lod1 to create WSO medium and low detail meshes with all morphs in Milkshape
I've used this method several times now, and so far it's worked very well for me. Hope it helps!

I STRONGLY suggest using a completely corrected lod1 (morphs included) as your reference mesh. If the morphs have problems they will get copied into your new lod, doubling the work you'll have to do to fix everything. Once you've completed lod1, the hard work is done. Follow these steps to create lod's 2 and 3 complete with all morphs.
You should be somewhat familiar with the features of Milkshape before trying this. I've been as descriptive as I could about where all the tools are located but you DO NEED a little meshing experience.
Although basic NORMAL ALIGNMENT is discussed, better results are definitely possible. The CREATE SMOOTHING GROUPS will recover the normals for large, even surfaces, but you're going to end up with dark areas that really need to be corrected for professional-looking results. I'm still looking for a good, easy way to accomplish this myself.

Tools you'll need:
Milkshape 3D's .WSO Plugins
CmarNYC's MESH TOOLKIT
Demin432's ALIGN NORMALS TOOL
Wes Howe's Unimesh Plugins for Milkshape

Steps 2 through 6 were taken directly from Bloom's tutorial for making lower lod's for GEOM based meshes, available HERE

1. If they aren't already installed, load the ALIGN NORMALS TOOL, UNIMESH PLUGINS FOR MILKSHAPE, and TSRW's WSO PLUGINS into Milkshape 3D.
2. Import your lod1 base mesh. If the base is a WSO file, delete all of the morphs. There should be only 1 mesh at this point. Select it under the GROUPS tab
3. Go to the MODEL tab and click SCALE. Be sure to select ORIGIN, and type 10000 into the X, Y, and Z boxes. Scale the model up. The model will disappear from view – don't panic – this is normal!
4. Go to the Milkshape VERTEX tab and select WELD TOGETHER (1)
5. Under the TOOLS menu, open DIRECTX TOOLS and move the slider to around 50% of the original poly count to make lod2, around 25% for lod3. If the mesh already has an unmodified lod, use it's count as a reference. (2) Hit SAVE.
6. Under the TOOLS menu, select MODEL CLEANER. You may (or may not) be asked if you want to clone materials, select NO. You will next be asked if you want to separate the verts, select NO. The next popup will tell you the results of the process, click OK.
7. Under the GROUPS tab SELECT the model again. Go to the MODEL tab and click SCALE. Be sure ORIGIN is still selected and type .0001 into the X, Y, and Z boxes. Scale the model back to its original size. If your model didn't reappear a couple of things may have gone wrong. If you see an image of red dots with the rest of the wireframe disappearing off the screen, only the vertices were selected. Use CTRL+Z to go back a step, SELECT the entire model under the GROUPS tab and try scaling again. If the model didn't show up at all, SELECT the model one more time under the GROUPS tab and SCALE it again. If the model still doesn't reappear, something went wrong somewhere – best to start over.
8. The model is now all black. Under the TOOLS tab select the SIMS2 UNIMESH MAKE SMOOTHING GROUPS. Give it time to process.
9. At the bottom of the GROUPS window you'll see the Smoothing Groups panel. Make sure SELECT is ticked. Click on #1 and the model should be completely unselected.
10. Click on #2. An area of the model will be selected. Go to the VERTEX dropdown menu and select ALIGN NORMALS. That portion of the model will show it's texture again. Repeat for every SMOOTHING GROUP number that selects a piece of the model. The total number will vary from model to model depending on how many SMOOTHING GROUPS were created in step #8. When finished, the model should have all of its textures showing up. If certain faces are still too dark, select them and use the ALIGN NORMALS tool to fix them individually. (3)
11. Select the entire mesh from the button at the top of the GROUPS tab. Back at the SMOOTHING GROUPS panel, select the ASSIGN tab. Click on the #1 (4)
12. This is the new base for whatever lod you're making. Rename it group_base (all lower case with the underscore between the words. This is really important)
13. Export your new mesh as a TSRW OBJECT under the FILE dropdown. You may need to scroll down to find it. Name it whatever you want.
14. Open MESH TOOLKIT (make sure you have the most current version. As of 10/14/2012 its version 1.2.0.2) and pick the AUTO TOOLS FOR WSO.
15. Under the AUTO-CREATE MORPHS tab, put your new lod into the WSO MESH TO MORPH slot. Put the lod1 for the mesh into the REFERENCE WSO MESH slot. Leave the DO INTERPOLATION option ticked and then hit CREATE MORPH MESHGROUPS. Name it. To avoid confusion I'd suggest saving over top of the file you created in step #13, but you can name it whatever you want.
16. Go to the AUTO-ASSIGN BONES tab. Put your newly created lod in the WSO MESH TO MODIFY slot. Select a similar item for the REFERENCE MESH. Lod1 is the most obvious choice. If you've elongated a shirt or dress, added sleeves, etc – choose a reference mesh that also has those items to avoid clipping and animation problems. If you haven't updated lod1 by now, this is the perfect time to go ahead and do it too. You want to make sure REPLACE ALL BONE ASSIGNMENTS and DO INTERPOLATION are both checked. Select DO ASSIGNMENTS AND SAVE. This is your completed lod with all morphs included in the .wso file. (5)

The more complex your original mesh is, the more risk you run of having problems with the morph meshes. Layered items are especially prone to the underlying items and backfaces showing through the mesh surface. Open the new lod in TSRW and move the sliders around under the "MESHES" tab. Tweak the new morphs until everything looks nice and clean. When the package is complete do the same with the different body sliders in-game. It's better to find and fix problems now than waiting until a problem pops up during gameplay. If you've included a pregnancy morph, an awesome tool to help check it for errors is Cmar's "Pregnancy Progress Controller - new version 9/16/2012"

(1) Welding the model before using DirectX Tools will prevent seams from splitting apart.
When you select parts of a mesh (especially high polygons) and use the weld option there is a high risk that vertices close to each other will snap together. (Milkshape is designed this way). To avoid that scale the mesh bigger (the bigger the better).

(2) You can get the face count from a lower lod by importing it into MS and then SELECTing the model in the GROUPS tab. Next, pick the MODEL INFORMATION V1.7 option under the TOOLS dropdown menu. In the window that pops up there's an area that tells you the total FACES and VERTICES of the selected model.

(3) Sharp edges should be separated before aligning the normals. The tool will try to make the sharp edge into a smooth surface and will probably creates some ugly dark regions if you don't separate selections at sharp edges. Try to keep everything in your selection on the same plane like the front of a shirt, or a smooth rounded surface like the neck or leg.

(4) This combines all of the separate smoothing groups into a single group. Multiple groups will cause problems in the next steps so get rid of them!

(5) DirectX Tools erased all bone assignments back in step 5, this puts the bone assignments back.
Advertisement
Ms. Byte
staff: moderator
#2 Old 20th Oct 2012 at 3:27 AM
Very nice! I had never thought of using lod1 as the reference for a new lod2 and 3 in the auto morphs tool, but it makes perfect sense. I'm curious why you didn't say to use lod1 as reference for bone assignments, though.
Field Researcher
Original Poster
#3 Old 20th Oct 2012 at 5:15 AM
Quote:
Originally Posted by CmarNYC
I'm curious why you didn't say to use lod1 as reference for bone assignments, though.

I think I was having brain cramps. After what I went through trying to get the joint at the waist for my stretch top I was in FIND SOMETHING THAT WILL WORK mode. Lod1 is the most obvious choice -- I'll edit it.
Sockpuppet
#4 Old 20th Oct 2012 at 9:24 AM
it depends, no idea if they use the same assignements on the seams?
Other then that its perfect cos the vertices have identical positions
Ms. Byte
staff: moderator
#5 Old 20th Oct 2012 at 2:15 PM
To the best of my knowledge the reference mesh should have identical bone assignments on seams or the seams will split in morphs and animations. (I've seen this happen.) The mesh getting auto assignments should then get the same identical assignments.
Sockpuppet
#6 Old 21st Oct 2012 at 12:23 AM
i tried the steps you described in 8, 9 and 10 cos i thought that would create smoothing groups i could use to fix the normals after using the direct x tool?(no idea why you take these steps otherwise?)
But it messes up the normals same way as autosmooth does.

I tried a few 3d programs and the only format i found sofar that keeps the normals on export/import and after optimizing(or direct x tool) is the fbx format
Forum Resident
#7 Old 21st Oct 2012 at 1:06 AM
What is the point of #3? Why blow up the model only to re-size it later?
Sockpuppet
#8 Old 21st Oct 2012 at 1:58 AM
so vertice close to eachother dont snap(Milkshape does that), i always first check the number of faces before i weld.
If after welding the poly's changed you have to scale up first.

Quote:
When you select parts of a mesh (especially high polygons) and use the weld option there is a high risk that vertices close to each other will snap together. (Milkshape is designed this way). To avoid that scale the mesh bigger (the bigger the better).
Field Researcher
Original Poster
#9 Old 21st Oct 2012 at 3:20 AM Last edited by sciguy77 : 21st Oct 2012 at 2:28 PM.
Quote:
Originally Posted by BloomsBase
i tried the steps you described in 8, 9 and 10 cos i thought that would create smoothing groups i could use to fix the normals after using the direct x tool?(no idea why you take these steps otherwise?)
But it messes up the normals same way as autosmooth does.

I tried a few 3d programs and the only format i found sofar that keeps the normals on export/import and after optimizing(or direct x tool) is the fbx format


I'm still learning how to adjust normals myself -- Create Smoothing Groups is the tool I used as I was/am learning how to deal with them. Footnote 3 talks a little bit about dealing with the dark areas, but even that doesn't always give good results. It's why I said at the beginning of the tut that better results are definitely possible and that fixing normals really isn't in the scope of what this is all about. Normals still give me problems. The REGROUP tool will allow you to make the lower lod's look just like lod1, but its messy and time consuming. Select an area that's dark, REGROUP it, and then align its normals. If there's still a dark area, regroup it into a smaller piece, separating the sharp edges. Sometimes I'll end up with a single triangle in a group of its own. The shirt I did had a ridiculous amount of sharp edges where it was split open and all around the collar area, and separating the turned-in area from the mesh wasn't a very easy thing to do until I learned how to use the Select Faces by Vertex and then Select Invert to get that darn thing into its own group. When all of the dark areas are gone, regroup the entire mesh back into 1. To make matters even more confusing, it gets really messy when you have 5 meshes PLUS a long list of Regrouped faces in the Groups box. Regrouping also screws with bone assignments. It may be the way I fix the dark areas, but I really didn't want to pass on any of my bad habits to someone learning how to mesh. Maybe someday when I figure out how to get really good results with recovering normals after using the DirectX Tools I'll share that with the world. Until then, at least this will let new creators continue with their first projects with halfway decent results. Maybe Cmar can include a "Copy Normals" in the next version of MESH TOOLKIT (hint hint).
I'm going to expand my Normals disclaimer at the beginning of the tut urging people to look for other ways to recover the normals.
The more I think about it, the more I think that passing on the REGROUP method of recovering normals may be worth sharing. It may not be the best way to get the normals into shape, but it does work and for those of us that have no other way to fix them, at least it's a option.

The only 3D program I have is Milkshape 3D. Does it support the FBX format? Sounds like something I'd really like to have!
Field Researcher
#10 Old 4th Jan 2013 at 7:27 PM
Wonderful thank you x 1000000000
Sockpuppet
#11 Old 4th Jan 2013 at 10:17 PM
Another method you might want to experience with is to scale the mesh alot smaller and then use the weld together option to reduce the ammount of poly's.
I use it for objects with more complex normals that are hard to fix(you dont lose the normals that way)
It is wise to use the clean options after tho

For GEOMs it might give better results arround the hands and bending area's, got to try.
Field Researcher
Original Poster
#12 Old 5th Jan 2013 at 3:49 AM
Another amazing tip pops out of Bloom's brain. I never thought of scaling a model down and welding it together to reduce the poly count without losing the normals. I have a perfect candidate to try this out on! A simple frilly skirt I started on a while ago has become a 10,000 poly full body behemoth! It looks great, but it's way to big to be practical. Can't wait to give this a try ---
Field Researcher
#13 Old 22nd Jan 2013 at 8:34 PM
I make all my lods this way now
Test Subject
DELETED POST
27th Jul 2013 at 10:46 PM
LOD2 Issue
This message has been deleted by AuntieMame. Reason: Figured it out. :-)
Lab Assistant
#14 Old 19th Jan 2014 at 4:13 AM
Thank you so much for the tutorial, It helped me a lot, but I'm still having problems T_T

Even doing exactly what it says here, I have one region that is always separated/splitted:
http://24.media.tumblr.com/14286e6b...to4_r1_1280.jpg

This also happens when I test with the original game mesh with no modifications.

Someone have an idea why this is happening? Thanks.
Field Researcher
Original Poster
#15 Old 19th Jan 2014 at 8:29 AM
Turn the wireframe overlay on and make sure there are verts that can be snapped together. My guess is one of the faces got subdivided somewhere along the way and there's an unmatched vert on one side of the gap. If the original is that way, you'll have to fix the base group in LOD1 and create its morphs again. When you do that, use the one with the gap as a reference mesh in ToolKit.
Lab Assistant
#16 Old 23rd Jan 2014 at 4:16 PM
I don't know how... But I did it. thank you so much for your reply.

But unfortunately my neck and legs didn't match. Even using the original lod1 or the lod2 as reference
I'm done for today... I finally tought I would finish it, nvm T_T
Field Researcher
Original Poster
#17 Old 24th Jan 2014 at 9:10 AM
Quote:
Originally Posted by apocraphex
But unfortunately my neck and legs didn't match. Even using the original lod1 or the lod2 as reference

When you say they don't match, do you mean the shading is off or they don't line up?
If its a mesh problem, load a default Maxis mesh and copy the positions and normals from the neck and legs onto your mesh. Place the EA mesh above yours in the GROUPS tab, select both yours and the default vert one pair at a time, hit the C key to align them and then the N key to copy the normals. Each ankle has 8 verts and I THINK the neck has 12. So you'll have to work with 28 pairs of verts, one pair at a time.
Missing bones can also cause the ankles and neck to look misaligned. Make sure they're assigned. CmarNYC's MeshToolKit will do this automatically for you. Both of these things are easy fixes, and a final step you'll always have to take when finishing a project.
Field Researcher
#18 Old 11th Feb 2014 at 3:47 AM
Thanks for the tutorial dude, it works 'swell on my Frankensteined Peter Pan collar dress.
Back to top