An Intro, and General Tips

I am the sort of person who needs instructions to be given in a certain way. If the instructions I have are disordered, assume knowledge that it cannot reasonably be assumed that I have, are written in bizarre English, or only work under certain conditions, I become so annoyed that I basically cannot/refuse to follow them. This was the case for me with meshing – I was not at all able to tolerate the existing tutorials, at least not until I read an excellent tutorial about extracting game meshes and turning them into clutter that was written by Azaya at Garden of Shadows. Her tutorial made it suddenly extremely clear how and, to a certain extent, why things are done in the manner and order presented within the tutorial, and I was able to see many possibilities, which included skipping extracting meshes and just making my own right away. I am extremely grateful to Azaya for giving me the key to understanding other, less well-done tutorials that touch on more advanced topics.

Something that I seemingly have a better understanding of than do many other meshers is UV mapping. Milkshape’s UV mapping functions seem rudimentary at first glance. Instead of using the Milkshape mapper with its seemingly limited range, I initially used UVMapper and LithUnwrap to do my mapping. I got better results, but I still could not manipulate maps to get the detail I wanted.  However, again, a good tutorial gave me the key. As it turns out, Milkshape’s mapper has enough flexibility to do virtually anything I can imagine requiring of a mapping program. Once again, a well-done tutorial was the key, this time a  UV mapping tutorial specific to Milkshape written by OrangeMittens (OM) of Avalon, which I found at the Juniper Sun forum. Unfortunately, I think this tutorial is only available to registered members – but registration is painless and free. If you want to learn to UV map using Milkshape, this is a great place to start.

I am hardly an expert with Milkshape, but I can offer these vague tips about meshing as it relates to mapping.

The better you are at manipulating meshes – as in, making mesh shapes, taking meshes apart, rearranging them, putting them back together – that you’ve either obtained or actually made (yay! for making things!), the better the maps you will be able to produce. Whether you are making an entirely new mesh or editing an existing one, the more you can visualize about the finished product, the better your maps can be.

If you find a mesh online that you want to use, you will probably be able to get a much better map – and thus much greater detail in your texture – if you cut the thing up into its component parts, arrange them with their main surface facing you, and map them as separate pieces before recompiling them into an object.

This is also a good opportunity to get rid of unnecessary bits that bloat the polycount. Many furniture models are made for extremely hi-res architectural modeling. Details that don’t really show up in the Sims 2 – piping, for instance – can add thousands of polys to a mesh.  The curve of a cushion does not actually have to be all that smooth to look good in the game. If you have not discovered the use of the DirectX tool (under Tools) to reduce polys on pre-made meshes, you should definitely take some time to play with it. Note that, because this is not a “smart” poly reduction tool, it reduces overall counts and does not focus on any particularly poly-heavy areas. Using the DirectX tool on a mesh with large, low-poly areas and small areas of high-poly detail will distort or even destroy the low-poly regions while reducing the counts in the high-poly sections.  Therefore, if you cut the mesh apart and break it down into the pieces you will actually be using to reconstruct the mesh shape (which are also those that you actually need to map), the reduction efforts you make with the DirectX tool will be more effective since you’ve already reduced the counts significantly.

The options for mapping various shapes differ – a cylinder can be attractively wrapped from a single perspective; doing the same with a box will seriously distort any pattern in the texture on 4 of the 6 surfaces. The simplest shape to map, a box, is easy to align to the grid, and it’s easy to understand where its front, back, sides, top and bottom are. More complex shapes also need to be aligned to the grid in some manner, and may occasionally need to be cut into smaller pieces to get the best coverage. Although you can have only two subsets, or mesh pieces, when you import the .obj file into SimPE, keep in mind that you can have as many pieces as the situation requires while you’re doing the meshing and mapping.

I do my mapping with blocks of plain color to assign to each component of a mesh. Simple gradients are useful for determining how the map is oriented to the texture, which is especially good to know when your mesh is very complex and has a lot of parts. So long as I know that the mapping requires me to reverse an image or turn it upside down, I don’t necessarily need to make the mapped section face the “right” direction.  Stretching and distortion can and should be fixed at the meshing/mapping stage. A good way to check for distortion is to map a texture that your eye will expect to appear a certain way – a checkerboard pattern, for instance – which will make any significant deviations from the “norm” very obvious.

The actual act of meshing isn’t terribly difficult, IMO, but the mental aspect is much more involved and complex than I would have thought before I started attempting it myself. Planning ahead is always good, of course, but it’s absolutely essential with meshing and mapping if you hope to produce something that won’t piss me off when I try to recolor it. Or, you know, outcomes less specific to me.