Lithunwrap is good, it's free (providing you can find the latest free version), and it works nicely with milkshape, .3DS, and .X objects.
UV Mapping is a lot like oragami, like if you have an oragami crane, you could unwrap it all and flatten it out to 1 piece of square paper - that's a lot like your texture with it's UV map, the folds could be coloured in, then when you make the model again it might have coloured legs and some eyes drawn on. When you load a model into a UV mapper, it start's usually with no real UV form, so the first thing you might do is a simple plain map of the whole lot, so you know what bits are what. From this simple plain map, you need to take the data and flatten it all out onto this 1 piece of square paper and draw the object surface onto it - when viewing in 3D the model is reformed.
A box is a nice example, because often it's better to properly map a box. Typically a box will have a full UV map for each side, like each side is an entire texture. Now say this box now becomes a building, like a skyscraper, it's been stretched up a lot and a normal texture job looks daft now. You would want to concentrate on the sides, and leave hardly any detail for the top and bottom because they're not usually in view. For that job, like a tall box or cylinder I'd use a cylinder map - Lithunwrap does have a nice set of tools including cylinder mapping, it's actually one of the most usefull types of UV mapping. Really I'd take the whole lot and cylinder map using the Y axis, with a lid too - and it'd make a square lid for the top and bottom, and would unwrap the mesh around it's circumfrence - like 4 tall boxes in a row with a lit at the top. It's fairly straightforward to texture simple maps like this because you know what to expect.
Technically speaking UV maps are simple beasts, really just a 2D coordinate for each vertice in your model, and if you experiment you'll suss it all out, but it takes a lot of sussing. It helps to look at the bare bones of a mesh and what exactly it needs in DX:
* For every polygon in a mesh there's 3 vertices
* Each vertice has a 3D location
* Each vertice has it's own colour
* Each vertice has a normalisation vector telling the engine what way it's facing
* Each vertice has a 2D UV location (UVX,UVY), usually between 0.0 and 1.0
So for every vertice there is a texture location, and when 3 vertices are joined into a polygon the texture area inside the UV coordinates is pasted onto the polygon surface.
It does get complex when dealing with detailed models, especially characters as often you'll see stretching etc, this is due to the texture being applied at a funny angle, for small areas that's usually not noticable, but it can be a real pain to avoid. I like to export my texture map preview thingy as a 1024x1024 image, load into my art package as a lighten layer, and drawing the texture using it as a guide. Just using the coloured UV map as a texture can really help, but always keep a bitmap of your UV map, drawing a texture without using it as a guide is a very bad idea, and concentrating highlights etc on real poly edges will give better results.
Truly UV mapping is a skill APART from modelling, the pro modellers out there don't do their own UV mapping, they have assistants for that - I find UV mapping as big a job as modelling, it takes a lot of practice, but seriously, a good texture job can make a crap model look awesome, and a crap UV job can make a good model unusable.
Van-B
Put those fiery biscuits away!