![]() |
Mesh: All About Normals
1 Attachment(s)
This is a group effort document - primarily authored by Tiggerypum with various bits of advice and wisdom from other members. This article is going to be Milkshape/Unimesh centric, although it does also contain general information that can be applied to other programs.
What Are Normals Normals are values attached to the vertices of the meshes that let the 3D program know how light is to shine across the faces. The normals create a smoothing effect on the mesh. Here is a visual of what normals 'do'. When you first read in a Sims body mesh into your program (such as milkshape) it already has normals. If you are using Unimesh to edit, the normals will be preserved, although some editing might cause it to become necessary to adjust the normals. Editing Normals Normals can be edited by users in several ways in milkshape - they are automatically generated if 'auto smooth' is left set on (we turn it off for body editing).
If you are not using Milkshape, you will still see normals - and might have to do things like weld seams (which we now no longer do with the Unimesh plugin) or use the Filter Points command in XSI Modtool, for instance. If you create new parts for the mesh and they are black when the rest of the mesh is gray - that either means you are looking at the backfaces and need to flip them, or that the faces do not have normals (or have incorrect normals, for instance, rotating part of the mesh with 'autosmooth' off will result in bad normals) Normals and Hemlines/Edges What happens with normals and 'smoothing' is that Milkshape tries to average the normals to make a smooth transition from one face to the next. That is great for giving the rounded effect to, say, a Sims' arm. But it can cause problems with areas like hems, where two different planes do come together and touch but really are separate. If one takes a hemline and 'smooths' it, you'll get something like this: ![]() That dark shadow will show up on your sim mesh, even once it has a texture. There are a few ways you can work with normals to avoid bad shadows
|
How To Use Smoothing Groups
4 Attachment(s)
How To Use Smoothing Groups
I want to start by saying that you don't ever have to worry about this if you follow the standard procedure of not welding and not smoothing anything. However, this is good to know for those times when you do, for one reason or another, need to weld or smooth parts of your mesh. I don't know if this really qualifies as a tutorial, but actually it's pretty simple. First, keep in mind what Wes said, the Sims meshes do not have any smoothing group info, so be sure to always save your file as a .ms3d file too, to preserve any smoothing group info that you have added to your mesh. Also keep in mind that the smoothing groups are not at all connected to the mesh groups - any part of any mesh group can be assigned to any smoothing groups. For example, it would be possible to have a mesh that has only one mesh group, but still make use of all 32 available smoothing groups. Whenever you import a mesh into MilkShape, the whole thing is automatically assigned to smoothing group 1. For the most part this would work ok, but there will often be problems where your mesh makes a sharp corner, for example where the hem of a skirt joins up with the underside of the skirt. In the first pic, I have purposely caused a "normals" problem by welding together the edge of the skirt mesh with the flat "underside" of the skirt. Then I did a "smooth all". You can see the results, lots of darkened areas around trhe skirt hem and the upper legs. To fix this, I am going to assign the underside of the skirt to another smoothing group. First I select only the faces of the skirt underside - actually, since that would be rather hard to do, I really selected the faces of the entire lower skirt/upper leg area - then I unselected, by vertex, all the faces above and below the skirt underside. Anyway, what I want is to see all the faces of the underside selected, and nothing else. Next I go to the Groups tab, and in the smoothing groups section I first click the [Assign] button. Then I click the [2] button - this will assign my selected faces to smoothing group 2, leaving the rest assigned to smoothing group 1. Now, I again use "smooth all" - but look! Now the skirt looks right, no more darkened edges! That's really all there is to it. The smoothing groups can be left as-is when you do your final export of your finished mesh, they won't hurt anything at all. Additional Tips from Wes_H In the Tools menu for MilkShape is a plugin that comes as a part of the UniMesh set called "Sims2 UniMesh Identify Split Group". This identifies all the "seams" areas on a mesh. To use it, you just run the tool, and it selects all the locations that are unwelded vertice pairs. The purpose of the tools is not to identify where you should fix the Maxis model, because if you weld these locations, you will have smoothing problems. Instead, what it shows is the locations that Maxis' smoothing groups left unwelded. If you create smoothing groups for the imported model that run on the edges shown, you should be able to smooth all and even use autosmooth and still get properly shaded models. I attached a screenpic of the female gardener outfit with the Split Group tool selections shown. Note this mesh has clothing and also some object meshing for the tool belt. Using smoothing groups on the tools in the right places will help keep the sharp corners sharp instead of rounded looking. |
All times are GMT +1. The time now is 12:55 PM. |
Powered by: vBulletin Version 3.0.14 · Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.