Smoothing groups are collections of faces that are meant to be treated as a smooth, curved surface with the other faces in that same group. Most 3D programs that aren’t top-level industry products offer smoothing groups as a means of ensuring that curved edges are rendered smoothly, usually by use of lighting tricks such as Gouraud shading. Autodesk 3DS Max, Milkshape 3D, and Blender are amongst many that use the smoothing technique.
Failure to specify accurate smoothing groups can lead to dark and unsightly shadows on your meshes when you weld the vertices together, and this WILL show in the game too! Leaving vertices unwelded increases your vertex count, which in turn requires more memory to be rendered, so make use of smoothing groups when available to optimize your mesh properly.
Cylinder 1
This cylinder has not been smoothed at all, every face has its own hard edge. This is fine if the result you desired, otherwise you need to add the curved part of the cylinder to a smoothing group and weld the vertices together.
Cylinder 2
The second cylinder HAS been welded together, but because the curved part has not been placed in a separate smoothing group from the end caps, the application is trying its best to render the entire shape as a curved object (like a ball). However, the angle of the caps is too great to be smoothed into a curve with the tube part of the cylinder, and so the smoothing and lighting fails completely. If this mesh was put into the game, the shadows would remain.
Cylinder 3
The third and final cylinder has been welded together and divided into correct smoothing groups. The curved part of the cylinder has been placed in one smoothing group, and the end caps in another, ensuring that the 3D program does not try to render a smooth edge between end caps and tube.
The second image shows the smoothing group panel in Milkshape 3D:
o Select a collection of faces that are to be curved together
o Click the ASSIGN button if it isn’t highlighted already
o Pick a number to store the faces
After doing this, nothing appears to happen, but that’s fine. Once you’ve placed all faces into different smoothing groups, select the entire mesh and weld the vertices together. If your smoothing groups are correct, you’ll have no dark shadows, smooth curves and your vertex count will be greatly reduced too!
Warning! The Sims 3 WSO format does not store smoothing group information. Occasionally, the OBJ format can drop them too. Therefore, it’s always important to save a smoothed copy of your mesh in your program’s native file format (MS3D for Milkshape users) otherwise you will have to do all this work over again. Also save a copy of your smoothed low-detail mesh.
To see how your mesh has been divided into smoothing groups, right-click Milkshape’s 3D window and click COLORED SMOOTHING GROUPS from the pop-up menu.
Only 32 smoothing groups in Milkshape
Once you’re familiar with dividing your mesh into smoothing groups, you soon realize that you’re quite limited on the number of smoothing groups. However, you can add disconnected groups of faces to a single group (they must not be connected otherwise your program will try to “smooth” them into a curve). For example, select all front facing flat faces and add those to a single smoothing group. Repeat this for left-facing polys, right-facing, top and bottom facing polys. This will use up 6 different groups, but leaves the remaining 26 groups free for all your curved shapes.
Notes
Smoothing groups are not connected to mesh groups. For example: parts of Cylinder 2 and Cylinder 3 could be added to a single smoothing group if their faces were to be molded together in a smooth curve.
Using the DirectX Mesh Tools in Milkshape to reduce polygon count will lose all smoothing groups. You will need to redo these, as well as re-assign your vertices to joints (see How do I assign my vertices to joints in Milkshape?).
For an introduction to meshing, see our Object Creation Part 1: The Beginner’s Guide To Meshing.